뭐라도 끄적이는 BLOG

Java Bytecode 본문

Java/Java 기본

Java Bytecode

Drawhale 2023. 6. 29. 06:01

Bytecode란 무엇인가

우리가 작성한 Java코드는 결국 컴퓨터가 이해할 수 있는 형태로 코드가 변환되어야 한다. Java는 Java컴파일러를 이용하여 JVM이 이해할 수 있는 코드인 Bytecode를 생성한다. Bytecode는 기계어는 아니지만 가상 머신에 의해 기계어로 손쉽게 변환할 수 있는 코드이다. 각각의 Bytecode는 1byte로 구성되지만 몇 개의 파라미터가 사용되는 경우가 있어 총 몇 바이트로 구성되는 경우가 있다.

Bytecode는 JVM만 설치되어 있으면 어떤 운영체제에서든 실행할 수 있다. 그리고 JVM이 실행할 수 있는 Bytecode를 만들 수 있는 코드라면 Java 외 어떤 언어라도 실행 가능하다. (Kotlin, Scala 등..)

Bytecode를 확인하고 싶다면 `javap` 명령어로 디컴파일된 바이트 코드를 확인할 수 있다. Bytecode는 OPcode(Operation code) 형태로 보여 준다. 해당 OP코드는 각각 1byte이다.

OP코드는 대략 200개 정도가 있다. 아래 링크에서 확인해 볼 수 있다.

 

 

Chapter 6. The Java Virtual Machine Instruction Set

The wide instruction modifies the behavior of another instruction. It takes one of two formats, depending on the instruction being modified. The first form of the wide instruction modifies one of the instructions iload, fload, aload, lload, dload, istore,

docs.oracle.com

Bytecode의 구성요소

 

The Java® Virtual Machine Specification

Tim Lindholm Frank Yellin Gilad Bracha Alex Buckley Daniel Smith

docs.oracle.com

 

반응형

'Java > Java 기본' 카테고리의 다른 글

Java 연산자  (0) 2023.07.01
Java Variables와 Data Types  (0) 2023.06.30
Garbage Collector의 종류 (Serial, Parallel, CMS, G1, Z)  (0) 2023.06.29
JVM 구성 요소  (0) 2023.06.29
Java (JVM, JIT, JDK 간략한 설명)  (0) 2023.06.29