본문 바로가기

Java6

JPA(Java Persistence AP) JPA 란? - JPA 란 자바의 ORM(Object Relational Mapping) 표준 스펙을 정의 JPA 의 스펙은 자바의 객체와 데이터베이스를 어떻게 매핑하고 동작해야 하는지를 정의하고 있음 1. 영속성 컨텍스트(Persistence Context) - 영속성 컨텍스트는 JPA가 관리하는 엔티티 객체의 집합 - 엔티티 객체가 영속 컥텍스트에 들어오게 되면 JPA는 엔티티 객체의 매핑 정보를 가지고 DB에 반영함 - 엔티티 객체가 영속 컨텍스트에 들어오게 되어 관리 대상이 되면 그 객체를 영속 객체라고 부름 - 영속성 컨텍스트는 세션 단위로 생명주기를 갖고 있음(세션이 생기면서 만들어지고, 세션이 종료되면 없어짐) - 영속성 컨텍스트에 접근하기 위해서 Entity Manager를 사용함 - En.. 2023. 4. 9.
가비지 컬렉션(Garbage Collection), 객체지향의 4가지 특징 - 가비지 컬렉션(Garbage Collection) - "자바 애플리케이션에서는 C/C++과 같이 개발자가 직접 free와 같은 메모리를 명시적으로 해제하는 행위를 하지 않는다. 대신 JVM의 Garbage Collector 가 더이상 사용되지 않는 메모리를 정리하는 과정을 하게 된다." # Stop The World Garbage Collection는 Garbage Collector가 Heap 영역의 메모리를 JVM이 판단해 더이상 사용되지 않는 인스턴스는 자동으로 할당 된 메모리를 삭제하는 역할을 하는 행위이다. 자바 어플리케이션은 GC를 실행하기 위한 Thread를 제외하고 모든 Thread를 멈추는데 이상태를 Stop The World 라고 한다. # 젊은 객체(Young Generations).. 2022. 5. 25.
자바의 동작 방식 - 자바 기초 - 자바의 동작 방식 1. 작성한 자바소스코드가(.java파일) 자바 컴파일러를 통해 자바 바이트코드로 변환. * 자바 가상 머신(JVM)이 이해할 수 있어야 하기 때문에 이진 표현법으로 변환을 해줌 2. 자바 가상 머신(JVM)의 클래스로더에게 전달을 하고 클래스로더는 동적로딩을 통해 필요한 클래스들을 데이터 영역 즉 JVM의 메모리에 올린다. * 동적로딩이란 필요한 시점에 클래스를 로딩하여 사용하는것을 의미 .동적로딩시 장점 - 컴파일 타임에 모든 클래스의 정보를 알 필요가 없다. - 외부 플러그인 확장 및 사용에 용이 - 실행에 필요한 정보만을 메모리에 로드할 수 있다. .동적로딩시 단점 - 런타임 에러를 알 수 없다. - 메모리에 미리 로드되어 있지 않기 때문에 프로그램 실행 속도 .. 2022. 5. 25.
Operator 1. 연산자 - 연산자는 어떠한 기능을 수행하는 기호(+, -, *, / 등)로 피연산자와 함께 사용 * 피연산자 : 연산자의 작업 대상 - 연산자의 종류 * 단항 연산자 : +, - , ++, --, ~, ! * 증감연산자(++, --) * 부호연산자(+, -), 논리 부정연산자(!) * 부호연산자 : + 는 피연산자에 * 1, - 는 피연산자에 * -1 * 논리부정연산자( ! ) : true를 false로 false를 true로 변환 * 비트전환연산자( ~ ) * 2진수로 변환 후 0을 1로, 1을 0으로 변환 한다(보수형태) * 타입변환연산자 * 이항 연산자(산술, 비교, 논리) * (byte, char, short)의 연산 시 결과는 int로 바뀜 *시프트연산자 : , >>> * > : 이진수를 .. 2021. 11. 23.