33.Java-String分析
常量池:專門儲存常量的地方,都指的方法區中
編譯常量池:把位元組碼載入進JVM的時候,儲存的是位元組碼的相關資訊(不研究)
執行常量池:儲存常量資料(研究)
面試題1
下列程式碼分別建立了幾個String物件?
String str1 = "ABCD";
String str2 = new String("ABCD");
public class Hello{
public static void main(String[] args){
String str1 = "ABCD";
String str2 = "A"+"B"+"C"+"D";
String str3 = "AB"+"CD";
String str4 = new String("ABCD");
string str = "AB";
String str5 = temp+"CD";
String str6 = getStr()+"CD";
}
public static String getStr(){
return "AB";
}
}
String物件比較:
一:單獨使用""引號建立的字串都是直接量,編譯時期就已經確定儲存到常量池中.
二:使用new String("")建立的物件會儲存到堆中,是執行時期才建立.
三:使用包含直接量的字串連線符如 "AA"+"BB"建立的也是直接量,編譯時期就能確定,已經 確定能儲存到常量池中
四:使用包含String直接量(無final修飾符)的字串表示式(如 "AA"+s1)建立的物件是執行時期才建立的,儲存到堆中.
相關文章
- 後端分析/前端分析/邊緣分析後端前端
- 【漏洞分析】KaoyaSwap 安全事件分析事件
- jemeter分析(二) — jmeter案例分析JMeter
- USB 邏輯分析儀分析丟包怎麼分析(lecroy USB 邏輯分析儀)
- Giraph原始碼分析(六)——Edge 分析原始碼
- 從電影分析到遊戲分析遊戲
- 故障分析 | MySQL死鎖案例分析MySql
- EOS原始碼分析(3)案例分析原始碼
- MyCAT原始碼分析——分析環境部署原始碼
- Excel做分析-相關性分析Excel
- 分析建模-如何識別分析類?
- 分析:應用收費模式分析模式
- 分析建模中的行為分析
- apache kafka原始碼分析-Producer分析ApacheKafka原始碼
- 日誌分析-apache日誌分析Apache
- Unity效能分析(二)CPU/GPU分析UnityGPU
- SWOT分析、PEST分析、GE矩陣、波士屯矩陣等分析方法矩陣
- 資料分析師招聘分析2.0
- Java集合框架分析(五)LinkedHashMap分析Java框架HashMap
- 詞法分析的前奏:字元分析(三)詞法分析字元
- Retrofit原始碼分析三 原始碼分析原始碼
- 二值影象分析之輪廓分析
- Spark原始碼分析之DiskBlockMangaer分析Spark原始碼BloC
- Spark原始碼分析之cahce原理分析Spark原始碼
- Unity效能分析(三)記憶體分析Unity記憶體
- 軟體需求與分析 業務建模分析
- Facebook 分析
- 今日分析
- CyclicBarrier 分析
- javaBean分析JavaBean
- SparseArray分析
- 文字分析
- 效能分析
- 索引分析索引
- CMSampleBuffer 分析
- ArrayList分析
- 表分析
- 分析HWM