문제

JVM 구현은 어디에서 다릅니 까? 라이센스 제외). 모든 JVM이 일반 취급을위한 유형 삭제를 구현합니까?

다음의 차이점은 다음과 같습니다.

  • jrockit
  • IBM JVM
  • Sun JVM
  • JDK를 열었습니다
  • 블랙 다운
  • 카페

..... 그들 중 하나를 꼬리 통과 최적화로 처리합니까?

도움이 되었습니까?

해결책

JVM 구현은 JIT 컴파일, 최적화, 쓰레기 수집, 지원되는 플랫폼, Java 지원 버전 등을 구현하는 방식이 다를 수 있습니다. 모두 Java 바이트 코드를 올바르게 실행할 수 있도록 일련의 기능과 동작을 충족해야합니다.

기술적 차이에 이르기까지, 그것들은 수년에 걸쳐 덜 중요 해졌습니다. 옛날 옛적에 IBM과 JROCKIT JVM은 참조 SUN 구현보다 훨씬 뛰어난 성능을 보였습니다. 이는 런타임 최적화 유형, 가비지 수집의 차이 및 기본 코드의 차이 (및 다양한 클래스가 사용하는 기본 코드의 차이)의 상당한 차이로 인한 것입니다. 이러한 성능 차이는 더 이상 중요하지 않습니다.

다른 팁

타입 지우기는 a입니다 컴파일러 기능

JIT 컴파일은 JVM : S가없는 것 중 하나입니다.

JVM이 Java라고 주장하면 TCK를 통과하여 많은 재고를 제공해야합니다.

차이점은 쓰레기 수집, Sun JVM의 JConsole/VisualVM, 사전 컴파일 등과 같은 비 코어 장소에 있습니다.


설명 : TCK는 공식적으로 Java를 준수하기 위해 가상 머신이 통과 해야하는 테스트 스위트입니다.

JVMS의 또 다른 차이점은 문서화되지 않은 API의 동작입니다. (예 : com.sun.xxx) 예를 들어, Sun의 JVM과 IBM의 JVM은 신호 처리에 대해 약간 다른 동작을 가지고 있습니다. (IBM의 JVM은 애플리케이션이 특정 경우 "int"신호를 가두도록 허용하지 않습니다.)

Tail-Call 최적화는 아직 Java에 의해 지원되지 않습니다. John Rose는 이것을 향후 릴리스에 포함시키려는 노력을 주도하고 있으며 접근 및 일부 문제 관련된.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top