roadj의 등록된 링크

 roadj로 등록된 티스토리 포스트 수는 9건입니다.

애노테이션 프로세서(Annotation processor) [내부링크]

Annotation Processor란? Annotation Processor는 컴파일 단계에서 Annotation에 정의된 일렬의 프로세스를 동작하게 하는 것을 의미합니다. 컴파일 단계에서 실행되기 때문에, 빌드 단계에서 에러를 출력하게 할..

자바 인터페이스(Interface) [내부링크]

인터페이스란? 클래스들이 구현해야 하는 동작들을 추상적으로 선언하는 추상 자료형입니다. Interface라는 키워드를 사용하여 선언합니다. 강제적으로 구현해야 하는 추상 메소드가 있으며, static과 final이 둘..

프록시 패턴(Proxy Pattern) [내부링크]

프록시 패턴이란? 리얼 서브젝트는 자신이 해야 할 일만 하면서 프록시를 사용하여 부가적인 기능을 제공할 때 쓰는 패턴입니다. 프록시와 리얼 서브젝트가 공유하는 인터페이스(서브젝트)가 있고, 클라이언트가..

자바 리플렉션(Reflection)2 - Annotation, Dependency Injection(DI) [내부링크]

지난 리플렉션 시간에 이어서 리플렉션을 활용하여 Spring의 DI(Dependency Injection)을 약간 비슷하게 따라 해 보겠습니다. 일단 DI를 쓸 때, 주로 Annotation을 사용합니다. 그래서 이 애노테이션을 활용하여,..

자바 리플렉션(Reflection) [내부링크]

리플렉션(Reflection)이란? 리플렉션은 구체적인 클래스 타입을 알지 못하여도, 해당 클래스의 메소드, 타입, 필드(변수)들을 접근할 수 있도록 해주는 자바 API 입니다. https://docs.oracle.com/javase/8/docs/a..

바이트 코드를 조작하는 방법2 - ByteBuddy, Javaagent [내부링크]

JVM 구조에 대한 글에서 살펴보았듯이 .java 파일을 자바가 컴파일하여, .class 파일로 변환하고 .class 파일을 JVM이 클래스 로더에 의해서 로딩 -> 링크 -> 초기화 작업을 통하여 메모리(Runtime Data Area)에..

바이트 코드를 조작하는 방법 - 코드 커버리지 [내부링크]

일단 바이트 코드 조작의 대표적인 예를 보면서 차근차근 살펴보겠습니다. 코드 커버리지(Code Coverage)는 어떻게 측정하는 걸까? 코드 커버리지란? 소프트웨어의 테스트 케이스가 얼마나 충족되었는지를 나타내..

JVM 구조 [내부링크]

위 사진은 JVM의 전체적인 구조입니다. 클래스 로더(Class Loader) 자바 바이트 코드를 읽어서 JVM의 실행 엔진이 사용할 수 있도록 메모리의 메소드 영역에 적재하는 역할을 합니다. 로딩 -> 링크 -> 초기화 순..

자바, JVM, JDK, JRE이란? [내부링크]

JVM (Java Virtual Machine) 자바 가상 머신으로 자바 바이트 코드(.class)를 운영체제(OS)가 실행할 수 있는 네이티브 코드로 변환(Interpreter, JIT Compiler) 하여 실행 합니다. 해당 운영체제에 맞는 네이티브..