日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

基本数据类型与引用数据类型的不同

發布時間:2025/4/5 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基本数据类型与引用数据类型的不同 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基本數據類型在被創建時,在棧上給其劃分一塊內存,將數值直接存儲在棧上。

引用數據類型在被創建時,首先要在棧上給其引用(句柄)分配一塊內存,而對象的具體信息都存儲在堆內存上,然后由棧上面的引用指向堆中對象的地址。

例如,有一個類Person,有屬性name,age,帶有參的構造方法,

Person p = new Person("zhangsan",20);

在內存中的具體創建過程是:

1.首先在棧內存中位其p分配一塊空間;

2.在堆內存中為Person對象分配一塊空間,并為其三個屬性設初值"",0;

3.根據類Person中對屬性的定義,為該對象的兩個屬性進行賦值操作;

4.調用構造方法,為兩個屬性賦值為"Tom",20;(注意這個時候p與Person對象之間還沒有建立聯系);

5.將Person對象在堆內存中的地址,賦值給棧中的p;通過引用(句柄)p可以找到堆中對象的具體信息。

相關知識:

靜態區:?保存自動全局變量和?static?變量(包括?static?全局和局部變量)。靜態區的內容在總個程序的生命周期內都存在,由編譯器在編譯的時候分配。

堆區:??一般由程序員分配釋放,由?malloc?系列函數或?new?操作符分配的內存,其生命周期由?free?或?delete?決定。在沒有釋放之前一直存在,直到程序結束,由OS釋放。其特點是使用靈活,空間比較大,但容易出錯

棧區:?由編譯器自動分配釋放,保存局部變量,棧上的內容只在函數的范圍內存在,當函數運行結束,這些內容也會自動被銷毀,其特點是效率高,但空間大小有限


總結

以上是生活随笔為你收集整理的基本数据类型与引用数据类型的不同的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。