zoukankan      html  css  js  c++  java
  • Jvm原理

    JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。

    JVM原理

     
    1. JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。它是一种利用软件方法实现的抽象的计算机基于下层的操作系统和硬件平台,可以在上面执行java的字节码程序。

    2. JVM的体系结构:

      类装载器(ClassLoader)(用来装载.class文件)

      执行引擎(执行字节码,或者执行本地方法)

      运行时数据区(方法区、堆、java栈、PC寄存器、本地方法栈)

       
    3. JVM运行时数据库示意图

    JRE/JDK/JVM是什么关系

      
    1. JRE(JavaRuntimeEnvironment,Java运行环境),也就是Java平台。所有的Java 程序都要在JRE下才能运行。普通用户只需要运行已开发好的java程序,安装JRE即可。

    2.  JDK(Java Development Kit)是程序开发者用来来编译、调试java程序用的开发工具包。JDK的工具也是Java程序,也需要JRE才能运行。为了保持JDK的独立性和完整性,在JDK的安装过程中,JRE也是 安装的一部分。所以,在JDK的安装目录下有一个名为jre的目录,用于存放JRE文件。
       
    3. JVM(JavaVirtualMachine,Java虚拟机)是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系统无关,实现跨平台。
       
       
  • 相关阅读:
    git常用命令总结
    sublime text文本中文显示繁体字修改设置
    正则表达式规则玩法
    网址总结
    维度灾难的问题
    Mybatis使用Map当做参数获取插入数据成功后返回的自增id
    Cenos7安装破解jira
    Linux下安装mysql-5.7.28详细步骤
    使用通用mapper时报错,tk.mybatis.mapper.MapperException:无法获取实体类xxx对应的表名!
    Mysql插入数据时,报错this is incompatible with sql_mode=only_full_group_by
  • 原文地址:https://www.cnblogs.com/whymoney1000/p/11191830.html
Copyright © 2011-2022 走看看