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

JVM原理:

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

JVM的体系结构:

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

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

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

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就是为了支持与操作系统无关,实现跨平台。

Java的jvm原理和常识相关推荐

  1. Java 虚拟机(JVM)原理介绍

    Java 虚拟机[JVM]原理介绍 1.概述 2.Java类的加载原理机制 2.1 .Java类的加载过程 2.2 .Class loader (类加载器) 2.2.1 类的生命周期 2.2.1.1 ...

  2. java的jvm是指_java JVM原理与常识知识点

    JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的.Java虚拟机 ...

  3. java 底层运行_从表面到底层丨Java和JVM的运行原理,现在带给你

    Java,编程语言,被创造于90年代初,在经历了这么多年的风风雨雨,Java已经成长为世界第一的编程语言,根据往期以及目前的数据来看,Java的使用频率为全球第一,即使偶尔会有第二第三的情况,但是这依 ...

  4. java虚拟机原理pdf_揭秘Java虚拟机 JVM设计原理与实现pdf

    揭秘Java虚拟机 JVM设计原理与实现 内容简介 <揭秘Java虚拟机:JVM设计原理与实现>从源码角度解读HotSpot的内部实现机制,本版本主要包含三大部分--JVM数据结构设计与实 ...

  5. java jvm原理_JAVA和JVM运行原理

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

  6. Java工程师必备:JVM原理、内存模型、调优、垃圾回收机制、面试题

    在如今这个时间和知识都是碎片化的时代,C站根据C1-C4认证的成长路径,进行知识细化整理,形成系统化的知识图谱. 通过调研一线互联网大厂的招聘JD,小编对标C站能力认证要求,为大家整理了系列技术干货合 ...

  7. 【Java开发语言 01】第一章 Java语言概述(基础常识+Java语言概述+Java程序运行机制及运行过程+Java语言环境的搭建+开发体验hello world+错误:编码GBK的不可映射字符)

    java入门-第一章Java语言概述 1基础常识 软件开发 人机交互方式 常用的DOS命令(win系统,有一些直接通过命令执行的) 2 Java语言概述 什么是计算机语言 关于面向对象和面向过程 Ja ...

  8. 一文告诉你,为什么要研究JVM原理

    举一个例子,一个车间流水线工人知道怎么把汽车的每一个零部件放在什么位置,从而能够把一个完整的汽车拼装起来,并且能跑起来,但是汽车坏了装配工人不会修啊,不要紧,有专门的维修技术人员!所以就诞生了汽车维修 ...

  9. 形式参数内存在哪java_深入浅出Java中JVM内存管理

    原标题:深入浅出Java中JVM内存管理 Java岗位面试,JVM是对程序员基本功考察,通常会问你对JVM了解吗?可以分几部分回答这个问题,首先JVM内存划分 | JVM垃圾回收的含义 | 有哪些GC ...

最新文章

  1. 《Java和Android开发实战详解》——2.5节良好的Java程序代码编写风格
  2. python基本使用-Python标准库详细介绍与基本使用方式,超详细!
  3. android nfc 跳转,android – 通过NFC发送URL,由浏览器打开
  4. java 获取物理路径_JSP---jsp页面获取物理路径
  5. 【图像融合】图像融合质量评价方法的研究
  6. sqlserver 触发器语法
  7. ES6新特性总结之解构赋值和字符串模板
  8. STM32 SPI 读取12位RM08 SSI 编码器信号
  9. 【HTML】font标签font属性的使用方法
  10. Collections、Set、Map、斗地主排序
  11. Pytorch CPU Tensor与GPU Tensor的运算速度对比测试
  12. 存储器之主存--Cache--辅存大全
  13. 软件测试论文参考文献
  14. VIP邮箱套餐对比,163、TOM、新浪哪家VIP邮箱最全能?
  15. git clone 报 “remote: The project you were looking for could not be found.”
  16. BurnInTest测试固态硬盘详解
  17. MiCO物联网操作系统漫谈
  18. 【报告分享】百度创新营销资源整合方案(2021)-百度营销研究院(附下载)
  19. 评估数据质量的指标总结1
  20. D. Frog Traveler

热门文章

  1. Linux多任务编程之七:Linux守护进程及其基础实验(转)
  2. php下的jsonp使用实例
  3. 学习笔记草稿版——体绘制中的光学模型
  4. IIS6.0下ASP的新增功能
  5. c语言中switch嵌套,C 嵌套 switch 语句 ——jQuery中文网
  6. python从入门到_Python学习路线从入门到上手,如何快速Python学习?
  7. 游戏桌面壁纸|英雄联盟,热爱游戏的朋友看这里
  8. 设计灵感|化繁杂为明晰!如何把信息类海报做得好看?
  9. dbmsjobs记录表 oracle_oracle数据库定时任务dbms_job
  10. matplotlib 横坐标只显示整数_面试题系列 (168) matplotlib条形图绘制