1.你例如1_000_000(或者0b1111_0100_0010_0100_0000)表示100萬(wàn)。下劃線閱讀起來(lái)更容易邢笙,JAVA編譯器會(huì)直接刪除他們
2.對(duì)象在堆中創(chuàng)建啸如,類的成員變量默認(rèn)有初始值。而局部變量一般在棧中氮惯,必須在操作前明確初始化叮雳,否則編譯不通過(guò)想暗。
3.Java創(chuàng)建一個(gè)對(duì)象分為強(qiáng)引用、軟引用帘不、弱引用说莫、虛引用,
強(qiáng)引用是用關(guān)鍵字new 直接創(chuàng)建的對(duì)象寞焙,只要某
個(gè)對(duì)象有強(qiáng)引用與之關(guān)聯(lián)储狭,JVM必定不會(huì)回收這個(gè)對(duì)象,即使在內(nèi)存不足的情況下捣郊,JVM寧愿拋出OutOfMemory錯(cuò)誤也不會(huì)回收這種對(duì)象辽狈。
軟引用是用來(lái)描述一些有用但并不是必需的對(duì)象,在Java中用java.lang.ref.SoftReference類來(lái)表示呛牲。對(duì)于軟引用關(guān)聯(lián)著的對(duì)象刮萌,只有在內(nèi)存不足的時(shí)候JVM才會(huì)回收該對(duì)象。因此娘扩,這一點(diǎn)可以很好地用來(lái)解決OOM的問(wèn)題着茸,并且這個(gè)特性很適合用來(lái)實(shí)現(xiàn)緩存:比如網(wǎng)頁(yè)緩存、圖片緩存等琐旁。
弱引用也是用來(lái)描述非必需對(duì)象的元扔,當(dāng)JVM進(jìn)行垃圾回收時(shí),無(wú)論內(nèi)存是否充足旋膳,都會(huì)回收被弱引用關(guān)聯(lián)的對(duì)象澎语。在java中,用java.lang.ref.WeakReference類來(lái)表示验懊。
虛引用和前面的軟引用擅羞、弱引用不同,它并不影響對(duì)象的生命周期义图。在java中用java.lang.ref.PhantomReference類表示减俏。如果一個(gè)對(duì)象與虛引用關(guān)聯(lián),則跟沒(méi)有引用與之關(guān)聯(lián)一樣碱工,在任何時(shí)候都可能被垃圾回收器回收娃承。
4. final修飾的類不能被繼承,修飾的方法不能被覆蓋怕篷。對(duì)于全局成員历筝,final必須在定義時(shí)初始化,與默認(rèn)值和static無(wú)關(guān)廊谓。而對(duì)于方法中的final梳猪,在操作前必須初始化。final修飾的變量只能被賦值一次蒸痹。final的語(yǔ)義其實(shí)就是不可以改變引用的指向春弥,但其指向的對(duì)象的狀態(tài)仍然可以改變呛哟。這點(diǎn)與C++的頂層const類似。狀態(tài)不改變的類稱為不可變類匿沛。
5.JDK10扫责,11可以使用var 關(guān)鍵字聲明變量,例如 var obj = new Object();
6.JDK11之后逃呼,Oracle公司要對(duì)JDK收費(fèi)公给,不過(guò)個(gè)人學(xué)習(xí)使用還是免費(fèi),商業(yè)使用目的要收費(fèi)