JVM是Java的一大利器。它可以屏蔽各个计算机平台相关软件和硬件之间的差异。把平台相关的耦合统一工作交由JVM的实现者。

JVM(Java 虚拟机),它通过模拟一个计算机来达到一个计算机所拥有的计算功能。

为了了解JVM的体系结构,所以我们先看一台真实计算机的体系包括哪些结构:

1、指令集:这台计算机可以识别的机器语言的命令集合。

2、计算单元:能够识别并且控制指令执行的模块。

3、寻址方式:地址的位数,地址的范围和运行方式。

4、寄存器:包括操作数寄存器、变址寄存器、控制寄存器等的定义、数量和使用方式。

5、存储单元:能够存储操作数和保存操作结构的单元,如内存、磁盘。

那么JVM在具体实现这些功能的时候,具体分为那几部分呢:

1、类加载器,在JVM启动或者加载的时候把需要的Class加载到JVM内存中。

2、执行引擎,负责实行Class文件中包含的字节码指令,相当于实际机器上的CPU。

3、内存区,将内存划分为若干个区来模拟实际机器上的存储、记录和功能调度模块。

4、本地方法调用,调用C或者C++实现的本地方法返回结果。

它的流程如上图所示。

JVM 体系结构介绍的更多相关文章

  1. JVM体系结构之一:总体介绍

    一.Java的内存区域划分 Java 虚拟机在执行Java程序的时候会把它管理的内存区域划为几部分,这一节我们就来解析一下Java的内存区域. Java的内存区域主要分为五部分: 程序计数器(PC) ...

  2. JVM 体系结构概述 (一)

    一.jvm运行在操作系统之上的,它与硬件没有直接交互: 二.JVM体系结构概览 JVM的基本结构:类加载器.执行引擎.运行时数据区.本地方法接口: 过程:class文件 ----> 类加载器 - ...

  3. JVM体系结构之三:方法区之2(jdk1.6,jdk1.7,jdk1.8下的方法区变迁)

    方法区 方法区存储虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据.HotSpot中也称为永久代(Permanent Generation),(存储的是除了Java应用程序创建的对象之 ...

  4. JVM体系结构之三:方法区之1

    一.简介 方法区在JVM中也是一个非常重要的区域,它与堆一样,是被线程共享的区域.在方法区中,存储了每个类的信息(包括类的名称.方法信息.字段信息).静态变量.常量以及编译器编译后的代码等. 方法区( ...

  5. JVM 体系结构与工作方式

    .katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...

  6. java虚拟机之JVM体系结构

    JVM体系结构: 下面重点介绍运行时数据区域模块: (1)java堆(Heap) 被所有线程共享的一块内存区域,在虚拟机启动时创建 用来存储对象实例 可以通过-Xmx和-Xms控制堆的大小 OutOf ...

  7. 46张PPT讲述JVM体系结构、GC算法和调优

    本PPT从JVM体系结构概述.GC算法.Hotspot内存管理.Hotspot垃圾回收器.调优和监控工具六大方面进行讲述.(内嵌iframe,建议使用电脑浏览) 好东西当然要分享,PPT已上传可供下载 ...

  8. JVM监控工具介绍

    JVM监控工具介绍 VisualVM是一种集成了多个JDK命令行工具的可视化工具,它能为您提供强大的分析能力.所有这些都是免费的!它囊括的命令行工具包括jps,jstat,jmap,jinfo,jst ...

  9. 深入Java虚拟机读书笔记第一章Java体系结构介绍

    第1章 Java体系结构介绍 Java技术核心:Java虚拟机 Java:安全(先天防bug的设计.内存).健壮.平台无关.网络无关(底层结构上,对象序列化和RMI为分布式系统中各个部分共享对象提供了 ...

随机推荐

  1. 实验三 Java猜数字游戏开发

    课程:Java实验   班级:201352     姓名:程涵  学号:20135210 成绩:             指导教师:娄佳鹏   实验日期:15.06.03 实验密级:         ...

  2. 20172325『Java程序设计』课程 结对编程练习_四则运算第二周阶段总结

    20172325『Java程序设计』课程 结对编程练习_四则运算第二周阶段总结 结对伙伴 学号:20172306 姓名:刘辰 结对伙伴博客链接 刘辰同学对编程的积极程度很高,并且在编程能力上很不错,有 ...

  3. YQCB冲刺周第六天

    站立会议如上图 任务看板: 今天的任务为依旧为将用户记录的数据添加到数据库中,以及金额球的设置. 遇到的问题为金额球在jsp页面的显示.

  4. ASP.NET Forms身份验证概述

    表单身份验证允许您使用自己的代码对用户进行身份验证,然后在cookie或页面URL中维护身份验证令牌.表单身份验证通过FormsAuthenticationModule类参与ASP.NET页面生命周期 ...

  5. 浏览器播放rtmp流

    我是利用flash插件实现的,需要以下几个文件: flowplayer-3.2.8.min.js flowplayer-3.2.18.swf flowplayer.rtmp-3.2.8.swf flo ...

  6. 对JAVA RMI的认识

    RMI的定义 RPC (Remote Procedure Call):远程方法调用,用于一个进程调用另一个进程中的过程,从而提供了过程的分布能力. RMI(Remote Method Invocati ...

  7. C++派生类构造函数调用顺序(详解)

    我们来看下面一段代码: class B1 { public: B1(int i) {cout<<"constructing B1 "<<i<<e ...

  8. Robot Framework 教程 (6) - 使用条件表达式

    本篇文章,主要对如何在Robot Framework中使用条件表达式做过程控制作说明. 按照Robot Framework的官方文档介绍,Robot Framework并不建议在TestCase或Ke ...

  9. 使用testng多线程来测试成交编号重复的问题

    1.首先编写一个测试用的 function CREATE OR REPLACE FUNCTION getDealmainNo_test(dealdate IN varchar2, productcod ...

  10. [转帖] 知乎: 为什么品牌机器里面的VTX都是关闭的..

    为何品牌机BIOS中的硬件虚拟化都是默认关闭的?   知乎老狼原创: https://www.zhihu.com/question/40381254/answer/499617881 谢邀.先说结论, ...