程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> java基礎盲點梳理,java盲點梳理

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

編輯:JAVA綜合教程

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對象通常當做靜態域存儲,使得每個單獨的線程都被分配了自己的存儲

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved