Java에서 JIT 란 무엇입니까? – Java 기초 이해



Just-In-Time 컴파일러는 Java Runtime Environment의 필수 부분 중 하나입니다. Java의 JIT에 대한이 기사에서는이 컴파일러가 Java 애플리케이션의 성능을 향상시키는 방법에 대해 설명합니다.

시스템은 바이너리 코드 만 이해하기 때문에 모든 프로그래밍 언어는 컴파일러를 사용하여 고급 언어 코드를 기계 수준 바이너리 코드로 변환합니다. 프로그래밍 언어의 유형에 따라 컴파일러가 다릅니다. 이제 ,이 놀라운 컴파일러를 사용합니다. Java의 JIT (Just-in-Time) . 이 블로그는 JIT Java Compiler에 대한 모든 것을 알려줍니다.

이 기사에서 다루는 주제는 다음과 같습니다.





자, 시작합시다!

Java JIT 컴파일러 – 개요

그만큼 Just-In-Time 컴파일러 의 필수 부분 중 하나입니다 . 주로 런타임 또는 실행 시간에 Java 기반 애플리케이션의 성능 최적화를 담당합니다. 일반적으로 컴파일러의 주요 모토는 최종 사용자와 애플리케이션 개발자를 위해 애플리케이션의 성능을 높이는 것입니다.



자바의 JIT 심층 분석

  • 바이트 코드는 Java WORA (한 번 쓰기, 어디서나 실행) 환경의 주요 잠재력입니다. 속도 자바 애플리케이션 바이트 코드가 원시 기계어 코드로 변환되는 방식에 따라 다릅니다. 바이트 코드는 원시 코드로 해석되거나 컴파일되거나 프로세서에서 직접 실행될 수 있습니다. 그러나 바이트 코드가 해석되면 응용 프로그램의 속도에 직접적인 영향을 미칩니다.

  • 성능 속도를 높이기 위해 JIT 컴파일러는 바이트 코드 시퀀스를 원시 기계 코드로 컴파일하기 위해 실행 시간에 JVM과 통신합니다. 기본적으로 JIT Compiler를 사용하면 JVM Interpreter와 비교할 때 하드웨어에서 네이티브 코드를 쉽게 실행할 수 있습니다. 그렇게함으로써 실행 속도가 크게 향상됩니다.

  • JIT 컴파일러는 일련의 바이트 코드를 컴파일 할 때 데이터 분석, 스택 작업에서 등록 작업으로의 변환, 하위 표현식 제거 등과 같은 특정 최적화도 수행합니다. 실행 및 성능면에서 매우 효율적입니다.



이제 JIT 컴파일러의 기본 사항을 알았으니 더 나아가 그 작동 방식을 이해하겠습니다.

자바에서 JIT 컴파일러 작업

JIT 컴파일러는 런타임에 Java 애플리케이션의 성능을 향상시킵니다. Java는 , 구성 . 기본적으로 플랫폼과 무관 한 바이트 코드를 구성합니다.다양한 아키텍처에서 JVM에 의해 xecuted.

작업 흐름 :

talend etl 도구 자습서 pdf

아래 다이어그램은 Java Runtime Environment에서 실제 컴파일 작업이 수행되는 방식을 보여줍니다.

JIT 컴파일러-자바의 JIT-Edureka

  1. 코딩 할 때 , JRE는 javac 컴파일러를 사용하여 상위 레벨을 컴파일합니다. 소스 코드를 바이트 코드로 . 그 후 JVM은 런타임에 바이트 코드를로드하고 인터프리터를 사용하여 추가 실행을 위해 머신 레벨 바이너리 코드로 변환합니다.

  2. 위에서 이미 언급했듯이 Java 바이트 코드를 해석하면 기본 응용 프로그램과 비교할 때 성능이 저하됩니다. JIT 컴파일러가 바이트 코드를 네이티브 기계어 코드로 컴파일하여 성능을 높이는 데 도움이되는 곳입니다. '적시' 실행합니다.

  3. JIT 컴파일러는 Java에서 메소드가 호출 될 때 기본적으로 활성화되고 활성화됩니다. 메소드가 컴파일 될 때 Java Virtual Machine은 해석하지 않고 메소드의 컴파일 된 코드를 직접 호출합니다. 따라서 많은 메모리 사용량과 프로세서 시간이 필요하지 않습니다. 이는 기본적으로 Java Native Application의 성능을 향상시킵니다.

    자바로 스캐너를 작성하는 방법

그래서 그것이 작동하는 방법입니다. 이제이 기사를 더 자세히 살펴보고 Java에서 JIT 컴파일러의 보안 측면을 이해하겠습니다.

Java에서 JIT의 보안 측면

JIT 컴파일러가 바이트 코드를 기계 코드로 컴파일하는 것은 메모리에서 직접 수행됩니다. 즉, 컴파일러는 기계 코드를 메모리에 직접 공급하고 실행합니다. 이 경우 클래스 파일을 호출하고 실행하기 전에 기계어 코드를 디스크에 저장하지 않습니다. 기본적으로 메모리는 실행 가능한 것으로 표시되어야합니다. 보안 문제를 위해 메모리에 코드가 기록 된 후이 작업을 완료해야합니다. 또한 실행 가능한 메모리는 보안 허점이므로 읽기 전용으로 표시되어야합니다. 이에 대해 더 알고 싶다면이 기사를 확인하십시오. JIT 컴파일러 보안 측면 .

이제 더 나아가서 장단점에 대해 알아 보겠습니다. Just-In-Time 컴파일러 자바에서.

Java에서 JIT의 장단점

장점 :

  1. 몇 년 전에 작성한 Java 코드는 오늘날에도 더 빠르게 실행되며 Java 프로그램의 성능을 향상시킵니다.

  2. 또한 기본 이미지는 시작 활동이없고 메모리가 덜 필요하기 때문에 더 빠르게 실행됩니다.

단점 :

  1. 복잡성 증가 .

  2. 코드가 적은 프로그램은 Just-In-Time Compilation의 이점이 없습니다.

이것으로 Java의 JIT에 대한이 기사의 끝으로 이동합니다. 도움이 되었기를 바랍니다.

확인 전 세계에 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 이 자바 인터뷰 질문 외에도 자바 개발자가 되고자하는 학생과 전문가를 위해 설계된 커리큘럼을 마련했습니다.

질문이 있으십니까? 이 'JIT in Java'기사의 의견 섹션에 언급 해 주시면 가능한 한 빨리 답변을 드리겠습니다.