程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> string-java中String類兩種初始化的區別

string-java中String類兩種初始化的區別

編輯:編程綜合問答
java中String類兩種初始化的區別

圖片求解釋

最佳回答:


首先,你得理解下JAVA的存儲區主要有三個:棧、堆、靜態區.這三個的生命周期不一樣,分配方式也不一樣,存儲內容也不一樣
String a="aaa"這裡的aaa存放就是在靜態區,如果還有後頭又定義一個string b="aaa",那麼java裡頭會把它也指向a指向的地方。整個aaa會一直等到你程序退出了才釋放空間
而String a1=new String("aaa").這裡aaa是放在堆區,它是動態分配的。由垃圾回收器來管理。你如果再定義一個
String b1=new String("aaa").那麼又會分配一個新的堆空間。a1和b1 是不會指到同一個內存空間的。

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