본문 바로가기

Java7

왜 JPA를 선택해야하나? 왜 JPA를 선택해야하나? 예전에 학교에서 DB를 공부할때 객체를 어떻게 DB에 반영해야할지 어려워했었는데..JPA라는 좋은 기술을 알게되어 왜 JPA가 등장했는지 JPA가 어떤장점이있는지 정리해보고자한다. SQL에 의존적인 개발의 한계 대부분의 개발은 객체지향으로 이루어진다. DB를 이용하기 위해선 객체를 DB에 넣어서 관리해야한다. 데이터베이스의 세계의 헤게모니는 바로 관계형 DB이다. [MSSQL 등] 객체를 관계형 DB에 저장해서 사용해야한다는 말인데, 문제는 SQL이다. 관계형 DB는 SQL을 통해 동작한다. 결국 자바 객체를 SQL로 바꾸고 SQL을 자바객체로 다시 바꾸는 비효율적인 반복작업이 필요하다. 관계형 DB의 프로시져 같은걸로 어느정도 해결할수도 있겠지만 어쨋든 한번은 작성해야한다는것.. 2022. 1. 5.
Enum 리마인드 Enum 자바에서는 final로 자료형을 상수(constant)로 만들 수 있지만, 어떤 집합이 모두 상수로만 이뤄져있다면 그 집합은 굳이 class로 선언할 필요가 없습니다 이때, enum으로 선언하면 이 객체는 상수의 집합 이라는것을 명시화할 수 있습니다 Enum의 특징 1. 객체를 상수처럼 사용할수있다 public enum Game { //상수객체 LOSE(-10,"hong"), //클래스 로드 시점에 생성 고정 Win(20,"kang"); private final int score; private String MVP; public int getScore(){ return score; } Game(int score,String MVP){ //암묵적으로 private this.score=score; .. 2021. 11. 23.
Spring 동시요청 처리 서비스를 배포하게 되면 여러 클라이언트에서 서비스를 이용할것이다. 동시 요청을 받게 될텐데 어떻게 해결하는지 알아보자. java spring은 멀티쓰레드를 이용하여 동시요청을 처리한다. 쓰레드는 한번에 하나의 코드라인만 수행한다. 동시처리를 위해서는 쓰레드를 추가하여 멀티쓰레드로 활용해야한다. 멀티 스레드 WAS는 요청시 쓰레드를 할당하여 로직을 수행하여 응답해준다. 만약 쓰래드가 한개라면 할당된 쓰래드의 로직 수행이 지연되면 그사이 들어오는 새로운 요청들은 모두 마비상태가 된다. 쓰래드를 적절히 추가 생성하여 동시요청을 동시처리 하도록 한다. 장점 • 동시 요청을 처리할 수 있다. • 리소스(CPU, 메모리)가 허용할 때 까지 처리가능 • 하나의 쓰레드가 지연 되어도, 나머지 쓰레드는 정상 동작한다. .. 2021. 11. 17.