리플렉션(Reflection)이란? 리플렉션은 구체적인 클래스 타입을 알지 못하더라도 그 클래스의 메서드, 타입, 변수들에 접근할 수 있도록 해주는 자바 API입니다. 💡 컴파일 시간이 아닌 실행 시간에 동적으로 특정 클래스의 정보를 추출할 수 있는 프로그래밍 기법입니다. 리플렉션은 언제 사용될까? 동적으로 클래스를 사용해야할 때 필요합니다. 다시 말해 작성 시점에는 어떠한 클래스를 사용해야 할지 모르지만 런타임 시점에서 클래스를 가져와서 실행해야하는 경우 필요합니다. 대표적으로는 Spring 프레임워크의 어노테이션 같은 기능들이 리플렉션을 이용하여 프로그램 실행 도중 동적으로 클래스의 정보를 가져와서 사용합니다. 리플렉션은 어떤 정보를 가져올 수 있을까? 아래와 같은 정보들을 가져올 수 있으며 해당 ..
Garbage Collection이란? Garbage Collector(GC)는 Heap 메모리에서 활동하며, JVM에서 GC의 스케줄링을 담당하여 개발자가 직접 관여하지 않아도 더이상 사용하지 않는 메모리를 제거해주는 역할을 담당합니다. Person person = new Person(); person.setName("KDG"); person.setCity("seoul"); person = null; // 가비지 발생 person = new Person(); person.setName("홍길동"); person.setCity("seoul"); GC는 간단하게 말하자면 Heap Area에서 더이상 사용하지 않는 메모리를 제거하는 것을 말합니다. 전통적인 Heap Area는 위의 사진에서 볼 수 있듯이 E..
JVM이란? JVM이란 Java Virtual Machine의 약자로 자바를 실행하기 위한 가상 기계라고 할 수 있습니다. 자바로 작성된 애플리케이션은 모두 JVM에서만 실행되기 때문에 자바 애플리케이션을 실행하기 위해서는 반드시 JVM이 필요합니다. Java Compiler는 JVM이 인식할 수 있도록 .java 파일을 .class라는 'Java Byte Code'로 변환 시켜줍니다. 💡 여기서 Java Compiler는 JDK를 설치하면 bin 폴더에 있는 javac.exe 파일을 말합니다. (즉 , JDK에 Java Compiler가 포함되어 있습니다.) Java Compiler에 의해 변환된 Java Byte Code는 기계어가 아니기 때문에 OS에서 바로 실행될 수 없습니다. 이때 JVM이 OS..
아래의 코드는 @Autowired와 @Qualifier 어노테이션의 차이점을 알아보기 위한 코드입니다. Exam Interface public interface Exam { int total(); double avg(); } KDGExam Class public class KDGExam implements Exam{ private int kor; private int eng; private int math; ... 세터들 존재한다는 가정 @Override public int total(){ return kor + eng + math; } @Override public double avg(){ return total() / 3; } } ExamPrint Class public class ExamPrint ..
- Total
- Today
- Yesterday
- 서비스 기반 아키텍처
- spring boot redisson sorted set
- @ControllerAdvice
- spring boot poi excel download
- java ThreadLocal
- transactional outbox pattern spring boot
- pipeline architecture
- 공간 기반 아키텍처
- 레이어드 아키텍처란
- pipe and filter architecture
- redis sorted set
- java userThread와 DaemonThread
- spring boot excel download paging
- JDK Dynamic Proxy와 CGLIB의 차이
- 트랜잭셔널 아웃박스 패턴 스프링부트
- transactional outbox pattern
- space based architecture
- spring boot excel download oom
- microkernel architecture
- spring boot redisson destributed lock
- redis 대기열 구현
- spring boot redis 대기열 구현
- service based architecture
- 람다 표현식
- spring boot redisson 분산락 구현
- redis sorted set으로 대기열 구현
- spring boot 엑셀 다운로드
- 자바 백엔드 개발자 추천 도서
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- polling publisher spring boot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |