文档章节

JVM体系结构

JackieYeah
 JackieYeah
发布于 2013/08/29 20:24
字数 545
阅读 165
收藏 1

一、Java 虚拟机简介

      Java 虚拟机是整个Java 平台的基石,是Java 技术用以实现硬件无关与操作系统无关的关键部分,是Java 语言生成出极小体积的编译代码的运行平台,是保障用户机器免于恶意代码损害的保护屏障。Java 虚拟机可以看作是一台抽象的计算机。如同真实的计算机那样,它有自己的指令集以及各种运行时内存区域。

      当我们说“Java虚拟机”的时候,可能指以下三种不同的东西:

      (1) 抽象规范。

      (2) 一个具体的虚拟机实现。

      (3) 一个运行中的虚拟机实例。

      Java虚拟机抽象规范仅仅是个概念,不同的厂商有着不同的具体实现。当运行一个Java程序的同时,也就在运行一个Java虚拟机实例。每个Java程序都运行于某个具体的Java虚拟机实现的实例上。

二、Java 虚拟机体系结构

     下面是JVM规范定义的标准结构:

        Java虚拟机负责装载class文件并执行。每个Java虚拟机都有一个类装载器子系统,它根据给定的全限定名来装载class文件(类或接口)。每个Java虚拟机都有一个执行引擎,它负责执行那些包含在被装载类的方法中的指令。当Java虚拟机运行一个程序时,它需要内存来存储许多东西,如字节码,从已装载的class文件中得到的其他信息,程序创建的对象,传递给方法的参数,返回值,局部变量,以及运算的中间结果等等,Java虚拟机把这些东西都组织到内存空间中,便于管理。

     注意:Java 虚拟机与Java 语言并没有必然的联系,它只与特定的二进制文件格式——Class 文件格式所关联,Class 文件中包含了Java 虚拟机指令集(或者称为字节码、Bytecodes)和符号表,还有一些其他辅助信息。

© 著作权归作者所有

共有 人打赏支持
JackieYeah
粉丝 44
博文 70
码字总数 90004
作品 0
武汉
程序员
Java虚拟机JVM内部体系结构

Java虚拟机JVM内部体系结构 易百教程移动端:请扫描本页面底部(右侧)二维码并关注微信公众号,回复:"教程" 选择相关教程阅读或直接访问:http://m.yiibai.com 。 JVM(Java虚拟机)是一个抽象...

LYQ1990
07/18
0
0
什么是J2EE、Java SE、Java EE、Java ME?

目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Ed...

Midnight
2010/12/28
0
0
什么是Java语言?java语言简介

Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的W...

阿秀a
2010/10/19
0
0
为什么说JAVA的运行与计算机硬件平台无关?

Java编译器能够生成一种与计算机体系结构无关的字节指令(Byte code),只要计算机安装了Java虚拟机,java就可以在相应的计算机上执行,利用Java虚拟机就可以把字节码(.class)程序与计算机操作系...

jdroid
2012/03/26
0
0
《深入Java虚拟机》——Java虚拟机读书笔记

1、Java虚拟机的生命周期 如果在同一台计算机上同时运行三个Java程序,将得到三个Java虚拟机实例。 在Java虚拟机内部有两种线程,守护线程和非守护线程。守护线程通常是由虚拟机自己使用的,...

亭子happy
2014/04/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

阿里云API网关使用教程

API 网关(API Gateway)提供高性能、高可用的 API 托管服务,帮助用户对外开放其部署在 ECS、容器服务等阿里云产品上的应用,提供完整的 API 发布、管理、维护生命周期管理。用户只需进行简...

mcy0425
30分钟前
4
0
解决远程登陆误按ctrl+s锁屏假死恢复

使用putty时,偶尔发生屏幕假死,不能输入等情况。 后来发现,只要数据ctrl+s,就会假死;输入ctrl+q就可以恢复过来。 很多刚从windows转移到linux上来工作的朋友,在用vi/vim编辑文件时,常常...

HJCui
33分钟前
0
0
@Transactional

事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编程式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于...

asdf08442a
37分钟前
2
0
widows下强制解除8080端口占用问题

使用win+R打开命令窗口 输入以下命令查看哪个任务占用了8080端口 netstat -ano |findstr "8080" 然后通过任务id强制关闭占用该端口的进程 tskill 10044 // 自己的试情况而定,这个ID是LISTE...

_Artisan
47分钟前
2
0
productFlavors简单实用

最近项目中,不同环境需要配置的参数越来越多,为了减少修改代码次数。研究了一下productFlavors的使用方式,总结如下 1. as3.0以上版本使用productFlavors时需要指定一个flavorDimensions,...

火云
49分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部