回覆列表
-
1 # 吹毛
-
2 # 我們一起學Python
走向架構師,你必須瞭解的Java虛擬機器高階特性
連結: https://pan.baidu.com/s/1hAPo19keNFHb9ycBctkU2A 密碼: iayw
看完了你就知道Java虛擬機器了 不要謝我 、
對了
-
3 # 問答巡邏員
jvm重要性?舉個例子,如果java程式設計師不瞭解jvm,就像在沙漠中亂摸方向的人,很快就會渴死在沙漠中。
jvm對java程式設計師來說既熟悉又陌生,熟悉是因為我們每天編寫的java程式是在jvm上執行,陌生是因為大多數人對jvm執行原理了解甚少,不過目前來看,相信已經有大神將jvm各部分重要資訊寫出來了,我就不重複這部分內容了。
我就來簡單說下jvm為什麼重要?
1、瞭解jvm的記憶體區域。
瞭解這部分可以幫助你認知jvm各部分記憶體存放的何種資料,假如這些資料存放所需空間超出記憶體空間怎麼辦?那麼會出現StackOverflowError或者OutOfMemeryError異常,很多人會碰到這些異常並且對於大型複雜的系統,有時是很難發現原因的,假如我們瞭解記憶體區域的資料存放機制,那麼我們就可以快速定位出問題。
2、瞭解jvm中記憶體管理。
記憶體的分配與垃圾回收就像一堵圍牆,對於java程式設計師來說是牆外的人,而對於c程式設計師來說是牆內的人。對記憶體的管理儘管不需要java程式設計師親自操作,但是你必須得了解!不瞭解的話,對於複雜的大型系統,很難編寫高質量的程式碼以及提供高效能的最佳化措施。
總的來說,這兩部分是jvm中尤為重要的知識點,想進階為高階程式設計師,這是你的必經之路!
重要嗎?不重要嗎?面試官也不是傻子,他們自己想要什麼樣子的學員自己心裡都清楚。jvm這個問題真的是老生常談的問題,不過他真的存在很大問題,問題的原因在於,80%的初級程式設計師都對它不瞭解,除了知道它的垃圾回收是一個自動的,它是一個虛擬機器,java程式碼在上面跑,其他的一概不知。
其實java虛擬機器面試更多的題我相信是gc垃圾回收,記憶體執行時資料區模型這一類把。
說它不重要,是因為在平常正常情況下, 它的gc垃圾回收全部都是使用的自動垃圾回收機制,使你絲毫不知道任何資訊。所以它不重要。
說它重要,是因為一旦出現了記憶體溢位,出現需要對jvm調優,你連jvm是啥都不知道你怎麼對它進行操作?
再退一萬步說,你平時寫程式碼,你連程式碼是如何執行的都不知道,你說你有探索精神麼?你說我敢要你麼?不求甚解就是你對工作的態度嗎?
他們甚至可以從這個問題上看出很多個人品質與素養.
所以學會這個問題不是重要不重要.
而是必須學會!
希望你能趕快學會這個技能,省著以後面試還會問到,早晚都需要.
本人曾寫過一篇
最後感謝看完。
撒花。