程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> jvm-think in java一書中提到的類加載

jvm-think in java一書中提到的類加載

編輯:編程綜合問答
think in java一書中提到的類加載

RT
14章裡寫到:“所有的類都是在其第一次使用時,動態加載到JVM中的…………因此,JAVA程序在它開始運行之前並未完全被加載,其各個部分是在必需時才加載的”
這句話是單單對於反射而言,還是對於所有實例化類的方式而言呢?
也就是說對於所有的實例化類的方式而言,JAVA的類加載都是在運行時由JVM完成的而不是編譯時完成的嗎?

最佳回答:


類加載當然是運行時完成,編譯時只是檢查你的語法,並生成 class 文件。
類加載不僅僅是在有實例化的時候,類靜態變量被使用,類靜態方法被調用...總之就是在程序運行的時候,必需得用到某個類時,才會由類加載器將其加載到 jvm 的 PermGen 區。
因為是運行時的反射,所以程序員很容易有考慮不到的地方,掉進類加載的陷阱,致使類加載時出現故障導致程序執行失敗,即使是 JSR 的倡導者 Nokia 也不例外:http://blog.csdn.net/defonds/article/details/4889012http://blog.csdn.net/defonds/article/details/4889012

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved