new寫在迴圈內部和外部的區別

2021-07-28 22:29:46 字數 417 閱讀 1022

先看程式

while(rset.next())

輸出:1,2,3,4

productbean pbean=new productbean();//例項化乙個類

while(rset.next())

輸出:4,4,4,4

為什麼把new寫在外面就輸出的結果不一樣了?

這要從new物件分配記憶體講起:

所以:當發生第一種情況的時候是,new在迴圈內部,每次new都開闢了乙個空間,可以用來儲存所有的物件。第二種情況是new在迴圈的外面,只開闢了乙個空間,只能儲存乙個物件的引用,所以輸出的內容都是一樣的。

hive內部表和外部表的區別 內部表和外部表

內部表 create table if not exists table name刪除表時,元資料與資料都會被刪除 外部表 create external table if not exists table name location hdfs path刪除外部表只刪除metastore的元資料,不...

外部碎片和內部碎片的區別

一 在記憶體上 使用連續分配演算法來管理分配記憶體時會產生 的外部碎片和內部碎片兩個概念 這幾天一直看作業系統,看到記憶體的連續分配時,對於外部碎片和內部碎片時甚是不解 記憶體碎片分為 內部碎片和外部碎片 內部碎片 內部碎片就是已經被分配出去 能明確指出屬於哪個程序 卻不能被利用的記憶體空間 內部碎...

外部碎片和內部碎片的區別

外部碎片和內部碎片的區別 這幾天一直看作業系統,看到記憶體的連續分配時,對於外部碎片和內部碎片時甚是不解,剛好在某論壇上發現了這樣乙個生動的講解,便迫不及待的相遇大家分享一下。外部碎片,是由於大量資訊由於先後寫入 置換 刪除而形成的空間碎片。為了便於理解,我們將資訊比作貨物,將儲存空間比作倉庫來舉例...