웹사이트 검색

Java 컴파일러 및 Java Virtual Machine 이해 - 4부


지금까지 Java의 작업 및 코드 구조와 Java의 클래스, Main 메소드 및 루프 제어를 살펴보았습니다. 이번 포스팅에서는 Java Compiler와 Java Virtual Machine이 무엇인지 알아보겠습니다. 그 의미와 역할은 무엇입니까?

자바 컴파일러란?

Java는 변수가 올바른 종류의 데이터를 보유해야 함을 의미하는 강력한 유형의 언어입니다. 강력한 유형의 언어에서는 변수가 잘못된 데이터 유형을 보유할 수 없습니다. 이는 Java 프로그래밍 언어에서 매우 잘 구현된 안전 기능입니다.

Java 컴파일러는 변수를 검사하여 데이터 유형 보유에 대한 위반 사항을 담당합니다. Java의 동적 바인딩 기능에 필수인 몇 가지 예외가 런타임 시 발생할 수 있습니다. Java 프로그램이 실행될 때 이전에는 존재하지 않았던 새로운 객체가 포함될 수 있으므로 어느 정도 유연성을 갖기 위해 변수가 보유할 수 있는 데이터 유형에 몇 가지 예외가 허용됩니다.

Java 컴파일러는 주석을 제외하고는 컴파일되지 않는 코드 조각에 대한 필터를 설정합니다. 컴파일러는 주석을 구문 분석하지 않고 그대로 둡니다. Java 코드는 프로그램 내에서 세 가지 종류의 주석을 지원합니다.


1. /* COMMENT HERE */
2. /** DOCUMENTATION COMMENT HERE */
3. // COMMENT HERE

/**/ 또는 /***/ 사이 또는 뒤에 있는 모든 항목 //은 Java 컴파일러에서 무시됩니다.

Java 컴파일러는 구문 위반을 엄격하게 검사합니다. Java 컴파일러는 바이트코드 컴파일러로 설계되었습니다. 즉, 순전히 바이트코드로 작성된 실제 프로그램 파일에서 클래스 파일을 생성합니다.

Java 컴파일러는 보안의 첫 번째 단계입니다. 변수의 잘못된 데이터 유형을 확인하는 것이 첫 번째 방어선입니다. 잘못된 데이터 유형은 프로그램과 프로그램 외부에 손상을 줄 수 있습니다. 또한 컴파일러는 개인 클래스와 같이 제한된 코드 조각을 호출하려는 코드 조각이 있는지 확인합니다. 코드/클래스/중요 데이터에 대한 무단 액세스를 제한합니다.

Java 컴파일러는 JVM을 실행해야 하는 플랫폼 및 구조적으로 중립적인 바이트코드/클래스 파일을 생성하며 말 그대로 모든 장치/플랫폼/아키텍처에서 실행됩니다.

JVM(자바 가상 머신)이란 무엇입니까?

Java Virtual Machine은 Java 애플리케이션과 OS 사이에 추가 계층을 배치하는 차세대 보안 라인입니다. 또한 누군가가 인증되지 않은 중요 데이터에 대한 접근을 제한하기 위해 클래스 파일/바이트코드를 변조한 경우 Java Compiler로 보안 검사 및 컴파일된 클래스 파일을 확인합니다.

Java Virtual Machine은 클래스 파일을 기계 언어로 로드하여 바이트코드를 해석합니다.

JVM은 로드 및 저장, 산술 계산, 유형 변환, 객체 생성, 객체 조작, 제어 전송, 예외 발생 등과 같은 기능을 담당합니다.

Java 컴파일러가 코드를 calssfile/bytecode로 컴파일한 다음 Java Virtual Machine이 클래스 파일/바이트코드를 실행하는 Java의 작업 모델입니다. 이 모델은 코드가 빠른 속도로 실행되도록 보장하고 추가 계층이 보안을 보장합니다.

그렇다면 Java Compiler 또는 Java Virtual Machine이 더 중요한 작업을 수행한다고 생각하시나요? Java 프로그램은 기본적으로 표면(컴파일러와 JVM)을 모두 통해 실행되어야 합니다.

이 게시물에서는 Java 컴파일러와 JVM의 역할을 요약합니다. 아래 의견에 귀하의 모든 제안을 환영합니다. 우리는 다음 게시물 "Java의 객체 지향 접근 방식"을 작업 중입니다. 그때까지 TecMint에 계속 관심을 갖고 연결해 주세요. 우리를 좋아하고 공유하고 우리가 퍼질 수 있도록 도와주세요.