본문 바로가기
728x90
반응형

자바51

[JPA/JAVA] 영속성 컨텍스트 영속성 컨텍스트는 JPA에서 나오는 개념이다 JPA를 이해하기 위해서는 가장 중요한 2가지 개념이 있는데 하나는 객체와 관계형 데이터베이스 매핑하기(Object Relational Mapping) 두 번째는 바로 영속성 컨텍스트가 있다. 영속성 컨텍스트를 이해하는 것이 실제로 JPA가 내부에서 실제로 어떻게 동작하는지 이해하는데 가장 큰 중요한 대목이 될 것이다. 영속성 컨텍스트를 이해하기 위해서는 엔티티의 영속을 관리하는 엔티티 매니저와 엔티티 매니저를 관리하는 엔티티 매니저 팩토리를 이해할 필요가 있다. 엔티티 매니저 팩토리는 들어오는 요청에 따라 엔티티 매니저를 생성한다. 그리고 엔티티 매니저는 영속을 위해 데이터베이스와 연결하기 전, 커넥션 풀을 사용하여 영속을 준비한다 (persist) 영속성 .. 2023. 1. 11.
[Spring boot] IDE 없이 jar파일 기동시키기 (1) 프로젝트 파일이 있는 위치로 가기 필자의 PC에서는 C:\DEV\SpringBoot\hello-spring 위치에 있음 cd "프로젝트의 디렉토리" ls (2) gradle 빌드하기 프로젝트 디렉토리의 위치에서 ./gradlew build 실행 ls 후 cd build ls cd libs 후 ls (3) jar파일 실행하기 java -jar hello-spring-0.0.1-SNAPSHOT.jar 명령어 실행하기 ※ build가 잘 안됐을 경우?? 프로젝트의 최상위 디렉토리로 가서 ./gradlew clean build 실행하여 기존에 빌드했던 파일을 지워주고, "프로젝트 최상위 디렉토리"/build/libs에서 java - jar "~~~~~~~~SNAPSHOT.jar" 실행하기 2022. 8. 22.
[java/개념] 세마포어(Semaphore)와 뮤텍스(Mutex) 참고 자료 1) 우테코 : https://www.youtube.com/watch?v=oazGbhBCOfU 2) 세마포어 자바소스 : https://blog.naver.com/vanillasea81/220405264484 이번 포스팅은 세마포어(Semaphore)와 뮤텍스(Mutex)에 대해 알아보겠습니다. 먼저 세마포어와 뮤텍스에 대해 알아보기 전, 몇가지 알아봐야할 것이 있습니다. 1. 교착 상태 두 가지 이상의 작업이 서로 상대방의 작업이 끝나기를 하염없이 기다리는 상태를 말한다. 서로 사용할 수 있는 공유된 리소스(종이, 연필) 등을 공유 자원 혹은 임계 영역이라 한다. 2. 임계 영역 임계 영역은 작업들이 리소스를 같이 사용할 수 있는 공유 자원이 있는 곳이므로 한 작업이 자원을 점유하면, 다른 .. 2021. 11. 6.
[Java/JPA] JPA 개념 JPA(Java Persistence API')는 자바 ORM 기술에 대한 API 표준이다. ORM이란, 'Object Relational Mapping'의 약자로 객체와 관계형 데이터베이스를 매핑해주는 것을 말한다. ORM 기술이 등장한 계기는? 1) 개발자가 SQL을 매핑하는 역할을 반복해야함 : 자바 객체를 SQL을 통해 데이터베이스에 관리하게 하고, 데이터베이스에 저장된 데이터를 자바 애플리케이션에서 사용하려면 SQL을 통해 다시 자바 객체로 변환하는 반복적인 작업 2) 객체와 관계형 데이터베이스의 패러다임의 불일치 : 자바는 객체지향 패러다임, 관계형 데이터베이스는 데이터를 정규화해서 잘 보관하는 것을 목표로 함. : 객체를 DB에 넣기 위해서는 SQL 문을 통해 변환해서 저장, 데이터베이스에서.. 2021. 10. 15.
[Spring Framework] DI(Dependency Injection : 의존성 주입)와 IoC(Inversion of Control : 제어의 역행) https://www.youtube.com/watch?v=GKoCibDM6Ns 참고 동영상 : SKplanet Tacademy 1. IoC IoC의 개념 IoC(제어권의 역전)이란, 객체의 생성, 생명주기의 관리까지 모든 객체에 대한 제어권이 바뀌었다는 것을 의미 ※ 컴포넌트 의존관계 결정 (Component dependency resolution), 설정(configuration) 및 생명주기(lifecycle)를 해결하기 위한 디자인 패턴(Design Pattern) IoC가 아닌 경우는 개발자가 직접 객체들을 생성하는 작업들이 있다. Object o1 = new Object(); Object o2 = new Object(); IoC인 경우, 프레임워크에서 제공하는 컨테이너가 객체를 생성해서 개발자의.. 2021. 10. 1.
[java] Garbage Collector(GC) - 가비지 컬렉터 우아한 테크 참고 동영상 : https://www.youtube.com/watch?v=Fe3TVCEJhzo 가비지 컬렉터란? 가비지 컬렉터가 Sweep 하는 것 Mark and Sweep(GC 작동 방식) 가비지 컬렉터 작동 시점 가비지 컬렉터 특징 가비지 컬렉터 종류 1. Garbage Collector(GC) - 가비지 컬렉터란? : JVM의 Heap 영역에서 사용하지 않는 객체를 삭제하는 프로세스를 말함 Stack 메모리에는 int, char, double 형 자료형 변수들이 들어가고 Heap 메모리에는 String, List 등 Object형 인스턴스들이 들어간다. 2. 가비지 컬렉터가 Sweep 하는 것 어떤 객체에 유효한 참조가 존재하면 Reachable, 그렇지 않다면 Unreachable이.. 2021. 9. 18.
728x90
반응형