Java 개발에 사용되는 프로그래밍 언어는 무엇입니까?
이 질문에 이미 답변이 있습니다.
인터뷰에서 Java를 구현하는 데 사용 된 프로그래밍 언어가 무엇인지 물었습니다. 나는 깜짝 놀랐다. 나는 이것을 결코 생각하지 않았다. 핵심 Java 클래스가 Java에 있다는 것만 알고 있습니다.
Java 개발에 사용되는 프로그래밍 언어는 무엇입니까?
Sun의 JDK 구현을 작성한 사람이 이미 동일한 질문에 답변했습니다. Wiki Answers
Java 언어는 언어 사양입니다. 언어를 언어로 작성하는 것이 아니라 사양입니다. "독일어로 프랑스어를 쓰나요?"라고 묻는 것과 같습니다.
질문자가 정말로 알고 싶어하는 것은 "JDK가 개발 된 언어는 무엇입니까?"입니다. 즉, 전체 Java Virtual Machine 및 Class 라이브러리가 개발 한 기본 언어는 무엇입니까?
대답은 VM의 경우 여러 VM 구현이 있기 때문에 다양합니다. 그러나 클래스 라이브러리는 Java VM 자체를 사용하여 실행하기 위해 항상 Java로 작성됩니다. JNI (Java Native Interface)를 사용하는 특정 라이브러리는 JVM 외부에서 사용하기위한 것이므로 부분적으로 다양한 다른 언어로 작성 될 수 있습니다.
Sun / Oracle VM은 C ++로 작성되었습니다. BEA / Weblogic / Oracle VM은 C로 작성되었습니다. IBM의 J9는 C ++로 작성되었습니다. 실제로 Java로 작성된 두 개의 VM이 있고 Lisp로 작성된 것도 있습니다. 대부분의 JVM에는 특정 "핫"영역의 속도를 높이기위한 어셈블러 코드도 포함되어 있습니다.
Java 가상 머신 자바 코드가 실행되는 오라클 (JVM)은 C ++로 작성되었습니다.
다른 언어로 구현되고 일부는 Java 자체로 구현되는 다른 당사자의 다른 가상 머신이 있습니다. 그들 중 일부의 목록은 여기 wikipedia 에서 볼 수 있습니다 .
이를 이해하려면 Java Virtual Machine 이 프로젝트를 빌드 할 때 Java 컴파일러에 의해 생성 된 바이트 코드 를 실행한다는 사실을 알아야 합니다. 이 바이트 코드는 가능한 모든 운영 체제 및 플랫폼에 적합한 수준이므로 특정 플랫폼의 가상 머신에서 작동합니다. (이것이 Java가 교차 시스템 호환성을 달성하는 방법입니다)
또한 여러 Java 컴파일러가 있습니다. (Java 코드를 바이트 코드로 컴파일하는 것) 가장 일반적인 것은 주로 C로 작성된 oracle의 javac 컴파일러 입니다. 여기 에 대한 자세한 정보 .
Java 라이브러리 (java.lang, java.util etc, often referred to as the Java API)
는 자체적으로 Java로 작성되지만 메소드는native.
일 JVM은 C로 작성 , 컴퓨터에 JVM의 실행은입니다 platform-dependent executable
따라서 수 있었다 원래 어떤 언어로 작성 .
Oracle JVM (HotSpot) 은 C++ programming language
.
Oracle에서 제공하는 Java Compiler는 Java 자체로 작성됩니다.
기본적으로 Java는 Java의 기본 API를 통해 C를 사용하고 있습니다. Object 클래스와 같은 Java의 모든 클래스의 소스 코드를 확인하고 C 언어를 사용할 때마다 Java에서 네이티브 API를 호출했는지 확인할 수 있습니다.
public native int hashCode ();
Java는 C 및 Java로 작성됩니다.
Java는 JVM-Java 가상 머신에서 실행됩니다. JVM의 구현은 다양합니다.
참고 URL : https://stackoverflow.com/questions/10028057/what-programming-language-is-used-to-develop-java
'program tip' 카테고리의 다른 글
GPU가 CPU보다 더 강력한 이유 (0) | 2020.11.24 |
---|---|
문장에서 물음표와 콜론은 의미합니까? (0) | 2020.11.24 |
5GB보다 큰 파일에 대해 Amazon-S3 Etag를 계산하는 알고리즘은 무엇입니까? (0) | 2020.11.24 |
jquery, 지우기 / 비우기 tbody 요소의 모든 내용? (0) | 2020.11.23 |
라이브러리 사용 방법 (0) | 2020.11.23 |