[Java] JVM(Java Virtual Machine)의 구조와 동작방식
·
Backend/Java
1. JVM 이란?Java 프로그램은 OS 위에서 직접 실행되지 않고 JVM(Java Virtual Machine) 위에서 실행됩니다.오늘은 이 JVM의 구조와 동작 방식에 대해서 알아보겠습니다.JVM은 바이트코드를 해석하고 실행하는 가상 머신입니다.JVM은 운영체제와 무관하게 자바 프로그램을 실행할 수 있게 하는 중개자 역할을 하며 'Write Once, Run Anywhere(한 번 작성하면 모든 곳에서 실행된다)' 라는 자바의 핵심 특징을 가능하게 합니다.자바 바이트코드(Java bytecode): Java 소스 코드를 컴파일하여 얻은, 자바 가상머신(JVM)이 이해할 수 있는 중간 코드2. JVM의 구성 요소 JVM의 구성요소는 크게 클래스 로더(Class Loader), 실행 엔진(Executi..
[Java] Annotation 어노테이션 알아보기, 커스텀 어노테이션 만들어보기
·
Backend/Java
요새 하고 있는것중에 직접 커스텀해서 어노테이션을 만들어서 써야할 일이 생겼습니다. 필수는 아니지만 깔끔한 코드를 위해 있으면 좋을것같았어요. 오늘은 이를 위해 공부한 어노테이션의 개념과 동작원리, 그리고 간단한 커스텀 어노테이션을 만들어보겠습니다.1. 어노테이션(Annotation) 개념1) 어노테이션 개념 먼저 어노테이션은 주석이라는 뜻입니다. 실제로 Java에서의 Annotation도 같은 역할을 합니다.일반 // 주석과 @Annotation 의 다른점은 컴파일러가 주석 내용을 추출해 .class 파일 안에 별도의 메타데이터로 새겨둔다는 것 입니다.이렇게 새겨진 정보는 두 군데에서 쓰입니다.컴파일 단계자바 컴파일러가 소스 코드를 바이트코드로 바꿀 때, 소스 코드를 생성하거나 규칙 위반을 잡아냄ex)..