Java 基礎知識彙總

1 關於虛擬機

1.1 垃圾收集

Java垃圾收集機制
GC-垃圾回收機制
這兩篇文章結合起來看 大體上能把 垃圾收集 介紹全了,
還需要補充,查看年輕代 老年代 各種內存使用情況的工具 ,以及使用方法。
這個可以在 深入分析Java web 中找到。

這部分後期補充
待更新。。。。

1.2 內存區域 與 內存溢出

內存區域與內存溢出

1.2類初始化

類初始化

1.3 類加載機制

類加載機制

2 併發

2.1 阻塞隊列

Java併發編程:阻塞隊列

2.2 併發新特性—Executor框架與線程池

併發新特性—Executor框架與線程池

2.3 生產者—消費者模型

生產者—消費者模型

2.4 Runnable和Thread實現多線程的區別

Runnable和Thread實現多線程的區別

3 待定

3.1 淺談Java中的hashcode方法

淺談Java中的hashcode方法

3.2 解析WeakHashMap與HashMap的區別詳解

解析WeakHashMap與HashMap的區別詳解

4 參數傳遞

當一個對象被當作參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後的結果,那麼這裏到底是值傳遞還是引用傳遞?
答:是值傳遞。Java 編程語言只有值傳遞參數。當一個對象實例作爲一個參數被傳遞到方法中時,參數的值就是該對象的引用一個副本。指向同一個對象,對象的內容可以在被調用的方法中改變,但對象的引用(不是引用的副本)是永遠不會改變的。Java參數,不管是原始類型還是引用類型,傳遞的都是副本(有另外一種說法是傳值,但是說傳副本更好理解吧,傳值通常是相對傳址而言)。

  • 如果參數類型是原始類型,那麼傳過來的就是這個參數的一個副本,也就是這個原始參數的值,這個跟之前所談的傳值是一樣的。如果在函數中改變了副本的 值不會改變原始的值.
  • 如果參數類型是引用類型,那麼傳過來的就是這個引用參數的副本,這個副本存放的是參數的地址。如果在函數中沒有改變這個副本的地址,而是改變了地址中的 值,那麼在函數內的改變會影響到傳入的參數。如果在函數中改變了副本的地址,如new一個,那麼副本就指向了一個新的地址,此時傳入的參數還是指向原來的 地址,所以不會改變參數的值。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章