java基礎盲點梳理,java盲點梳理

來源:互聯網
上載者:User

java基礎盲點梳理,java盲點梳理

  • 類的基本成員才有預設值

  • finalize()並非析構,Java中沒有析構,使用finalize()通常在於跨語言調用情景:比如使用C進行malloc記憶體配置以後,要在finalize()方法中進行free,以便於提供一種記憶體釋放的方法,否則當量達到一定程度時會造成out of memories。Jvm在進行gc時會優先調用finalize(),但這並不意味著一定會釋放finalize中指定的對象,因為gc最終只和記憶體相關,當記憶體達到回收條件時才會進行記憶體回收

  • 靜態塊static{xxx;}在類載入時就進行初始化,非靜態塊和建構函式在建立對象時才會初始化或調用,並且非靜態塊要優先於建構函式。

  • 內部類可以訪問外圍類所有成員,包括private成員

  • 通過內部類可以變相的實現“多重繼承”

  • 匿名內部類常用於執行個體初始化

  • 動態代理,通過反射動態地建立Proxy,Proxy用於添加一些你想對Target進行的額外操作,然後在適當的時候將請求轉寄給Target。換句話說,Proxy在Target上進行了一層封裝修改。

  • HashMap,通過設定容量和負載因子,以調整容器的效能。預設容量達到四分之三滿時將自動進行擴充&再散列。因此,如果能夠預估儲存容量,然後設定一個恰當的初始容量,將可以避免自動再散列的開銷

  • transient關鍵字可以避免敏感資訊欄位的序列化

  • ThreadLocal對象通常當做靜態域儲存,使得每個單獨的線程都被分配了自己的儲存

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.