您好,登錄后才能下訂單哦!
Java平臺該如何理解,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
Java平臺該如何理解?
當你聽到這個問題的時候,可能會有點不知所措。這個問題講實話有點籠統,太開放了!
如果你當時稍微一緊張就會。。額,停頓。。感覺有點吃虧!那怎么回答這個問題呢?
其實對于這類比較籠統的問題,首先你要表現的胸有成竹,要讓自己的回答讓面試官感覺你的知識是有系統化的而不是零散的!而且要面試官覺得你是一個知其然并知其所以然的人!
比如這樣回答:Java是一種面向對象的語言,它具有跨平臺性,一次書寫,到處運行(Write once,run anywhere)。因為Java是把源碼通過JavaC編譯,生成了字節碼。字節碼并不是可以直接運行的機器碼,而是再通過JVM的解釋器將字節碼轉換成最終的機器碼。所以Java是因為有JVM屏蔽了操作系統和硬件的細節情況下實現了跨平臺性!
并且有垃圾收集器。Java通過垃圾收集器來回收和分配內存,絕大部分情況下我們的編碼都不需要操心內存的回收和分配,常見的垃圾回收器有SerialGC,ParallerGC,CMS,G1等。(當然你不熟悉這幾種的話還是別說了,別給自己挖坑)
而且平時下還會接觸到JRE和JDK。JRE(Java Runtime Environment),也就是Java運行環境,包含了JVM和Java類庫等。而JDK(Java Development Kit) 可以視為JRE的超集,還提供了一些工具比如各種診斷工具:jstack,jmap,jstat等(注意這幾種工具不熟就別說了!)
這當然不是標準答案了,只要你把你知道的有關于Java的,并且這方面你是做的深入了解的點說出來,讓面試官覺得其實你是一個肯挖掘的人,了解東西有深度這樣就行了!
一般這種問題都是開頭的第一個問題,你的回答其實是有指向性的,你可以把知識點往你知道的多的地方引!一般而且面試官都會順著你說的問題來問,除非你說的太有深度了,面試官也不懂了哈哈哈!
比如上面回答的:JVM的解釋器將字節碼轉換成最終的機器碼。就如其實你對垃圾處理器不太熟悉但是你對類加載這一塊特別熟,你知道BootstrapClassLoader,ApplicationClassLoader,ExtensionClassLoader。知道類加載過程:加載,驗證,鏈接,初始化。還會自定義ClassLoader。就說!使勁的說!就往這方向帶。
還有上面"JVM屏蔽了操作系統和硬件的細節",其實就是我們不管是要在windows上還是linux都需要安裝jdk才能跑Java。其實也就是說我們不管在哪個操作系統,我們裝了jdk,Java就都能跑,這就是跨平臺啦!
還有上面提到的"通過JVM的解釋器將字節碼轉換成最終的機器碼"。其實不太準確,怎么說呢?絕大部分情況下Java都是通過解釋執行的,但是常見的JVM都提供了JIT(Just-In-Time)編譯器,也就是動態編譯器,JIT可以在運行時將熱點代碼編譯成機器碼,那這部分代碼就是編譯執行了!
關于Java平臺該如何理解問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。