我想知道JVM的內部,它如何執行以及重要的細節。你能建議任何資源或最好的書可用於這?理解JVM更好
理解JVM更好
回答
我所知道的大多數JVM來自Sun文檔。他們對HotSpot虛擬機的一些偉大的白皮書: http://java.sun.com/javase/technologies/hotspot/index.jsp
你提到的性能,所以也許你會感興趣的太陽性能文檔: http://java.sun.com/docs/performance/
對於多動手上的做法,嘗試尋找在Kaffe。這將向您展示虛擬機的功能,但並不一定如何在Sun的JVM中運行Java代碼:
Kaffe是Java虛擬機的潔淨室實施,以及提供Java運行時所需的關聯類庫環境。
而且OpenJDK的是瞭解Java平臺如何實現一個偉大的地方: http://openjdk.java.net/
明顯的第一選擇是The Java Virtual Machine Specification。還有The Wikipedia Page,鏈接到其他資源。從 「裏面的Java 2虛擬機」
章節:
http://www.artima.com/insidejvm/ed2/index.html
「引擎蓋下」,由比爾文章
http://www.artima.com/underthehood/index.html
還有 「茉莉花」,一個裝配臺對於JVM,如果您想讓自己的手變髒並嘗試使用JVM進行低級編程。
如果你的動機是要找出如何編寫工作更快,佔用內存更少的虛擬機規範不會幫助太多的代碼。
VM規範不是爲了給你提供有關信息,它的目的是讓VM開發人員大致瞭解如何實現VM。
這就是說它不能閱讀它。
找出有關速度/內存問題的最佳方法是在更高層次上,有許多書籍可以幫助您更快/更精簡的代碼。
探查器是測試代碼以查看更快/使用更少內存的寶貴工具。配置文件,看看什麼是慢/使用大量的內存,改變它,配置文件,看看有什麼變化。
下面是我深入的在線課程Java的一個鏈接Udemy平臺。它有一個關於JVM的完整章節,大約有3個小時的視頻。它涵蓋了從類型的生命週期,運行時數據區域,反射,垃圾收集,堆棧和指令集等所有內容。 「Java 2虛擬機內部」在其中一個答案中提到的在線書籍被用作參考書籍之一。
https://www.udemy.com/java-in-depth-become-a-complete-java-engineer/
這裏是一個很好的和堆的簡短說明,對象分配和垃圾收集, Understanding Memory Management。 您可以從那裏開始探索更多。
- 1. 更好地理解JavaScript
- 2. 更好的理解服務
- 3. 更好的理解範圍
- 4. 更好地理解phantom.exit的()
- 5. 更好地理解編譯
- 6. 更好地理解錯誤
- 7. 更好地理解SimpleAdapter的ViewBinder
- 8. 需要更好的理解動作:woocommerce_subscription_status_cancelled
- 9. 寫更好的方法列表理解?
- 10. 更好地理解這個python代碼
- 11. 更好的理解JavaScript參數
- 12. ForeignKey關係更好的理解
- 13. 試圖更好地理解指針
- 14. 更好地理解extern「C」函數
- 15. 更好地理解Struts2的行爲
- 16. 有助於更好地理解聯接
- 17. 更好理解ODBC ODBC驅動程序
- 18. 在cocos2d中更好地理解CGRect
- 19. 更好地理解內存版本
- 20. 做得更好字典理解
- 21. 更好地理解getline()和cin
- 22. 爲了更好地理解regionprops
- 23. 使用Google Places更好地理解Api
- 24. 主幹 - 更好地理解模板
- 25. NodeJS,PM2,GC,Grafana - 更好的理解
- 26. 試圖更好地理解ng-if
- 27. Python:理解迭代器和`join()`更好
- 28. 更好地理解屬性聲明
- 29. 從Mysql到Android更好地理解base64
- 30. 更好地理解__str__用法