《架構師之路1》三張圖徹底瞭解Java中字串的不變性
定義一個字串
String s = "abcd";
s
中儲存了string物件的引用。下面的箭頭可以理解為“儲存他的引用”。
使用變數來賦值變數
String s2 = s;
s2儲存了相同的引用值,因為他們代表同一個物件。
字串連線
s = s.concat("ef");
s
中儲存的是一個重新建立出來的string物件的引用。
總結
一旦一個string物件在記憶體(堆)中被建立出來,他就無法被修改。特別要注意的是,String類的所有方法都沒有改變字串本身的值,都是返回了一個新的物件。
如果你需要一個可修改的字串,應該使用StringBuffer 或者 StringBuilder。否則會有大量時間浪費在垃圾回收上,因為每次試圖修改都有新的string物件被建立出來。
相關文章
- 8張圖瞭解JAVA整體構架知識體系!Java
- 架構師之路-https底層原理架構HTTP
- 一張圖瞭解Spring Cloud微服務架構SpringCloud微服務架構
- 一張圖徹底搞定 explainAI
- 推薦一張不錯的架構圖架構
- 51 張圖助你徹底掌握 HTTP!HTTP
- 兩張圖徹底搞懂MyBatis的Mapper原理!MyBatisAPP
- 八張圖徹底瞭解JDK8 GC調優祕籍-附PDF下載JDKGC
- 七張圖徹底講清楚ZooKeeper分散式鎖的實現原理【石杉的架構筆記】分散式架構筆記
- 一張圖徹底理解Javascript原型鏈JavaScript原型
- 架構師之路:從Java碼農到年薪八十萬的架構師架構Java
- 架構師之路架構
- 依賴倒置原則就看這篇,7張圖解徹底吃透,架構設計築基必知必會圖解架構
- 三分鐘瞭解架構的起源架構
- 5張圖徹底理解Python中的淺拷貝與深拷貝Python
- Linux從頭學06:16張結構圖,徹底理解【程式碼重定位】的底層原理Linux
- 菜鳥的架構師之路架構
- 一張圖徹底KO原型鏈(prototype,__proto__)原型
- 一張圖徹底搞懂Spring迴圈依賴Spring
- 徹底瞭解 ab 測試的計算公式公式
- Fabric架構演變之路架構
- 第45篇 ARM架構的全景圖瞭解架構
- 一篇文章讓你徹底瞭解Java內部類Java
- 架構師之路:一個架構師需要掌握的知識技能架構
- webpack之路徑徹底吃透Web
- 12張圖帶你徹底理解分散式事務!!分散式
- 一文徹底理解微服務架構微服務架構
- 天啦嚕!僅僅5張圖,徹底搞懂Python中的深淺拷貝Python
- 【乾貨】MySQL底層架構設計,你瞭解多少?MySql架構
- 圖解|這次,徹底理解MySQL的索引圖解MySql索引
- 架構師成長之路也該瞭解的新一代微服務技術-ServiceMesh(上)架構微服務
- 一張圖瞭解WiFi 6WiFi
- HashMap原始碼分析(二):看完徹底瞭解HashMapHashMap原始碼
- .Net中字串不變性與相等判斷的特殊場景字串
- 帶你瞭解極具彈性的Spark架構的原理Spark架構
- 阿里十年架構師用一張圖告訴你什麼是系統架構師阿里架構
- 阿里雲架構師解讀三大主流遊戲架構阿里架構遊戲
- 一張思維導圖輔助你深入瞭解 Vue | Vue-Router | Vuex 原始碼架構Vue原始碼架構