programing

java.lang 네이티브 메서드에 대한 소스 코드는 어디에서 찾을 수 있습니까?

nicescript 2021. 1. 16. 09:18
반응형

java.lang 네이티브 메서드에 대한 소스 코드는 어디에서 찾을 수 있습니까?


저는 JNI에 대해 막연하게 익숙 하고 java.lang 패키지의 일부 기본 메서드에 대한 내 시스템 별 구현을보고 싶습니다. Thread#currentThread()예를 들어.

[JDK_HOME] / jre / bin에서 DLL을 많이 찾았지만 내가 말했듯이 소스 코드를 찾으려고합니다.

누구든지 네이티브 소스 코드를 찾을 수있는 위치를 알고 있습니까? 사용 가능합니까, 아니면 Sun에 의해 분류됩니까 (오라클 "우리가 이기기 위해 노력하고 있습니다"라는 뜻입니다)?


JDK6의 경우 java.net 에서 소스를 다운로드 할 수 있습니다 . 대한 java.lang이야기에서 시작 j2se/src/share/native/java/lang/, 다음 검색 ... JDK7는 디렉토리 구조 조금 정렬합니다.

와 같은 일부 메소드 Object.hashCode는 대신 핫스팟으로 구현하거나 JNI / Java를 통해 구현할 수 있습니다.

JDK6은 JRL (Java Research License) 및 JIUL (Java Internal Use License)을 통해 무료로 라이센스가 부여됩니다. JDK7 및 OpenJDK6은 CLASSPATH 예외가있는 GPL 2에 따라 라이센스가 부여됩니다 (대략적으로 GNU 바이러스를 발견하지 않고 연결할 수 있음). 저는 변호사가 아닙니다.

( BTW : 실제 변호사들은 제가 여전히 Sun Microsystems의 직원이라는 점을 지적하고 싶습니다. Sun UK는 더 이상 존재하지 않습니다. 이제 Oracle입니다.)

업데이트 (Thread.c의 위치 추가) : http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/9b8c96f96a0f/src/share/native/java/lang/Thread.c


OpenJDK 의 소스 코드를 볼 수 있습니다 ( Classpath Exception 으로 GPLv2 라이센스가 부여됨 ). JDK 구현 내부를 연구하는 가장 좋은 방법 일 것입니다. Java Research License에 구속되지 않는 한 실제 JDK 6 소스에 액세스 할 수 있습니다 .

참조 URL : https://stackoverflow.com/questions/2292629/where-to-find-source-code-for-java-lang-native-methods

반응형