每天進(jìn)步一點(diǎn)點(diǎn)百框! 這里說的方法調(diào)用階段的任務(wù)并不是執(zhí)行過程咧最,而是確定方法運(yùn)行時(shí)的入口地址。 前面我們已經(jīng)學(xué)習(xí)過,在Class文件的常量池中作郭,類型為CONSTANT_Metho...
每天進(jìn)步一點(diǎn)點(diǎn)百框! 這里說的方法調(diào)用階段的任務(wù)并不是執(zhí)行過程咧最,而是確定方法運(yùn)行時(shí)的入口地址。 前面我們已經(jīng)學(xué)習(xí)過,在Class文件的常量池中作郭,類型為CONSTANT_Metho...
前言: 北京-三年經(jīng)驗(yàn)-Java,在金三銀四這兩個(gè)月期間(在五月初還去面試了幾家吹艇,主要是三四月份期面試劇居多),我跳槽面試昂拂,前前后后我面試十五家公司受神,最終,成功拿到了offe...
每天進(jìn)步一點(diǎn)點(diǎn)格侯! 今天主要了解一下棧幀中的內(nèi)容鼻听,大部分為內(nèi)容都比較容易理解财著,且做以下記錄。 首先介紹以下棧幀的概念: 棧幀(Stack Frame)是用于支持虛擬機(jī)進(jìn)行方法調(diào)...
每天進(jìn)步一點(diǎn)點(diǎn)撑碴! 前面已經(jīng)介紹了類加載的加載撑教、驗(yàn)證、準(zhǔn)備灰羽、解析等過程驮履,今天來學(xué)習(xí)最后一個(gè)過程,初始化廉嚼! 對(duì)于有過java開發(fā)經(jīng)驗(yàn)的朋友們來說玫镐,初始化這個(gè)詞自然不陌生,初始化階...
每天進(jìn)步一點(diǎn)點(diǎn)怠噪! 今天我們一起看一下類加載的準(zhǔn)備階段和解析階段恐似。 先看一下準(zhǔn)備階段:主要任務(wù)是在方法區(qū)中為類變量(僅static修飾變量,不包含實(shí)例變量)分配內(nèi)存并設(shè)置類變量...
每天進(jìn)步一點(diǎn)點(diǎn)傍念! 上一篇已經(jīng)學(xué)習(xí)了加載階段矫夷,這一篇我們了解一下驗(yàn)證的過程。 我們已經(jīng)知道了憋槐,虛擬機(jī)加載的是Class字節(jié)碼文件双藕,我們也通過工具查看了文件中存儲(chǔ)的是二進(jìn)制流。 ...
每天進(jìn)步一點(diǎn)點(diǎn)阳仔! 上一篇穿插了一段動(dòng)態(tài)綁定和靜態(tài)綁定的知識(shí)忧陪,這一篇我們回歸到類加載上來,學(xué)習(xí)一下類加載的“加載”近范。 是不是讀起來有點(diǎn)拗口嘶摊,這是什么意思? 別迷糊评矩,還記得上一篇...
每天進(jìn)步一點(diǎn)點(diǎn)叶堆! 在前面的幾篇中,我們已經(jīng)詳細(xì)學(xué)習(xí)了Class字節(jié)碼文件的結(jié)構(gòu)斥杜,包含哪些內(nèi)容已經(jīng)內(nèi)容的含義虱颗,下面幾篇我們將研習(xí)一下類的加載。 虛擬機(jī)的類加載機(jī)制: 虛擬機(jī)把描...
每天進(jìn)步一點(diǎn)點(diǎn)蔗喂! 指令這塊的相關(guān)?信息我們?cè)谇皫灼奈恼轮幸呀?jīng)有了基本了解忘渔,這一篇不過多解釋了,將剩下的指令列出來弱恒,作為記錄(節(jié)選自《深入理解JAVA虛擬機(jī)》)辨萍。 1、對(duì)象創(chuàng)...
每天進(jìn)步一點(diǎn)點(diǎn)! 上一篇寫的數(shù)據(jù)類型的范圍锈玉,相信大家還記得吧爪飘,每一種類型對(duì)應(yīng)不同的數(shù)據(jù)范圍和精度。 有的時(shí)候拉背,我們需要對(duì)數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換师崎,既涉及到從范圍較小的數(shù)據(jù)類型向范圍較...
本篇繼續(xù)字節(jié)碼指令的學(xué)習(xí),開始之前椅棺,先鞏固一下基礎(chǔ)知識(shí)犁罩,Java中基本數(shù)據(jù)類型的范圍。 1. 整型: 1.1 byte:數(shù)據(jù)類型是8位两疚、有符號(hào)的整數(shù)床估,取值范圍-128~127...
一個(gè)忙碌的周末又過去了,時(shí)間不能阻止我們前進(jìn)的腳步诱渤,每天進(jìn)步一點(diǎn)點(diǎn)丐巫! 上一篇在方法體中,方法體被編譯成了指令勺美,我們已經(jīng)初步了解了每條字節(jié)碼指令占用一個(gè)字節(jié)递胧, 大概有200余種...
由于最近幾天在看區(qū)塊鏈,今天時(shí)間實(shí)在有限赡茸,更新一篇區(qū)塊鏈內(nèi)容缎脾,后續(xù)繼續(xù)更新虛擬機(jī)相關(guān)的知識(shí)。 首先明確一點(diǎn)占卧,什么是區(qū)塊鏈遗菠? 1. 直白的說,就是在互聯(lián)網(wǎng)上有一塊特殊的區(qū)域屉栓,每...
我們的口號(hào)是:每天進(jìn)步一點(diǎn)點(diǎn)舷蒲! 上一篇的字段寫到屬性的時(shí)候耸袜,由于屬性涉及到的內(nèi)容比較多友多,我們暫時(shí)擱置了,這一篇是Class文件結(jié)構(gòu)的最后一篇堤框,我們就詳細(xì)說說屬性表結(jié)合域滥。 九、...
新的一天蜈抓,新的開始启绰。我們的口號(hào)是:每天進(jìn)步一點(diǎn)點(diǎn)! 在這幾天的學(xué)習(xí)當(dāng)中沟使,不知道大家有沒有一個(gè)疑惑委可,就是對(duì)“描述符”這個(gè)詞不太理解,所以筆者前幾篇寫的時(shí)候盡量沒用這個(gè)詞。 經(jīng)過...
各位朋友着倾,上一篇的常量池都掌握了吧拾酝,我們的口號(hào)是:每天進(jìn)步一點(diǎn)點(diǎn)! 開始之前卡者,我們先鞏固并擴(kuò)充一下昨天的知識(shí)蒿囤,用Excel表示一下就是這樣的(請(qǐng)?jiān)徆P者low到爆的畫圖水平,...
前一篇文章已經(jīng)對(duì)Class類文件匆匆一瞥,上一篇沒看的恒傻,建議先看一下上一篇脸侥,這一篇就看一下具體的細(xì)節(jié)。 我們先隨便創(chuàng)建一個(gè)類盈厘,代碼如下湿痢。 運(yùn)行main方法,這個(gè)時(shí)候會(huì)生成一個(gè)...
對(duì)于前面的學(xué)習(xí)扑庞,筆者認(rèn)為屬于第一階段譬重,一直都在說虛擬機(jī)內(nèi)存分配和垃圾收集的問題,由于這些都是開發(fā)的過程中看不見又不常用得罐氨,不那么容易理解臀规。 從這一篇開始,我們迎來了第二階段栅隐,...