리플렉션(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..
개인 토이프로젝트 진행중 AJAX를 사용하여 form의 input 데이터와 file 데이터를 Controller로 전달을 했어야 했는데 구글링을 하여 이것저것 찾아봤지만 다수의 글이 form에 enctype을 설정하거나 AJAX에 enctype을 설정하는 방법이 많았지만 file을 base64로 변환하여 컨트롤러에 전달하여 파일 객체를 생성 후 디렉토리에 저장하는 방법이 있어서 참고하여 글을 진행하겠습니다! Step 01 - JavaScript로 파일 업로드하여 base 64로 변환 js부분은 파일을 업로드 후 22 ~ 25번 라인만 보시면 되는데 파일이 업로드가 되었으면 filename, cover의 id에 각각 값을 할당하고 있습니다. filename, cover는 각 입니다. 1 2 3 4 5 6 ..
- Total
- Today
- Yesterday
- JDK Dynamic Proxy와 CGLIB의 차이
- 트랜잭셔널 아웃박스 패턴 스프링부트
- redis sorted set
- transactional outbox pattern spring boot
- 람다 표현식
- pipeline architecture
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- polling publisher spring boot
- microkernel architecture
- java userThread와 DaemonThread
- spring boot redis 대기열 구현
- 레이어드 아키텍처란
- service based architecture
- 공간 기반 아키텍처
- spring boot 엑셀 다운로드
- 자바 백엔드 개발자 추천 도서
- spring boot redisson sorted set
- transactional outbox pattern
- java ThreadLocal
- space based architecture
- spring boot redisson destributed lock
- spring boot poi excel download
- @ControllerAdvice
- 서비스 기반 아키텍처
- spring boot excel download oom
- redis sorted set으로 대기열 구현
- pipe and filter architecture
- spring boot excel download paging
- redis 대기열 구현
- spring boot redisson 분산락 구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |