java虛擬機是做什么用的
為了能夠在不同的平臺支持java的語言,我們需要一種輔助機制進行翻譯,所以java虛擬機就誕生了,也就是平時所說的JVM。能夠對java語言進行翻譯,然后適應于其他的平臺。下面窩們就JVM的概念,與其他機制的關系、設置參數(shù)帶來介紹,然后講解其中的一個重點知識點。
1.概念
JVM是java上的一個虛構出來的計算機,是一個位于Java與操作系統(tǒng)之間的中間態(tài)。有自己完善的硬件結構,如處理器、堆棧、寄存器等,還具有相應的指令系統(tǒng)。
2.JVM、JRE和JDK的關系
3.設置JVM內存的參數(shù)有四個
-Xmx Java Heap最大值,默認值為物理內存的1/4,最佳設值應該視物理內存大小及計算機內其他內存開銷而定;
-Xms Java Heap初始值,Server端JVM最好將-Xms和-Xmx設為相同值,開發(fā)測試機JVM可以保留默認值;
-Xmn Java Heap Young區(qū)大小,不熟悉最好保留默認值;
-Xss 每個線程的Stack大小,不熟悉最好保留默認值
4.常用知識點
堆(heap)與棧(stack)
堆和棧是程序運行的關鍵,很有必要它他們的關系說清楚。
在java中,Main函數(shù)就是棧的起始點,也是程序的起始點。程序要運行總是有一個起點的(程序執(zhí)行的入口)。
棧幀相關
int i=0; i=i++; sout(i);//為什么i還等于0?
java虛擬機定義:
虛擬機是一種抽象化的計算機,通過在實際的計算機上仿真模擬各種計算機功能來實現(xiàn)的。Java虛擬機有自己完善的硬體架構,如處理器、堆棧、寄存器等,還具有相應的指令系統(tǒng)。Java虛擬機屏蔽了與具體操作系統(tǒng)平臺相關的信息,使得Java程序只需生成在Java虛擬機上運行的目標代碼(字節(jié)碼),就可以在多種平臺上不加修改地運行。
所謂的java虛擬機,就是一臺虛擬的機器。它是一款軟件,用來執(zhí)行一系列虛擬計算機指令,大體上虛擬機可以分為系統(tǒng)虛擬機和程序虛擬機。visual Box、VMare就屬于系統(tǒng)虛擬機。他們完全是對物理計算機的仿真,提供一個可運行完整操作系統(tǒng)的軟件平臺。而java虛擬機就是典型程序虛擬機,它專門為執(zhí)行單個計算機程序而設計,在java虛擬機中執(zhí)行的指令我們稱之為java字節(jié)碼指令。java發(fā)展到今天,出現(xiàn)了很多虛擬機,最初sun使用的叫Classic的java虛擬機,到現(xiàn)在使用最廣泛的是HotSpot虛擬機,除了sun以外還有BEA的JRockit,目前JRockit和HotSpot都被甲骨文公司收入旗下,大有整合的趨勢。
到此這篇關于java虛擬機是做什么用的的文章就介紹到這了,更多相關java虛擬機是什么內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- Java虛擬機之類加載
- java虛擬機之JVM調優(yōu)詳解
- Java虛擬機內存區(qū)域劃分詳解
- 概述java虛擬機中類的加載器及類加載過程
- 深入了解Java虛擬機棧以及內存模型
- 淺析Java虛擬機詳解之概述、對象生存法則
- Java跨平臺原理與虛擬機相關簡介
- java虛擬機jvm方法區(qū)實例講解
- java虛擬機鉤子關閉函數(shù)addShutdownHook的操作
- 詳解Java 虛擬機垃圾收集機制
- Java虛擬機使用jvisualvm工具遠程監(jiān)控tomcat內存
- Java虛擬機常見內存溢出錯誤匯總
- Java虛擬機執(zhí)行引擎知識總結
- Java啟用Azure Linux虛擬機診斷設置
- Java虛擬機內存溢出與內存泄漏
- java虛擬機創(chuàng)建失敗的原因整理
- Java內存模型中的虛擬機棧原理分析
- Java基礎之創(chuàng)建虛擬機對象的過程詳細總結
相關文章
SpringBoot切面實現(xiàn)token權限校驗詳解
這篇文章主要介紹了SpringBoot切面實現(xiàn)token權限校驗詳解,要實現(xiàn)權限校驗,首先數(shù)據(jù)表和實體類上需要有權限字段,我的表中permission和gender是通過外鍵約束permission表和gender表實現(xiàn)枚舉的,因為可拓展性更好,需要的朋友可以參考下2024-01-01基于FlashPaper實現(xiàn)JSP在線閱讀代碼示例
這篇文章主要介紹了基于FlashPaper實現(xiàn)JSP在線閱讀代碼示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-10-10MybatisPlus使用Mybatis的XML的動態(tài)SQL的功能實現(xiàn)多表查詢
本文主要介紹了MybatisPlus使用Mybatis的XML的動態(tài)SQL的功能實現(xiàn)多表查詢,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-11-11SpringBoot @ConfigurationProperties注解的簡單使用
即便現(xiàn)在簡化了配置,但是一個獨立的配置文件總是易于理解而且使人安心的。Spring在構建完項目后,會默認在resources文件夾下創(chuàng)建一個application.properties文件,application.yml也是一樣的效果。@ConfigurationProperties可以獲取配置文件中的數(shù)據(jù),將其注入類。2021-05-05