【B站最全】Java面試看這一篇就夠了!!清華大佬爆肝172小時整理年度排名前2

課代表總結(jié)了JDK、JRE、JVM之間的區(qū)別的信息??????
視頻內(nèi)容:
1??JDK、JRE、JVM之間的區(qū)別??
2??hashCode()與equals()之間的關(guān)系??
視頻內(nèi)容:
1??JDK、JRE、JVM之間的區(qū)別??
JDK(Java SE Development Kit),Java標(biāo)準(zhǔn)開發(fā)包,它提供了編譯、運(yùn)行Java程序所需的各種工具和資源,包括Java編譯器Java運(yùn)行時環(huán)境,以及常用的Java類庫等
JRE(Java Runtime Enwironment),Jlava運(yùn)行環(huán)境,用于運(yùn)行Java的字節(jié)碼文件。JRE中包括了NM以及JNM工作所需要的類庫,普通用戶而只需要安裝RE來運(yùn)行Java程序,而程序開發(fā)者必須安裝JDK來編譯、調(diào)試程序。
JVM(Java Virtual Mechinal), Java虛擬機(jī),是JRE的一部分,它是整個java實現(xiàn)跨平臺的最核心的部分,負(fù)責(zé)運(yùn)行字節(jié)碼文件。

2??hashCode()與equals()之間的關(guān)系??
在lava的一些集合類的實現(xiàn)中,在比較兩個對象是否相等時,會根據(jù)上面的原則,會先調(diào)用對象的hashCodel)方法得到hnashCode進(jìn)行比較,如果hashCode不相同,就可以直接認(rèn)為這兩個對象不相同,如果heashCode相同,那么就會進(jìn)一步調(diào)用equalsl)方法進(jìn)行比較。
而equals0方法,就是用來最終確定兩個對象是不是相等的,通常equals方法的實現(xiàn)會比較重,邏輯比較多,而hashCode)主要就是得到一個哈希值,實際上就一個數(shù)字,相對而言比較輕,所以在比較兩個對象時,通常都會先根據(jù)hashcode想比較—下。
