일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- MSA
- Kafka
- c언어
- 파이썬
- Algorithm
- spring webflux
- 백준
- mongoDB
- JPA
- Galera Cluster
- redis
- MySQL
- react
- 네트워크
- OS
- JavaScript
- 자료구조
- Spring
- 자바
- 알고리즘
- Data Structure
- 컴퓨터구조
- Java
- Proxy
- C
- 운영체제
- IT
- 디자인 패턴
- design pattern
- Heap
- Today
- Total
목록전체 글 (211)
시냅스

Equals 와 == 의 차이 Primitive type (원시타입) Call by value 주소로 변수 값을 바로 확인하여 계산하기 때문에 == 비교가 가능 Reference type (원시타입 이외 모두) Call by reference 주소값을 참조(포인터) 하여 사용하기 때문에 == 비교를 하게 될 경우 주소값을 비교하게 된다. String을 new (builder, buffer 포함)를 사용하지 않고 리터럴로 생성한 경우 String은 string constant pool 이라는 영역에 속한다. (intern) 같은 값에 한해서는 같은 주소값을 같게 된다. 따라서 == 비교가 가능하다. 이때 객체 내부에 Equals()를 override 하여 객체간 값에 대한 비교를 할 수 있다. Equals..

Annotation Processor 컴파일 단계에서 유저가 정의한 어노테이션의 소스 코드를 분석, 처리하기 위해 사용되는 Hook 자바 컴파일러의 플러그인 일종 컴파일 에러나 컴파일 경고를 만들어 냄 자바 컴파일러에 의해 소스코드(.java) 와 바이트코드(.class)를 내보내기도 한다. annotation processor를 통해서 메소드, 필드 등을 생성, 수정하거나 인터페이스만을 가지고도 구현부를 생성해줄 수 있다. 장정 런타임 전에 컴파일 단계에서 수행되기 때문에 비용이 제로에 가깝다. 리플렉션을 사용하지 않아 런타임 시에 예외를 발생시키지 않는다. Boilerplate code를 생성해준다. 단점 기존 클래스 파일에 소스(AST)를 변경할 때는 일종의 해킹이다. 프로세싱 단계 자바 컴파일러가..

GC stop the world GC를 실행하기 위해 JVM이 애플리케이션의 실행을 멈춤 gc를 실행하는 쓰레드를 제외한 나머지 쓰레드는 작업을 멈춤 어떤 GC 알고리즘을 사용하더라도 꼭 발생 대개의 GC 튜닝은 이 시간을 줄이는 것 가비지 컬렉터의 실행 조건 JVM이 OS로부터 메모리를 부여 받고 프로그램을 실행하다가 메모리가 부족하여 OS에게 추가로 메모리를 요청하는 시점에 실행된다. 혹은 JVM의 idle time에 실행된다. dangling object가 그 대상이다. System.gc() 를 호출해선 안된다. System.gc() 는 garbage collection 을 실행하는 함수 자바에서는 명시적으로 메모리를 지정하여 해제하지 않기 때문에 객체를 null 로 지정하거나 System.gc()..