每天進步一點點! 這里說的方法調(diào)用階段的任務(wù)并不是執(zhí)行過程,而是確定方法運行時的入口地址。 前面我們已經(jīng)學(xué)習(xí)過,在Class文件的常量池中,類型為CONSTANT_Metho...
每天進步一點點! 這里說的方法調(diào)用階段的任務(wù)并不是執(zhí)行過程,而是確定方法運行時的入口地址。 前面我們已經(jīng)學(xué)習(xí)過,在Class文件的常量池中,類型為CONSTANT_Metho...
前言: 北京-三年經(jīng)驗-Java,在金三銀四這兩個月期間(在五月初還去面試了幾家,主要是三四月份期面試劇居多),我跳槽面試,前前后后我面試十五家公司,最終,成功拿到了offe...
每天進步一點點! 今天主要了解一下棧幀中的內(nèi)容,大部分為內(nèi)容都比較容易理解,且做以下記錄。 首先介紹以下棧幀的概念: 棧幀(Stack Frame)是用于支持虛擬機進行方法調(diào)...
每天進步一點點! 前面已經(jīng)介紹了類加載的加載、驗證、準備、解析等過程,今天來學(xué)習(xí)最后一個過程,初始化! 對于有過java開發(fā)經(jīng)驗的朋友們來說,初始化這個詞自然不陌生,初始化階...
每天進步一點點! 今天我們一起看一下類加載的準備階段和解析階段。 先看一下準備階段:主要任務(wù)是在方法區(qū)中為類變量(僅static修飾變量,不包含實例變量)分配內(nèi)存并設(shè)置類變量...
每天進步一點點! 上一篇已經(jīng)學(xué)習(xí)了加載階段,這一篇我們了解一下驗證的過程。 我們已經(jīng)知道了,虛擬機加載的是Class字節(jié)碼文件,我們也通過工具查看了文件中存儲的是二進制流。 ...
每天進步一點點! 上一篇穿插了一段動態(tài)綁定和靜態(tài)綁定的知識,這一篇我們回歸到類加載上來,學(xué)習(xí)一下類加載的“加載”。 是不是讀起來有點拗口,這是什么意思? 別迷糊,還記得上一篇...
每天進步一點點! 在前面的幾篇中,我們已經(jīng)詳細學(xué)習(xí)了Class字節(jié)碼文件的結(jié)構(gòu),包含哪些內(nèi)容已經(jīng)內(nèi)容的含義,下面幾篇我們將研習(xí)一下類的加載。 虛擬機的類加載機制: 虛擬機把描...
每天進步一點點! 指令這塊的相關(guān)?信息我們在前幾篇的文章中已經(jīng)有了基本了解,這一篇不過多解釋了,將剩下的指令列出來,作為記錄(節(jié)選自《深入理解JAVA虛擬機》)。 1、對象創(chuàng)...
每天進步一點點! 上一篇寫的數(shù)據(jù)類型的范圍,相信大家還記得吧,每一種類型對應(yīng)不同的數(shù)據(jù)范圍和精度。 有的時候,我們需要對數(shù)據(jù)類型進行轉(zhuǎn)換,既涉及到從范圍較小的數(shù)據(jù)類型向范圍較...
本篇繼續(xù)字節(jié)碼指令的學(xué)習(xí),開始之前,先鞏固一下基礎(chǔ)知識,Java中基本數(shù)據(jù)類型的范圍。 1. 整型: 1.1 byte:數(shù)據(jù)類型是8位、有符號的整數(shù),取值范圍-128~127...
一個忙碌的周末又過去了,時間不能阻止我們前進的腳步,每天進步一點點! 上一篇在方法體中,方法體被編譯成了指令,我們已經(jīng)初步了解了每條字節(jié)碼指令占用一個字節(jié), 大概有200余種...
由于最近幾天在看區(qū)塊鏈,今天時間實在有限,更新一篇區(qū)塊鏈內(nèi)容,后續(xù)繼續(xù)更新虛擬機相關(guān)的知識。 首先明確一點,什么是區(qū)塊鏈? 1. 直白的說,就是在互聯(lián)網(wǎng)上有一塊特殊的區(qū)域,每...
我們的口號是:每天進步一點點! 上一篇的字段寫到屬性的時候,由于屬性涉及到的內(nèi)容比較多,我們暫時擱置了,這一篇是Class文件結(jié)構(gòu)的最后一篇,我們就詳細說說屬性表結(jié)合。 九、...
新的一天,新的開始。我們的口號是:每天進步一點點! 在這幾天的學(xué)習(xí)當(dāng)中,不知道大家有沒有一個疑惑,就是對“描述符”這個詞不太理解,所以筆者前幾篇寫的時候盡量沒用這個詞。 經(jīng)過...
各位朋友,上一篇的常量池都掌握了吧,我們的口號是:每天進步一點點! 開始之前,我們先鞏固并擴充一下昨天的知識,用Excel表示一下就是這樣的(請原諒筆者low到爆的畫圖水平,...
前一篇文章已經(jīng)對Class類文件匆匆一瞥,上一篇沒看的,建議先看一下上一篇,這一篇就看一下具體的細節(jié)。 我們先隨便創(chuàng)建一個類,代碼如下。 運行main方法,這個時候會生成一個...
對于前面的學(xué)習(xí),筆者認為屬于第一階段,一直都在說虛擬機內(nèi)存分配和垃圾收集的問題,由于這些都是開發(fā)的過程中看不見又不常用得,不那么容易理解。 從這一篇開始,我們迎來了第二階段,...