Java基礎知識點
1.為什么String要設計成不可變的?
解答鏈接 https://blog.csdn.net/renfufei/article/details/16808775
2.談談final、finally、 finalize有什么不同?
final可以用來修飾類、方法、變量。final修飾的class,代表不可以繼承擴展。final的方法也是不可以重寫的。final修飾的變量是不可以修改的
提到finally,那么try-catch就逃不掉了。finally 則是Java保證重點代碼一定要被執行的一種機制。最常用的地方:通過try-catch-finally來進行類似資源釋放、保證解鎖等動作。
finalize在CG要回收某個對象時,讓這個對象有底氣的大喊一聲:“報告,我還能再搶救一下!”。但是也正是因為如此,JVM要對它進行額外處理。finalize也就成為了CG回收的阻礙者,也就會導致這個對象經過多個垃圾收集周期才能被回收。在Java9中,明確將Object.finalize()標記為deprecated!