中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

Java中的JVM基礎(chǔ):數(shù)據(jù)類型和堆棧
來(lái)源:易賢網(wǎng) 閱讀:856 次 日期:2015-04-10 14:13:35
溫馨提示:易賢網(wǎng)小編為您整理了“Java中的JVM基礎(chǔ):數(shù)據(jù)類型和堆棧”,方便廣大網(wǎng)友查閱!

數(shù)據(jù)類型

Java虛擬機(jī)中,數(shù)據(jù)類型可以分為兩類:基本類型和引用類型。基本類型的變量保存原始值,即:他代表的值就是數(shù)值本身;而引用類型的變量保存引用值。“引用值”代表了某個(gè)對(duì)象的引用,而不是對(duì)象本身,對(duì)象本身存放在這個(gè)引用值所表示的地址的位置。

基本類型包括:byte, short, int, long, char, float, double, Boolean, returnAddress

引用類型包括:類類型,接口類型和數(shù)組。

堆與棧

堆和棧是程序運(yùn)行的關(guān)鍵,很有必要把他們的關(guān)系說(shuō)清楚。

棧是運(yùn)行時(shí)的單位,而堆是存儲(chǔ)的單位。

棧解決程序的運(yùn)行問(wèn)題,即程序如何執(zhí)行,或者說(shuō)如何處理數(shù)據(jù);堆解決的是數(shù)據(jù)存儲(chǔ)的問(wèn)題,即數(shù)據(jù)怎么放、放在哪兒。

在Java中一個(gè)線程就會(huì)相應(yīng)有一個(gè)線程棧與之對(duì)應(yīng),這點(diǎn)很容易理解,因?yàn)椴煌木€程執(zhí)行邏輯有所不同,因此需要一個(gè)獨(dú)立的線程棧。而堆則是所有 線程共享的。棧因?yàn)槭沁\(yùn)行單位,因此里面存儲(chǔ)的信息都是跟當(dāng)前線程(或程序)相關(guān)信息的。包括局部變量、程序運(yùn)行狀態(tài)、方法返回值等等;而堆只負(fù)責(zé)存儲(chǔ)對(duì) 象信息。

為什么要把堆和棧區(qū)分出來(lái)呢?棧中不是也可以存儲(chǔ)數(shù)據(jù)嗎?

第一,從軟件設(shè)計(jì)的角度看,棧代表了處理邏輯,而堆代表了數(shù)據(jù)。這樣分開(kāi),使得處理邏輯更為清晰。分而治之的思想。這種隔離、模塊化的思想在軟件設(shè)計(jì)的方方面面都有體現(xiàn)。

第二,堆與棧的分離,使得堆中的內(nèi)容可以被多個(gè)棧共享(也可以理解為多個(gè)線程訪問(wèn)同一個(gè)對(duì)象)。這種共享的收益是很多的。一方面這種共享提供了一種有效的數(shù)據(jù)交互方式(如:共享內(nèi)存),另一方面,堆中的共享常量和緩存可以被所有棧訪問(wèn),節(jié)省了空間。

第三,棧因?yàn)檫\(yùn)行時(shí)的需要,比如保存系統(tǒng)運(yùn)行的上下文,需要進(jìn)行地址段的劃分。由于棧只能向上增長(zhǎng),因此就會(huì)限制住棧存儲(chǔ)內(nèi)容的能力。而堆不同,堆中的對(duì)象是可以根據(jù)需要?jiǎng)討B(tài)增長(zhǎng)的,因此棧和堆的拆分,使得動(dòng)態(tài)增長(zhǎng)成為可能,相應(yīng)棧中只需記錄堆中的一個(gè)地址即可。

第四,面向?qū)ο缶褪嵌押蜅5耐昝澜Y(jié)合。其實(shí),面向?qū)ο蠓绞降某绦蚺c以前結(jié)構(gòu)化的程序在執(zhí)行上沒(méi)有任何區(qū)別。但是,面向?qū)ο蟮囊耄沟脤?duì)待問(wèn)題的 思考方式發(fā)生了改變,而更接近于自然方式的思考。當(dāng)我們把對(duì)象拆開(kāi),你會(huì)發(fā)現(xiàn),對(duì)象的屬性其實(shí)就是數(shù)據(jù),存放在堆中;而對(duì)象的行為(方法),就是運(yùn)行邏 輯,放在棧中。我們?cè)诰帉?xiě)對(duì)象的時(shí)候,其實(shí)即編寫(xiě)了數(shù)據(jù)結(jié)構(gòu),也編寫(xiě)的處理數(shù)據(jù)的邏輯。不得不承認(rèn),面向?qū)ο蟮脑O(shè)計(jì),確實(shí)很美。

在Java中,Main函數(shù)就是棧的起始點(diǎn),也是程序的起始點(diǎn)。

程序要運(yùn)行總是有一個(gè)起點(diǎn)的。同C語(yǔ)言一樣,java中的Main就是那個(gè)起點(diǎn)。無(wú)論什么java程序,找到main就找到了程序執(zhí)行的入口:)

堆中存什么?棧中存什么?

堆中存的是對(duì)象。棧中存的是基本數(shù)據(jù)類型和堆中對(duì)象的引用。一個(gè)對(duì)象的大小是不可估計(jì)的,或者說(shuō)是可以動(dòng)態(tài)變化的,但是在棧中,一個(gè)對(duì)象只對(duì)應(yīng)了一個(gè)4btye的引用(堆棧分離的好處:))。

為什么不把基本類型放堆中呢?因?yàn)槠湔加玫目臻g一般是1~8個(gè)字節(jié)——需要空間比較少,而且因?yàn)槭腔绢愋停圆粫?huì)出現(xiàn)動(dòng)態(tài)增長(zhǎng)的情況——長(zhǎng)度 固定,因此棧中存儲(chǔ)就夠了,如果把他存在堆中是沒(méi)有什么意義的(還會(huì)浪費(fèi)空間,后面說(shuō)明)。可以這么說(shuō),基本類型和對(duì)象的引用都是存放在棧中,而且都是幾 個(gè)字節(jié)的一個(gè)數(shù),因此在程序運(yùn)行時(shí),他們的處理方式是統(tǒng)一的。但是基本類型、對(duì)象引用和對(duì)象本身就有所區(qū)別了,因?yàn)橐粋€(gè)是棧中的數(shù)據(jù)一個(gè)是堆中的數(shù)據(jù)。最 常見(jiàn)的一個(gè)問(wèn)題就是,Java中參數(shù)傳遞時(shí)的問(wèn)題。

Java中的參數(shù)傳遞時(shí)傳值呢?還是傳引用?

要說(shuō)明這個(gè)問(wèn)題,先要明確兩點(diǎn):

1. 不要試圖與C進(jìn)行類比,Java中沒(méi)有指針的概念

2. 程序運(yùn)行永遠(yuǎn)都是在棧中進(jìn)行的,因而參數(shù)傳遞時(shí),只存在傳遞基本類型和對(duì)象引用的問(wèn)題。不會(huì)直接傳對(duì)象本身。

明確以上兩點(diǎn)后。Java在方法調(diào)用傳遞參數(shù)時(shí),因?yàn)闆](méi)有指針,所以它都是進(jìn)行傳值調(diào)用(這點(diǎn)可以參考C的傳值調(diào)用)。因此,很多書(shū)里面都說(shuō)Java是進(jìn)行傳值調(diào)用,這點(diǎn)沒(méi)有問(wèn)題,而且也簡(jiǎn)化的C中復(fù)雜性。

但是傳引用的錯(cuò)覺(jué)是如何造成的呢?在運(yùn)行棧中,基本類型和引用的處理是一樣的,都是傳值,所以,如果是傳引用的方法調(diào)用,也同時(shí)可以理解為“傳引 用值”的傳值調(diào)用,即引用的處理跟基本類型是完全一樣的。但是當(dāng)進(jìn)入被調(diào)用方法時(shí),被傳遞的這個(gè)引用的值,被程序解釋(或者查找)到堆中的對(duì)象,這個(gè)時(shí)候 才對(duì)應(yīng)到真正的對(duì)象。如果此時(shí)進(jìn)行修改,修改的是引用對(duì)應(yīng)的對(duì)象,而不是引用本身,即:修改的是堆中的數(shù)據(jù)。所以這個(gè)修改是可以保持的了。

對(duì)象,從某種意義上說(shuō),是由基本類型組成的。可以把一個(gè)對(duì)象看作為一棵樹(shù),對(duì)象的屬性如果還是對(duì)象,則還是一顆樹(shù)(即非葉子節(jié)點(diǎn)),基本類型則為 樹(shù)的葉子節(jié)點(diǎn)。程序參數(shù)傳遞時(shí),被傳遞的值本身都是不能進(jìn)行修改的,但是,如果這個(gè)值是一個(gè)非葉子節(jié)點(diǎn)(即一個(gè)對(duì)象引用),則可以修改這個(gè)節(jié)點(diǎn)下面的所有 內(nèi)容。

堆和棧中,棧是程序運(yùn)行最根本的東西。程序運(yùn)行可以沒(méi)有堆,但是不能沒(méi)有棧。而堆是為棧進(jìn)行數(shù)據(jù)存儲(chǔ)服務(wù),說(shuō)白了堆就是一塊共享的內(nèi)存。不過(guò),正是因?yàn)槎押蜅5姆蛛x的思想,才使得Java的垃圾回收成為可能。

Java中,棧的大小通過(guò)-Xss來(lái)設(shè)置,當(dāng)棧中存儲(chǔ)數(shù)據(jù)比較多時(shí),需要適當(dāng)調(diào)大這個(gè)值,否則會(huì)出現(xiàn)java.lang.StackOverflowError異常。常見(jiàn)的出現(xiàn)這個(gè)異常的是無(wú)法返回的遞歸,因?yàn)榇藭r(shí)棧中保存的信息都是方法返回的記錄點(diǎn)。

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:Java中的JVM基礎(chǔ):數(shù)據(jù)類型和堆棧
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢?yōu)闇?zhǔn)!

2026上岸·考公考編培訓(xùn)報(bào)班

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美激情第4页| 久久精品一本| 亚洲成人直播| 最新日韩精品| 亚洲一区二区三区四区中文| 香蕉成人啪国产精品视频综合网| 久久精品91久久久久久再现| 欧美二区视频| 国产一区二区三区四区在线观看| 亚洲欧洲在线一区| 久久精品夜色噜噜亚洲aⅴ| 欧美精品一区二区精品网| 日韩一级免费观看| 午夜免费日韩视频| 欧美黄色日本| 狠狠色伊人亚洲综合成人 | 亚洲国产精品va在线看黑人动漫| 一区二区三区四区五区视频 | 日韩一级在线| 久久久国产精品一区| 欧美三级不卡| 亚洲精品一区二区在线| 久久久国产视频91| 国产精品a久久久久| 在线观看国产精品淫| 欧美一区免费| 国产精品色一区二区三区| 亚洲三级免费| 狼人天天伊人久久| 国产一区二区成人久久免费影院| 日韩亚洲欧美精品| 免费人成网站在线观看欧美高清| 国产日韩精品电影| 亚洲欧美日韩精品久久奇米色影视| 欧美精品在线免费| 最新中文字幕亚洲| 久久久亚洲精品一区二区三区| 国产精品国产三级国产普通话蜜臀| 亚洲国产一区二区三区青草影视 | 亚洲国产精品一区二区第一页 | 亚洲视频专区在线| 牛牛影视久久网| 狠狠色丁香婷婷综合| 欧美亚洲一级片| 一片黄亚洲嫩模| 久久综合色8888| 一区免费在线| 久久深夜福利| 一区二区在线视频播放| 久久久91精品国产| 国产日韩欧美亚洲| 欧美一区二区视频观看视频| 欧美午夜在线| 亚洲自拍偷拍视频| 国产麻豆精品theporn| 亚洲欧美一级二级三级| 国产精品福利在线观看网址| 中国亚洲黄色| 国产精自产拍久久久久久| 亚洲欧美日本国产有色| 国产精品一区毛片| 欧美一区亚洲| 一区二区三区在线高清| 久久人人97超碰国产公开结果| 国产一级揄自揄精品视频| 久久国产精品第一页| 狠狠久久婷婷| 欧美精品一区二区三区在线看午夜| 99视频精品全国免费| 国产精品草草| 午夜精品久久久久久久99黑人| 国产精品日本精品| 午夜激情一区| 激情校园亚洲| 欧美日本在线| 国产精品爱啪在线线免费观看 | 久久一日本道色综合久久| 91久久国产自产拍夜夜嗨| 欧美日韩精品免费观看视频完整| 正在播放欧美视频| 国产精一区二区三区| 久久久www免费人成黑人精品 | 香蕉精品999视频一区二区| 国产日本欧美一区二区三区在线 | 国产精品永久入口久久久| 欧美一区二区三区在线播放| 尤物yw午夜国产精品视频| 欧美日韩 国产精品| 性欧美8khd高清极品| 亚洲欧洲三级| 国产欧美视频一区二区三区| 老司机成人网| 亚洲无人区一区| 极品尤物av久久免费看| 欧美日韩八区| 久久精品91久久久久久再现| 亚洲激情啪啪| 国产精品日韩在线播放| 久久综合激情| 亚洲一区二区三区四区五区黄 | 欧美日韩亚洲国产精品| 亚洲综合首页| 亚洲精品资源美女情侣酒店| 国产欧美精品日韩| 欧美日本一区| 久久中文精品| 亚洲欧美综合| 亚洲精品国产系列| 国产欧美日韩专区发布| 欧美二区乱c少妇| 欧美一级精品大片| 亚洲视频在线观看三级| 在线成人中文字幕| 国产情人综合久久777777| 欧美激情第三页| 久久经典综合| 亚洲欧美日韩一区在线| 夜夜嗨一区二区| 亚洲国产中文字幕在线观看| 国产一区二区高清不卡| 国产精品久久久久久久午夜片| 欧美激情 亚洲a∨综合| 久久亚洲精品一区| 欧美一区二区三区在线观看 | 欧美成人免费小视频| 欧美中文字幕| 亚洲欧美一区二区三区在线| 日韩一级精品视频在线观看| 曰本成人黄色| 伊人伊人伊人久久| 国产综合色在线视频区| 国产欧美日韩精品在线| 欧美天堂在线观看| 欧美色区777第一页| 欧美精品成人| 欧美激情欧美激情在线五月| 久久综合狠狠综合久久激情| 久久噜噜亚洲综合| 久久美女性网| 美女国内精品自产拍在线播放| 久久精品一二三区| 久久精品首页| 久久精品视频导航| 久久中文字幕一区二区三区| 久久久久.com| 久久黄金**| 久热成人在线视频| 免费国产一区二区| 免费91麻豆精品国产自产在线观看| 欧美综合国产| 久久国产精品亚洲77777| 久久精品国产99精品国产亚洲性色 | 欧美日韩在线一二三| 免费久久精品视频| 欧美1区2区| 欧美日韩中文在线| 国产精品99免费看| 国产精品你懂的| 国产视频久久| 国产一区二区中文字幕免费看| 国产精品久久毛片a| 欧美日韩一区二区三区在线| 国产精品福利在线观看| 国产精品亚洲综合天堂夜夜| 国产精品丝袜白浆摸在线| 国产亚洲激情视频在线| 国产一区二区三区久久| 亚洲高清中文字幕| 红桃视频一区| 亚洲国产合集| 一区二区三区www| 欧美伊久线香蕉线新在线| 久久精品99久久香蕉国产色戒| 久久五月激情| 欧美日韩视频一区二区| 国产午夜精品全部视频播放| 在线精品福利| 亚洲男女自偷自拍图片另类| 久久精选视频| 欧美日韩在线精品一区二区三区| 国产美女扒开尿口久久久| 亚洲福利在线观看| 亚洲午夜在线视频| 久久人体大胆视频| 欧美午夜电影在线观看| 国内外成人在线| 夜夜嗨av一区二区三区中文字幕| 欧美中文在线字幕| 欧美日韩亚洲在线| 一区视频在线播放| 亚洲专区免费| 欧美激情按摩在线| 黄色成人免费观看| 亚洲专区在线| 欧美精品99| 加勒比av一区二区| 亚洲摸下面视频| 欧美日韩国产一区二区三区地区| 国模精品一区二区三区| 亚洲欧美成人一区二区三区|