일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- DesignPattern
- 항해99
- 프로그래머스
- 빈 충돌
- spring batch 5.0
- 취업리부트코스
- 코딩테스트 준비
- 프로그래머스 이중우선순위큐
- 파이썬
- Spring multimodule
- TiL
- 디자인 패턴
- @FeignClient
- 빈 조회 2개 이상
- 1주일회고
- KPT회고
- 99클럽
- 커스텀 헤더
- 디자인패턴
- jwttoken
- 단기개발자코스
- JavaScript
- 인프콘 2024
- infcon 2024
- 구글 OAuth login
- Python
- jwt
- 전략패턴 #StrategyPattern #디자인패턴
- 개발자 취업
- 개발자부트캠프추천
- Today
- Total
목록CS Study (7)
m1ndy5's coding blog

JPA에서는 CRUD 작업을 수행하기 위해 @Entity로 표시된 엔티티 클래스가 JPA 컨텍스트에 등록되면, 생명주기를 갖게 되고 JPA에 의해 관리된다. 생명주기가 살아있는 엔티티는 DB 테이블과 매핑되어 관리되는데, 개발자가 엔티티에 데이터를 추가/수정/삭제하면 그에 맞는 쿼리문이 자동으로 생성된다. 이와 같이 JPA에 의해 생명주기가 관리되는 엔티티를 두고 영속성(Persistence)이 있다고 표현한다. 영속성 관리 EntityManager EntityManagerFactory는 여러 스레드에서 동시에 접근해도 안전하지만, 생성하는 비용이 크다. 따라서 EntityManagerFactory에서 요청이 올 때마다 생성 비용이 거의 없는 EntityManager를 생성한다. EntityManager..

Garbage Collector 가비지 컬렉터는 메모리 관리를 자동으로 처리하는 JVM의 구성 요소 중 하나이다. 가비지 컬렉터의 주된 역할은 Heap 영역에서 사용하지 않는 객체를 찾고 자동으로 메모리에서 해제하여 시스템 자원을 효율적으로 관리하는 것이다. 가비지 컬렉터의 역할 1. 가비지 식별 : 가비지 컬렉터는 더 이상 참조되지 않는 개체를 식별한다. 객체가 어떠한 참조에도 도달하지 않는 경우, 해당 객체는 가비지로 간주된다. 2. 가비지 수거 : 가비지 컬렉터는 식별된 가비지 객체들을 메모리에서 수거(삭제)한다. 이러한 프로세스를 통해 메모리 누수를 방지하고 프로그래머가 명시적으로 메모리를 관리하지 않아도 된다. 가바지 컬렉터의 원리 1. 참조 추적 : 대부분의 가비지 컬렉터는 참조 추적 알고리즘..

자바 프로그램이 실행되면 JVM은 OS로부터 메모리를 할당받고, 그 메모리를 용도에 따라서 여러 영역으로 나누어 관리한다. JVM의 메모리 공간은 크게 Method(Static) 영역, Stack 영역, Heap 영역으로 구분되고 데이터 타입에 따라 각 영역에 나눠져 할당된다. 자바 변수의 종류 변수는 크게 네 종류로 변수의 선언된 위치에 따라 클래스 변수, 인스턴스 변수, 지역변수, 매개변수로 나뉜다. public class Main{ public static void main(String[] args){ // 매개변수 int num = 990; // 지역변수 } } public class Counter { private int state = 0; // 인스턴스 변수 public static int ..

자바를 사용해 개발을 할 때 항상 JDK를 설치해야 했다. 이 JDK는 무엇이고 JVM, JRE와 어떤 차이가 있는지 알아보자! JDK(Java Development Kit) JDK는 자발 개발키드의 약자로 개발자들이 자바로 개발하는 데 사용되는 SDK(소프트웨어 개발 키트)이다. JDK 안에는 자바 개발 시 필요한 라이브러리들과 javac(자바 컴파일러로 자바 소스를 바이트 코드로 컴파일), javadoc(자바 소스로부터 HTML 형식의 API 도큐먼트 생성) 등의 개발 도구들이 포함되어 있고, 자바 프로그램을 실행도 시켜줘야하기 때문에 JRE도 함께 포함되어 있다. JRE(Java Runtime Environment) JRE는 자바 실행환경의 약자로써 JVM과 자바 프로그램을 실행(동작)시킬 때 필요..
JPA를 사용하면서 영속성 컨텍스트를 모른다?? 이건 말이 안된다!!!! 지금 알아보자~~ 영속성 컨텍스트(Persistence Context)? JPA에서 사용되는 개념 중 하나로 엔티티 인스턴스를 관리하고 데이터베이스와의 상호작용을 효율적으로 처리하기 위한 환경을 제공한다. 영속성 컨텍스트는 엔티티의 생명주기를 관리하고 쿼리 결과를 캐시하는 등의 역할을 수행한다. 영속성 컨텍스트는 여러개 존재할 수 있으며 각각의 영속성 컨텍스트는 특정 트랜잭션 범위 내에서 독립적으로 동작한다. 1. 엔티티의 생명주기 관리 - 비영속 상태 (New/Transient) 데이터베이스에 저장되지 않은 상태로, 객체를 생성한 직후의 상태이다. // 비영속 상태 Employee employee = new Employee(); ..
JPA(Java Persistence API) 자바 언어를 위한 객체-관계 매핑(ORM) 표준이다. ORM(Object Relational Mapping)? 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것 - 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용하기 때문에 객체 모델과 관계형 모델 간의 불일치가 존재해 이를 개발자가 바꿔줘야하지만 JPA를 사용하면 JPA가 바꿔준다. JPA의 장점 1. 객체-관계 매핑의 간소화 - 개발자가 객체지향 모델과 데이터베이스 스키마 간의 매핑을 해야하지만 이를 JPA가 해주기 때문에 생산성이 향상된다. 2. 쿼리 언어 - JPQL(Java Persistence Query Language)을 제공하여 객체 지향적인 쿼리를 사용..

자바의 Call by Value / Call by Reference 함수의 매개변수에서 값을 복사하느냐 주소값을 참조하느냐의 차이이다. 자바의 데이터형은 크게 두가지로 나뉜다. 기본형(primitive type) - Boolean Type(boolean), Numeric Type(short, int, long, float, double, char) 참조형(reference type) - Class Type, Interface Type, Array Type, Enum Type, 기본형을 제외한 모든 것들 이 때 메서드의 파라미터에 원시값(primitive type)을 전달하는 것과 객체(reference type)를 전달하는 것에 동작 차이가 있다. 어떻게 이런 차이가 난 것일까? Call by Value..