2013-04-10 35 views
1

我強烈懷疑,這個問題將不會是一個非常適合用於Q &的一種格式,但我在努力尋找正確的話 - 隨意重新編輯的問題。爲什麼我會用另一個JVM?

所以我期待在Wikipedia's long list of java virtual machines,我發現自己想,因爲Java是一種便攜式的語言爲什麼有人會選擇一個JVM比其他?這是一種表演嗎?有些更安全嗎?

+0

Joe,我編輯了你的問題,說明你問的是使用一個JVM而不是另一個JVM(例如,Oracle的Hot Spot vs Skelmir的CEE-J)。如果這不是你的意思,隨意回滾編輯。 – 2013-04-10 12:36:03

回答

6

第一個原因是,JVM本身並沒有用Java編寫的,而不是可跨操作系統。所以如果你的操作系統是Windows,你最好選擇一個Windows VM,如果你在Linux上運行,你最好選擇一個Linux VM。

第二個原因是該語言的新版本需要新版本的JVM。因此,例如,Java 7 VM將無法運行使用Java 8 Lambdas編寫的程序。

然後像往常一樣與所有的產品:有些是比其他一些地區更有效。有些是開源的,有些則不是。有些是專門針對給定類型的問題和其他人都比較一般,等

-1

在新版本中有performance.The垃圾收集算法更增強的效率比以前的one.So,這將是不錯的主意移動到新的有更好的表現。

+0

你有任何可以備份你的陳述的鏈接/事實嗎?順便說一句,我沒有downvote ... – maba 2013-04-10 12:31:10

+0

http://docs.oracle.com/javase/7/docs/technotes/guides/vm/ – 2013-04-10 12:36:59

+0

這些是一些特定Oracle VM版本的增強功能。答案肯定不會觸及問題的指甲...... – TheBlastOne 2013-04-10 12:59:39

0

我會對反問題。

所有的汽車都提供了一種交通工具,爲什麼選擇一輛汽車而不是另一輛? Sun/Oracle只是提供了一個JVM實現者需要遵循的規範。

您可以將JVM視爲產品。不同的JVM供應商提供額外的功能/增強功能,同時遵守最低通用分母的基本規範。

0

新版本修正了錯誤,安全問題等,語法(我知道,語法糖是正確的詞)和性能的許多增強。

+2

JVM之間有語法更改嗎? – Joe 2013-04-10 13:06:10

+0

Ya,已經做了一些補充,例如for-each分別在1.5中引入,在1.7中引入了資源嘗試等等。 – Kishore 2013-04-11 13:50:39

相關問題