當前位置:編程學習大全網 - 網站源碼 - Java內存分配問題

Java內存分配問題

壹般人不會知道這個。其實如果定義壹個字符串,有兩種方式:壹種是String str = new String(" xx ");這是在內存中分配的,妳這樣定義String S3 = " ABC 1 ";這樣,字符串就定義在虛擬機的字符串常量池中,JVM中的常量池以表的形式存在於內存中。建議大家看看字符串常量池相關的文章。由於常量的值是在編譯時確定的,所以應該有兩個答案,即“abc1”和“abc1 norm”。妳理解得很好。

至於妳提到的堆和棧問題,妳應該對java中的垃圾收集機制有很好的了解。通常,您創建壹個對象classtype = new classtype();其中,類型稱為對象的引用(也稱為句柄)。這個對象引用放在棧中,棧中保存著指向新創建的對象的指針(也可以理解為地址),新創建的對象存儲在堆內存中。當jvm的內存占用到壹定值時,jvm會檢查保存對象引用的棧表,如果沒有發現指向引用,就會釋放那部分內存。

很清楚,不是嗎?望采納。

  • 上一篇:如何用公式驗證混合幹涉中的圖像幹涉
  • 下一篇:網上的《圖片木馬捆綁器》軟件是利用什麽原理
  • copyright 2024編程學習大全網