更新時間:2019-07-09 09:20:27 來源:動力節(jié)點 瀏覽7353次
對于高級工程師來講,自身的技術(shù)修為尤為重要,比如算法、設(shè)計模式、底層原理等,只有把這些基礎(chǔ)熟練之后,才能在開發(fā)過程中知其然知其所以然,出現(xiàn)問題時達到得心應(yīng)手。接下來與大家一起分享Java高級工程師面試的一些經(jīng)驗之談。
Memcache與Redis的區(qū)別
memcache把數(shù)據(jù)存在內(nèi)存之中,斷電后會掛掉;Redis部分數(shù)據(jù)持久化在硬盤上,斷電不會丟失。
memcache存的是key-value對,redis支持更多的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型
memcache可以使用一致性hash做分布式,redis可以做主從同步
redis單線程,只使用1個cp
floatf=3.4;是否正確?
不正確。3.4是雙精度數(shù),將雙精度型(double)賦值給浮點型(float)屬于下轉(zhuǎn)型(down-casting,也稱為窄化)會造成精度損失,因此需要強制類型轉(zhuǎn)換floatf=(float)3.4;或者寫成floatf=3.4F。
Math.round(11.5)等于多少?Math.round(-11.5)等于多少?
Math.round(11.5)的返回值是12,Math.round(-11.5)的返回值是-11。四舍五入的原理是在參數(shù)上加0.5然后進行下取整。
說說類的生命周期
1.加載,查找并加載類的二進制數(shù)據(jù),在Java堆中也創(chuàng)建一個java.lang.Class類的對象;
2.連接,連接又包含三塊內(nèi)容:驗證、準備、初始化。1)驗證,文件格式、元數(shù)據(jù)、字節(jié)碼、符號引用驗證;2)準備,為類的靜態(tài)變量分配內(nèi)存,并將其初始化為默認值;3)解析,把類中的符號引用轉(zhuǎn)換為直接引用;
3.初始化,為類的靜態(tài)變量賦予正確的初始值;
4.使用,new出對象程序中使用;
5.卸載,執(zhí)行垃圾回收。
java中實現(xiàn)多態(tài)的機制是什么?
重載:有同樣的方法名稱不同的參數(shù)列表。a(){}a(Stringb){}...
重寫(也稱覆蓋):即可以重新編寫與父類同名方法形象的稱之為重寫(覆蓋)。
描述一下JVM加載class文件的原理機制?
VM中類的裝載是由類加載器(ClassLoader)和它的子類來實現(xiàn)的,Java中的類加載器是一個重要的Java運行時系統(tǒng)組件,它負責(zé)在運行時查找和裝入類文件中的類。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743