작은 토론 : 자바 바이트 코드에

바이트 코드에서 언어와 컴파일 언어를 해석 무슨 우리가 처음 모습을보고하기 전에.

1, 언어와 컴파일 언어를 해석

        직접 높은 수준의 언어를 이해할 수없는 우리의 컴퓨터, 그것은 단지가 기계 언어 (이진 문자열 01), 이해 될 수 번역 , 사실, 일반적으로 어셈블리 언어로 높은 수준의 언어를 변환 한 다음 기계 언어로 조립 지침에 의해 변환. 여기 번역은 일반적으로 두 가지 방법을 포함 : 해석 및 컴파일.

       해석 언어 : 여기 집행 메커니즘은 여기에 기회를 번역하는 것입니다, 통역을 완료하는 것입니다 실행 여기에, (기계 언어로 번역) 그의 당 한 줄의 설명이다. 여기 인터프리터를 설명 후에 형성되는 중간 코드 ( 인터프리터는 플랫폼 독립적으로 중간 코드로 변환 될 때, 소스 코드가 실행된다 ). 이 중간 코드는 좋은 크로스 플랫폼을 가지고 있지만 때마다 당신은 효율이 낮은 반면, 예를 들어,의 .class 파일을 가정 해 봅시다, 소스 코드를 실행해야합니다. 리눅스 시스템과 재 - 윈 시스템이 실행 될 수 있습니다.

      컴파일 된 언어는 : 여기에 코드를 컴파일 할 필요가있는 다음 생성 이진 파일을 . 이러한 C 언어 생성 .EXE 파일로, 여기 만은 재 컴파일 코드에 필요하지 않은 프로그램을 실행 한 후, 한 번 생성해야합니다. 장점은 다음과 같습니다 실행 영구적 인 소스 코드를 필요가 제공되지 컴파일.

2, 자바 언어 기능

       특징 자바 언어는 실제로 반 반 컴파일 된 인터프리터 언어라는 것이다. 그것은 실행 전에 바이트 코드 파일을 컴파일 생성합니다. 해석의 과정을 실행 한 후 이진 기계 언어 인터프리터를 생성하는 라인으로 라인을 수행 하였다.

     바이트 코드로 컴파일 : 어느 정도 전통적인 해석 언어 문제의 낮은 효율성을 해결한다.

     바이트 코드 인터프리터 : 바이트 코드는 특정 시스템에 관한되지 않기 때문에 이식 특성을 유지한다.

 

(3) JIT 컴파일러

        이 단계 JVM 클래스 로더에서 첫 번째 바이트 코드 파일을로드하고, 인터프리터에 의해 선으로 라인을 해석, 이런 식으로 실행 속도가 상대적으로 느린 것입니다. 또한, 어떤 방법과 코드 블록은 종종 호출 할 필요가 (코드 소위 핫스팟)이다 속하는 JIT 컴파일러의 도입의 뒷면, 그리고 런타임 JIT 컴파일러 때문에. 머신 코드에 대응하는 바이트 코드를 보존 할 제 JIT 컴파일러는 컴파일러, 종료 후, 다음에 직접 사용될 수있다. 그리고 우리는 기계 코드의 작동 효율이 자바 인터프리터에 비해 확실히 높은 것으로 알고 있습니다. 이것은 또한 우리는 종종 자바는 컴파일 언어가 공존 해석된다라고 이유를 설명합니다.

 

 

게시 된 134 개 원래 기사 · 원의 찬양 (91) · 전망 160 000 +

추천

출처blog.csdn.net/weixin_44588495/article/details/104081190