溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java平臺該如何理解

發(fā)布時間:2022-01-17 15:47:12 來源:億速云 閱讀:114 作者:柒染 欄目:大數(shù)據(jù)

Java平臺該如何理解,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

Java平臺該如何理解?

當(dāng)你聽到這個問題的時候,可能會有點不知所措。這個問題講實話有點籠統(tǒng),太開放了!

如果你當(dāng)時稍微一緊張就會。。額,停頓。。感覺有點吃虧!那怎么回答這個問題呢?

其實對于這類比較籠統(tǒng)的問題,首先你要表現(xiàn)的胸有成竹,要讓自己的回答讓面試官感覺你的知識是有系統(tǒng)化的而不是零散的!而且要面試官覺得你是一個知其然并知其所以然的人!

比如這樣回答:Java是一種面向?qū)ο蟮恼Z言,它具有跨平臺性,一次書寫,到處運行(Write once,run anywhere)。因為Java是把源碼通過JavaC編譯,生成了字節(jié)碼。字節(jié)碼并不是可以直接運行的機器碼,而是再通過JVM的解釋器將字節(jié)碼轉(zhuǎn)換成最終的機器碼。所以Java是因為有JVM屏蔽了操作系統(tǒng)和硬件的細(xì)節(jié)情況下實現(xiàn)了跨平臺性!

并且有垃圾收集器。Java通過垃圾收集器來回收和分配內(nèi)存,絕大部分情況下我們的編碼都不需要操心內(nèi)存的回收和分配,常見的垃圾回收器有SerialGC,ParallerGC,CMS,G1等。(當(dāng)然你不熟悉這幾種的話還是別說了,別給自己挖坑)

而且平時下還會接觸到JRE和JDK。JRE(Java Runtime Environment),也就是Java運行環(huán)境,包含了JVM和Java類庫等。而JDK(Java Development Kit) 可以視為JRE的超集,還提供了一些工具比如各種診斷工具:jstack,jmap,jstat等(注意這幾種工具不熟就別說了!)

這當(dāng)然不是標(biāo)準(zhǔn)答案了,只要你把你知道的有關(guān)于Java的,并且這方面你是做的深入了解的點說出來,讓面試官覺得其實你是一個肯挖掘的人,了解東西有深度這樣就行了!

一般這種問題都是開頭的第一個問題,你的回答其實是有指向性的,你可以把知識點往你知道的多的地方引!一般而且面試官都會順著你說的問題來問,除非你說的太有深度了,面試官也不懂了哈哈哈!

比如上面回答的:JVM的解釋器將字節(jié)碼轉(zhuǎn)換成最終的機器碼。就如其實你對垃圾處理器不太熟悉但是你對類加載這一塊特別熟,你知道BootstrapClassLoader,ApplicationClassLoader,ExtensionClassLoader。知道類加載過程:加載,驗證,鏈接,初始化。還會自定義ClassLoader。就說!使勁的說!就往這方向帶。

還有上面"JVM屏蔽了操作系統(tǒng)和硬件的細(xì)節(jié)",其實就是我們不管是要在windows上還是linux都需要安裝jdk才能跑Java。其實也就是說我們不管在哪個操作系統(tǒng),我們裝了jdk,Java就都能跑,這就是跨平臺啦!

還有上面提到的"通過JVM的解釋器將字節(jié)碼轉(zhuǎn)換成最終的機器碼"。其實不太準(zhǔn)確,怎么說呢?絕大部分情況下Java都是通過解釋執(zhí)行的,但是常見的JVM都提供了JIT(Just-In-Time)編譯器,也就是動態(tài)編譯器,JIT可以在運行時將熱點代碼編譯成機器碼,那這部分代碼就是編譯執(zhí)行了!

關(guān)于Java平臺該如何理解問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI