JVM 3

[Java] 실행 데이터 영역 (Runtime Data Area) 자바 실행 데이터 영역 (Runtime Data Area) Runtime Data Area는 JVM 이 프로그램을 수행하기 위해 할당 받는 메모리 영역이라고 할 수 있습니다. 실제 성능 문제에 직면했을 때, 대부분의 문제점은 Runtime Data Area에서 발생 하는 경우가 많습니다. Memory Leak 이나 Garbage Collection 인 경우를 그 예로 볼 수 있습니다 . 이러한 문제가 발생할 때, 이 문제가 왜 발생한 것인지 어디에서 발생한 것인지 확인하는 것은 쉽지 않습니다. 이 경우 Runtime Data Area 아키텍처를 이해한다면 해당 문제를 분석하는데 도움이 될 것입니다. Runtime Data Area는 크게 다섯 가지 영역으로 나뉘게 됩니다 . 그것은 PC Register,.. Language/Java 2020. 12. 27.
[Java] 자바란? ( Java ) 자바란? ( Java ) 운영체제에 독립적 Java로 작성된 애플리케이션은 JVM이라는 가상의 기계에서 동작하기 때문에, Java는 운영체제와 하드웨어에 독립적입니다. 따라서 한번 작성하면 어디에서나 실행이 가능합니다. Write Once, Run anyWhere 하지만 Java 애플리케이션이 동작하는 JVM은 각 OS마다 다른 JVM이 존재하기 때문에 운영체제에 종속적입니다. JVM을 한단계 더 거치고, 하드웨어에 맞게 컴파일 된 상태가 아니기 때문에 해석(Interpret) 과정을 거치기 때문에 속도가 느리다는 단점이 있습니다. 하지만 JIT 컴파일러와 향상된 기술로 속도의 격차가 많이 줄어들었습니다. 객체지향 Java는 상속, 추상화, 다형성, 캡슐화의 특징을 가진 객체 지향 언어( Object-O.. Language/Java 2020. 12. 25.
[Java] JVM Architecture 동작원리 Java의 동작 원리를 알기 위해서는 JDK,JRE,JVM을 알아야 합니다. JDK ( Java Development Tool) Java 응용 프로그램 개발 및 실행에 사용되는 완전한 개발 환경. JRE 및 개발 도구가 모두 포함되어 있습니다. JRE ( Java Runtime Environment ) Java 애플리케이션을 실행하는 데 필요한 JVM (Java Virtual Machine) 및 자바 클래스 라이브러리(Java Class Libraries)와 자바 클래스 로더(Java Class Loader)가 포함됩니다. JVM ( Java Virtual Machine ) Java를 실제로 실행시키는 도구이다. 자바 어플리케이션을 클래스 로더를 통해 읽어 들여 자바 API와 함께 실행한다. 그.. Language/Java 2020. 6. 7.