1. 程式人生 > >String 的substring 方法底層研究,以及內存溢出

String 的substring 方法底層研究,以及內存溢出

中一 策略 blog 實現 構造方法 構造 創建 post img

對於String 中的substring()方法的底層研究及優缺點 根據看源碼可以知道,這個方法是通過new String(偏移量,數量,原字符串值)的構造方法,進行創建對象,這個方法的好處是為了提高效率實現快速的共享,但是由於要賦值原有的數據進行截取,在新的截取的字符串中包含了原來的所有的內容,占據了相應的內存,但是實際數值只是其中一部分,浪費了大量的內存空間 源碼 技術分享圖片技術分享圖片

有關內存溢出的原因

技術分享圖片

String的這個構造函數使用了以空間換時間的策略,浪費內存空間,提高字符串的生成速度

技術分享圖片

String 的substring 方法底層研究,以及內存溢出