이 발췌문에서 흥미로운 것을 발견 할 수 있습니다. 오라클 블로그 게시물 :
큐 : OpenJDK에있는 소스 코드의 차이점은 무엇입니까?
저장소 및 Oracle JDK를 빌드하는 데 사용하는 코드는 무엇입니까?
에이 : Oracle JDK 릴리스 빌드를위한 빌드 프로세스
OpenJDK 7에서는 배포 코드와 같은 몇 조각 만 추가하여,
오라클의 Java 플러그인 및 Java 구현을 포함합니다.
WebStart는 물론 폐쇄적 인 소스 타사 구성 요소 인
그래픽 래스터 라이저, 일부 오픈 소스 타사 구성 요소
코뿔소와 여기 저기에있는 몇 개의 조각들
설명서 또는 제 3 자 글꼴. 앞으로 우리의 의도는
우리가 고려해야 할 것을 제외한 Oracle JDK의 모든 부분을 오픈 소스
JRockit Mission Control과 같은 상용 기능 (아직 제공되지 않음)
Oracle JDK에서), 제 3 자 구성 요소를 다음으로 대체하십시오.
오픈 소스 대안을 통해 코드 간 패리티를 더 가깝게 만듭니다.
기지.
오라클은이 두 가지를 모두 생성해야하므로,
그 고객은 지불해야 할 좋은 이유가있을 것이며, 성과는 분명합니다.
방법.
나는 OpenJDK가 통역 전용 JVM이라고 믿는다. 이것은 포트가 더 쉽습니다.
아키텍처 고유의 어셈블리 코드는 없지만, 불행하게도,
성능이 떨어집니다.
OracleJDK는 플랫폼의 부동 소수점 ABI를 활용한다고 생각합니다.
(RP1의 소프트 플로트 및 RP2의 하드 플로트).
또한 플랫폼 별 코드가 더 빨라질 수 있습니다.
에이 JIT (Just-In-Time) 컴파일러 상어 (Shark)라고 불리는 두 곳 모두에 한 번 포함되었다.
OpenJDK에 포함되어 있다면 지식이 없습니다. Wikipedia OpenJDK JIT는 언급하지 않았고 나는이 낡고 문제가되는 이슈를 발견했다. Shark 컴파일러 제거 .
하나, Wikipedia Java 버전 기록 JIT가 포함됩니다.
OracleJDK에 현재 플랫폼 별 JIT 컴파일러가 포함되어있는 경우,
하지만 OpenJDK는 성능 차이를 잘 설명해 줄 수 있습니다.