java虛擬機器(一)
1、java如何不關注底層技術細節實現相容性?
使用中間語言 ,通過中間語言實現跨平臺相容的目標。
2、中間語言不是本地機器指令,機器cpu無法直接識別,因此中間語言不能直接在物理cpu上直接執行,怎麼解決?
用虛擬機器來解釋中間語言,將中間語言翻譯成對應的本地機器指令。
3、將中間語言翻譯成本地機器碼的方法?
第一、用C/C++語言為每一個java位元組碼寫一個對應的實現函式。
第二、將java位元組碼指令翻譯成本地機器指令,執行期直接由java虛擬機器呼叫對應的機器指令來執行。這種呼叫機制主要依賴cpu所提供的call和jmp指令。
相關推薦
深入理解java虛擬機器(一)java虛擬機器的記憶體區域
一、 java虛擬機器記憶體區域主要有:方法區、堆、虛擬機器棧、本地方方法棧、程式計數器 按照執行緒私有和共有來分:執行緒私有的有--程式計數器,虛擬機器棧,本地方法棧。共有的有--本地方法區,堆 1、程式計數器:主要功能是控制程式
java虛擬機器(一)
1、java如何不關注底層技術細節實現相容性? 使用中間語言 ,通過中間語言實現跨平臺相容的目標。 2、中間語言不是本地機器指令,機器cpu無法直接識別,因此中間語言不能直接在物理cpu上直接執行,怎麼解決? 用虛擬機器來解釋中間語言,將中間語言翻譯成對應的本地機器指令。 3
深入理解java虛擬機器(一)java的記憶體區域
程式計數器:可以看作當前執行緒所執行的位元組碼的行號指示器,位元組碼直譯器工作時就是通過改變這個計數器的值來選取下一條 需要執行的位元組碼指令,分支、迴圈、跳轉、異常處理、執行緒恢復等基礎功能都需要依賴這個計數器來實現。每一個執行緒都有一個獨立的程式計數器,各個執行緒之間的計數器互不影響,獨立
深入理解Java虛擬機器(一)--- Java 與 JVM
Java 特性 1.結構嚴謹,面向物件程式語言 2.跨平臺性 3.較安全的記憶體管理和訪問機制(避免了絕大部分記憶體洩漏和指標越界的問題) 4.實現熱點程式碼檢測和執行時編譯優化 5.擁有一套完整的API介面 6.擁有豐富的第三方庫 JVM 特性 基於棧
深入理解Java虛擬機器(一)——JVM整體結構與垃圾回收演算法介紹
JVM整體架構 •JVM(虛擬機器):指以軟體的方式模擬具有完整硬體系統功能、執行在一個完全隔離環境中的完整計算機系統 ,是物理機的軟體實現。常用的虛擬機器有VMWare,Virtual Box,Ja
深入理解java虛擬機器(一)
前言 本篇主要講述java記憶體區域的劃分。下面直接進入正題。 概述 java虛擬機器就是在真實物理機上虛擬出來的一臺計算機,java語言有一個特點就是可以跨平臺,其中java起著關鍵作用。這是因為它遮蔽與平臺相關的資訊,java原始檔經過編譯程式編譯後生成位元組碼檔
Java虛擬機器(一):Java編譯器和類載入機制
目錄 編譯時 載入 連線 初始化 類載入器 類的載入 參考: 什麼是Java虛擬機器 從Java虛擬機器所做的事情上去理解,可以分為兩個階段,編譯時和執行時。編譯時主要是一個由編譯器將原始碼譯為虛擬機器指令集的一個過程;而執行
JAVA 虛擬機器(一)內容總結
說明:此文章非本人原創,是分享作者“知其然,後知其所以然”,原部落格地址:https://www.cnblogs.com/gl-developer/p/6502600.html JVM記憶體模型以及分割槽 JVM記憶體分為: 1.方法區:執行緒共享的區域,儲存已經被虛擬機器載入的類資訊、常量、靜態變數、
Java虛擬機器(一)——記憶體區域理解
說明:本文內容主要參考了《深入理解Java虛擬機器》第2版。 一,概述 最近因為辭職了,玩了一段時間了,有時間去學習。加上之前買了一二本書,有不少卻沒有仔細去看,今天狀態還不錯,剛好看到JVM相關的內容,覺得還是在部落格裡好好總結一下。 本文主要還是對JVM的記憶體區域
Java虛擬機器(一)類載入
1、類載入機制 虛擬機器把類的資料從class載入到記憶體,並對資料進行校驗、解析和初始化,最終形成虛擬機器可以直接使用的Java型別,即是虛擬機器的類載入機制。 類載入器並不需要等到某個類被“首次主動使用”時再載入它,JVM規範允許類載入器在預料某個類將要被使用時就預先載入它,如果在預先載
深入理解java虛擬機器(一)----jvm記憶體模型
最近大致的學習了一下jvm的相關技術,發現深入理解java虛擬機器這本書很不錯,所以想將這本書的內容的重難點在blog總結一下,一是為了鞏固這些知識,二是為了把這些重點單獨寫出來,讓初學者在學習的時候有一個大致的框架以至於學起來不至於那麼迷茫 學習java虛擬
深入JVM(Java虛擬機器)(一)Java虛擬機器記憶體區域劃分
本文為博主參閱自《深入理解Java虛擬機器:JVM高階特性與最佳實踐(第2版)》,書中的全部講解均以《Java虛擬機器規範(Java SE 7)》為依據 圖一中為JVM規範中對java虛擬機器記憶體區域的劃分及定義,為單執行緒時的粗略劃分 圖二,中所繪為JVM
深入理解java虛擬機器(一):java記憶體區域(記憶體結構劃分)
圖一:java記憶體結構劃分 由上圖可知,java記憶體主要分為6部分,分別是程式計數器,虛擬機器棧,本地方法棧,堆,方法區和直接記憶體,下面將逐一詳細描述。 1、程式計數器 執行緒私有,即每個執行緒都會有一個,執行緒之間互不影響,獨立儲存。 代表著當前執行緒所執行
JAVA虛擬機器(一)記憶體管理
一.記憶體分配。java虛擬機器在執行的時候,將會包含以下執行時資料區域: 1.執行緒私有的部分: 程式計數器:可以看成是當前執行緒所執行位元組碼的行號指示器。位元組碼直譯器就是通過改變這個計數器的值來確定下一條位元組碼指令。 虛擬機器棧:虛擬機器棧為虛擬機器使用的
深入拆解虛擬機器(一)Java程式碼是咋樣執行的
Java執行方式 序號 方式 1 開發工具中執行 2 雙擊Jar檔案執行 3 命令列中執行
深入理解java虛擬機器(三)(一個類載入器只初始化一次類物件,不同類載入器可以對同一類物件進行初始化)
package com.ygl; class Final{public static final int x=6/3;//此處x在編譯時能計算出值,是編譯時的常量,則System.out.println(Final.x);直接輸出值,不再執行下面static(前提是fina
Java虛擬機(一):JVM的運行機制
包括 MQ inf 分配 font 可能 mage star 都是 一、JVM啟動流程 1.java虛擬機啟動的命令是通過java +xxx(類名,這個類中要有main方法)或者javaw啟動的。 2.執行命令後,系統第一步做的就是裝載配置,會在當前路徑中尋找jvm的
Java程式設計師從笨鳥到菜鳥之(九十三)深入java虛擬機器(二)——類載入器詳解(上)
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
java虛擬機器(JVM)
1.jvm虛擬機器概述和基本概念 (虛擬機器分為系統虛擬機器-》(VirtualBox VMware ==) 和 程式虛擬機器-》(JVM DVM == ) ) 1.1什麼是jvm &n
深入理解java虛擬機器(六)位元組碼指令簡介
Java虛擬機器指令是由(佔用一個位元組長度、代表某種特定操作含義的數字)操作碼Opcode,以及跟隨在其後的零至多個代表此操作所需引數的稱為運算元 Operands 構成的。由於Java虛擬機器是面向運算元棧而不是暫存器的架構,所以大多數指令都只有操作碼,而沒有運算元。 位元組碼指令集是一種具有鮮明特點、