基本型別和引用型別的本質區別

2021-08-04 02:36:10 字數 433 閱讀 2362

沒有指標就沒有物件導向,引用資料型別也就是指標的另一種表示。當我們宣告乙個物件時,無論是基本資料型別還是引用資料型別,都會在該方法的棧空間申請乙個空間,基本資料型別只不過是存的是字面值,引用資料型別存放的是該引用物件的位址。我們例項化乙個類時會在堆空間開闢乙個空間,而該物件的引用(棧空間)會存放該物件在堆空間的位址。

我們每次宣告乙個變數都會在方法棧中宣告乙個變數,所以引用物件改變的是堆空間的資料,共用同乙個堆,持有相同引用的都會受到這種改變的影響,而基本型別只是改變了各自方法棧中的資料,彼此不受影響。同乙個方法中i=10;則把0x1100的資料改為10

另外類的成員變數儲存在堆中,包括基礎型別和引用型別

方法中的區域性變數儲存在棧中,但是引用的物件儲存在堆中

基本型別和引用型別

基本型別和引用型別 ecmascript包含兩個不同型別的值 基本型別值和引用型別值。基本型別值指的是簡單的資料段 引用型別值指由多個值構成的物件。當我們把變數賦值給乙個變數時,解析器首先要做的就是確認這個值是基本型別值還是引用型別值。常見的五種基本資料型別是 undifined null bool...

基本型別與引用型別區別

基本型別值指的是那些儲存在棧記憶體中的簡單資料段,即這種值完全儲存在記憶體中的乙個位置。而引用型別值則是指那些儲存在堆記憶體中的物件,意思是變數中儲存的實際上只是乙個指標,這個指標指向記憶體中的另乙個位置,該位置儲存物件。在將乙個值賦給變數時,解析器必須確定這個值是基本型別值,還是引用型別值。und...

session中基本型別和引用型別的區別

session中存入的是基本型別 int之類的 和引用型別 物件 是不一樣的。1。基本型別情況 session.setattribute test 1 object test session.getattribute test test 2 system.out.print session.geta...