【JVM】了解JVM規范中的虛擬機結構

目錄

JVM規范的主要內容

1)字節碼指令集(相當于中央處理器CPU)

JVM指令分類

2)Class文件的格式

3)數據類型和值

4)運行時數據區

5)棧幀

6)特殊方法

7)類庫


JVM規范的主要內容

1)字節碼指令集(相當于中央處理器CPU)


Java虛擬機的指令由一個字節長度的、代表著某種特定操作含義的操作碼(opcode)以及跟隨其后的零至多個代表此操作所需參數的操作數(operand)所構成。虛擬機中許多指令并不包含操作數,只有一個操作碼。

操作碼一列中的T就跟泛型一樣,虛擬機根據不同的數據類型會把T替換掉,提供不同的指令。

JVM指令分類

1、加載和存儲指令? 2、算術指令? 3、類型轉換指令 4.操作數棧管理指令 5.控制轉移指令 6.方法調用和返回指令

2)Class文件的格式

3)數據類型和值

4)運行時數據區

5)棧幀

6)特殊方法

1、<init>:實例初始化方法,通過JVM的invokespecial指令來調用。

2、<clinit>:類或接口的初始化方法,不包含參數,返回void。

7)類庫

Java虛擬機必須要對一些Java類庫提供支持,否則這些類庫根本無法實現,比如下面這些:

1、反射 2、加載或創建類或接口,如ClassLoader 3、連接和初始化類和接口的類 4、安全,如security 5、多線程 6、弱引用 7、異常 8、虛擬機的啟動、加載、鏈接和初始化

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/9795.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/9795.shtml
英文地址,請注明出處:http://en.pswp.cn/web/9795.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue3+ElementPlus+TS開發業務功能的問題匯總(持續更新)

1.開發表單彈框功能時遇到兩個問題&#xff1a;加入了校驗規則后&#xff0c;無論下拉框是否選擇數據下面的紅色提示都會觸發顯示不會自動隱藏 &#xff1b; 另外&#xff0c;新增的功能在提交后數據無法重置&#xff0c;這種在修改時可能會出現&#xff0c;但新增正常情況是不…

走進C++:C到C++的過渡

目錄 什么是C呢&#xff1f; C的發展史 多了一些吃前來很香的“語法糖”。 語法糖一&#xff1a;命名空間 命名空間有個強大的功能 如何使用 語法糖二&#xff1a;缺省參數 語法糖三&#xff1a;函數重載 語法糖四&#xff1a;引用 引用傳參 引用返回 引用和…

【ZZULIOJ】1100: 求組合數(函數專題)(Java)

目錄 題目描述 輸入 輸出 樣例輸入 Copy 樣例輸出 Copy 提示 code 題目描述 馬上要舉辦新生程序設計競賽了&#xff0c;與以往不同的是&#xff0c;本次比賽以班為單位&#xff0c;為了全面衡量一個班級的整體水平&#xff0c;要求從一個班的m位同學中任選k位同學代表本…

Android GPU渲染SurfaceFlinger合成RenderThread的dequeueBuffer/queueBuffer與fence機制(2)

Android GPU渲染SurfaceFlinger合成RenderThread的dequeueBuffer/queueBuffer與fence機制&#xff08;2&#xff09; 計算fps幀率 用 adb shell dumpsys SurfaceFlinger --list 查詢當前的SurfaceView&#xff0c;然后有好多行&#xff0c;再把要查詢的行內容完整的傳給 ad…

算法訓練Day35 | ● 343. 整數拆分 ● 96.不同的二叉搜索樹

343. 整數拆分 class Solution { public:int integerBreak(int n) {vector<int> dp(n1, 0);dp[2] 1;for(int i3; i<n1; i){for(int j 1; j<i/2; j){dp[i] max(dp[i], max(j*(i-j), j*dp[i-j]));}}return dp[n];} };參考文章&#xff1a;代碼隨想錄-343. 整數拆分…

找不到msvcp140.dll無法執行代碼的原因分析及修復方法

當用戶在嘗試運行某些應用程序或游戲時&#xff0c;可能會遇到系統彈出錯誤提示&#xff0c;顯示“找不到msvcp140.dll無法執行代碼”這一錯誤信息&#xff0c;它會導致程序無法正常啟動。為了解決這個問題&#xff0c;我經過多次嘗試和總結&#xff0c;找到了以下五種解決方法…

hadoop啟動后沒有namenode,datanode等解決方法

之前用的是虛擬機&#xff0c;在虛擬機上安裝的hadoop&#xff0c;但是后來&#xff0c;電腦恢復出廠設置了&#xff0c;什么都重新開始。就在本地安裝 Linux 子系統。 但是&#xff0c;有時候start-dfs.sh后&#xff0c;jps出現錯誤。 像這種拒絕連接 解決辦法就是如下&…

我的創作紀念日1460天(4年)

機緣 作為一名技術愛好者&#xff0c;我最初成為創作者的初心源于對知識的渴望和對分享的熱情。在參與多個實戰項目的過程中&#xff0c;我積累了豐富的經驗&#xff0c;這些經驗不僅僅是代碼和解決方案&#xff0c;更多的是對問題本質的理解和解決問題的思維方式。我意識到&a…

題目----力扣--移除鏈表元素

題目 給你一個鏈表的頭節點 head 和一個整數 val &#xff0c;請你刪除鏈表中所有滿足 Node.val val 的節點&#xff0c;并返回 新的頭節點 。 示例 1&#xff1a; 輸入&#xff1a;head [1,2,6,3,4,5,6], val 6 輸出&#xff1a;[1,2,3,4,5]示例 2&#xff1a; 輸入&…

如何編譯不同目錄下的兩個文件

1.直接編譯 2.打包成動靜態庫進行鏈接

【智能優化算法】蜜獾優化算法(Honey Badger Algorithm,HBA)

蜜獾優化算法(Honey Badger Algorithm,HBA)是期刊“MATHEMATICS AND COMPUTERS IN SIMULATION”&#xff08;IF 3.6&#xff09;的2022年智能優化算法 01.引言 蜜獾優化算法(Honey Badger Algorithm,HBA)受蜜獾智能覓食行為的啟發&#xff0c;從數學上發展出一種求解優化問題的…

【AMBA Bus ACE 總線 9 -- Non-cache IO device】

請閱讀【AMBA Bus ACE 總線與Cache 專欄 】 歡迎學習:【嵌入式開發學習必備專欄】 文章目錄 ACE Non-cache IO device非緩存I/O的工作原理在ARM中配置非緩存I/O示例場景Non-cache IO device Cache 訪問ACE Non-cache IO device 在ARM架構中,ACE(AXI Coherency Extension,…

Flask 統一攔截器

import osfrom flask import Flask, request, sessionapp Flask(__name__) app.config[SECRET_KEY] os.urandom(24) # 生成24位的隨機數種子&#xff0c;用于產生SESSION IDapp.route(/article/<int:article_id>) def test(article_id):"""路由地址參數…

變量的細節

如何打印不同類型的整數常量 相似于我們需要去聲明類型 public class Var {public static void main(String[] args) {// 1就是int類型常量System.out.println(1);// 120后面加一個L(l)表示他是一個long型的整數System.out.println(120l);} }如何打印不同類型的浮點數常量 與…

解決電腦睡眠后,主機ping不通VMware虛擬機

文章目錄 問題解決方法方法一方法二注意 問題 原因&#xff1a;電腦休眠一段時間&#xff0c;再次打開電腦就ping不通VMware虛擬機。 解決方法 方法一 重啟電腦即可&#xff0c;凡是遇到電腦有毛病&#xff0c;重啟能解決90%問題。但是重啟電腦比較慢&#xff0c;而且重啟…

C++用類模板封裝容器

要實現輸出不同容器的值&#xff0c;且各容器包含的數據類型也不同&#xff0c;可以使用類模板和函數模板來實現。 示例代碼如下&#xff1a; #include <iostream> #include <vector> #include <list>template <typename T> class Container { privat…

算法訓練Day36 | ● 01背包問題 ● 416. 分割等和子集

01背包問題 #include<iostream> #include<vector> using namespace std;int main(){int M;int N;cin>>M>>N;vector<int> weight(M, 0);vector<int> value(M, 0);for(int i0; i<M; i){cin>>weight[i];}for(int i0; i<M; i){ci…

Web3工具集合 - 00

使用 React 和 Material-UI 構建的 Web3 工具集合 大家好&#xff01; 我很高興向大家介紹我最近剛啟動了一個項目&#xff1a;Web3 工具集合。 這個項目的目的是一個集成各種 Web3 工具的網站&#xff0c;旨在為開發人員和加密貨幣愛好者提供便捷的工具和資源。 特點&#…

基于SSM的文化遺產的保護與旅游開發系統(有報告)。Javaee項目。ssm項目。

演示視頻&#xff1a; 基于SSM的文化遺產的保護與旅游開發系統&#xff08;有報告&#xff09;。Javaee項目。ssm項目。 項目介紹&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三層體系結構&#xff0c;…

基于ESP32和ESP8266的物聯網開發過程(二)

在做這個項目前&#xff0c;也做了一些調研。項目的初衷是想要用于智能家居。我比較了小米IoT、阿里云、ESPHOME、巴沙云、點燈科技和ONENET等幾個平臺。最終選擇了Onenet&#xff0c;部分原因是之前用過它的多協議版本&#xff0c;但現在這個版本已經下線了。 小米IoT的公測名…