본문 바로가기

DEVELOPMENT/JAVA

JAVA , Byte Code Instrumentation 에 대해. JVM option 중 JavaAgent를 검색 하던 중 알아두면 좋은글을 발견하여 블로그에 남긴다. The Power of Byte Code Instrumentation in Java - Part1 Byte Code Instrumentation이란? Java에서 가장 원초적이고 강력한 프로그래밍 기법은? 나의 대답은 단연 BCI, 즉 Byte Code Instrumentation이다. (또는 Byte Code Insertion) Byte Code Instrumenation이란 Java의 Byte Code에 대해 직접 수정을 가해서, 소스 파일의 수정없이 원하는 기능을 부여하는 기법을 말한다. 이러한 특징 때문에 Java 프로파일러나 모니터링 툴들이 대부분 BCI 기능을 이용하고 있으며, BCI를 통해 ..
"JRE"란 무엇인가, 자바 런타임 환경의 이해 "JRE란 무엇인가", 자바 런타임 환경의 이해 자바 개발 키트(Java Development Kit, JDK), 자바 가상 머신(Java Virtual Machine, JVM), 자바 런타임 환경(Java Runtime Environment, JRE)은 자바 애플리케이션을 개발하고 실행하기 위한 자바 플랫폼의 3대 구성 요소다. JDK과 JVM에 대해서는 별도로 소개할 것이며, 이번 기사에서는 자바의 런타임 환경인 JRE에 대해 알아보자. Credit: Michael Hicks(CC BY 2.0) 런타임 환경은 다른 소프트웨어를 실행하기 위해 고안되는 일종의 소프트웨어다. 자바용 런타임 환경인 JRE에는 자바 클래스 라이브러리(Java class libraries)와 자바 클래스 로더(Java clas..
JVM 이해를 통한 Java의 작동원리 [Java/JVM] JVM 이해를 통한 Java의 작동원리 이해하기 ## 1. JVM이란? JVM은 물리적 머신을 소프트웨어 구현한 Java 프로그램을 실행할 수 있게 해주는 추상컴퓨팅 시스템입니다. Java는 WORA(Write Once Run Anywhere)의 철학을 위해 VM을 개발하였습니다. JVM은 OS에 상관없이 어느 환경에서도 Java가 실행이 가능토록 만들어 준 것입니다. Java를 컴파일 언어로서 실행하기 위해서는 컴파일을 거쳐야 합니다. Java 컴파일러는 .java 파일을 .class 파일로 컴파일 합니다. 이는 .java 파일을 Java byte code로 변환하여 .class 만드는 것입니다. Byte Code는 기계어가 아니기 때문에 OS에서 바로 실행이 되지 않습니다. 이를 ..