JVM基础概念

什么是JVM

JVM:Java virtual machine,Java虚拟机,它是一种规范。是虚构出来的一台计算机。它可以将二进制字节码根据不同的操作系统转为当前操作系统识别的的字节码指令(汇编语言),从而实现跨平台。并有很好的内存管理功能(分为栈、堆、方法区等。)

jvm发展到现在,已经不仅仅是Java语言的一部分,它已经建立了自己的生态圈。成为一个标准规范。任何语言只要能将其编译为class文件格式,那么都可以在JVM中运行。

jvm规范:https://docs.oracle.com/javase/specs/jvms/se14/html/index.html

Java的跨平台特性:



Java从编码到执行



javac的过程:

常见的JVM实现

  • Hotspot

    oracle官方提供的,现在jdk默认提供的jvm实现。我们安装了jdk之后,通过命令:java -version 可以看出来。

  • Jrockit

    它是BEA公司出品,曾经号称世界上最快的JVM。后来被oracle收购,最终合并于hotspot。现在我们所使用的JVM是它们两个的结合。
  • J9

    IBM制作的JVM
  • Microsoft VM
  • Taobao VM(hotspot深度定制版)
  • LinquidVM (直接针对硬件的JVM)
  • azul zing (最新垃圾回收的顶级标杆,昂贵的费用)
  • 等等

JVM基本概念的更多相关文章

  1. JAVA高级篇(一、JVM基本概念)

    一.什么是JVM VM的中文名称叫Java虚拟机,它是由软件技术模拟出计算机运行的一个虚拟的计算机. JVM也充当着一个翻译官的角色,我们编写出的Java程序,是不能够被操作系统所直接识别的,这时候J ...

  2. jvm 堆栈概念

    关于JVM的工作原理以及调优是一个向往已久的模块,终于有幸接触到:http://pengjiaheng.iteye.com/blog/518623 那就顺着这个思路,来梳理一下自己看到后的结论和感想. ...

  3. JVM原理和优化

    JVM工作原理和特点主要是指操作系统装入JVM是通过jdk中Java.exe来完成,通过下面4步来完成JVM环境. 1.创建JVM装载环境和配置 2.装载JVM.dll 3.初始化JVM.dll并挂界 ...

  4. jvm 原理和优化

    在csdn 上看到的,觉得很好,收藏了: 原博文地址: 濤子 http://blog.csdn.net/ning109314/article/details/10411495/ JVM工作原理和特点主 ...

  5. 基础03 JVM到底在哪里?

    1.Java是编译型语言还是解释型语言? 是解释型定义: 编译型语言:把做好的源程序全部编译成二进制代码的可运行程序.然后,可直接运行这个程序. 解释型语言:把做好的源程序翻译一句,然后执行一句,直至 ...

  6. Java虚拟机详解01----初识JVM

    主要内容如下: JVM的概念 JVM发展历史 JVM种类 Java语言规范 JVM规范 一.JVM的概念: JVM: Java Virtual Machine,意为Java虚拟机. 虚拟机: 指通过软 ...

  7. JVM知识学习与巩固

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

  8. 全面认识JVM技术

    本文向大家描述一下JVM的概念,JVM(Java虚拟机)是可运行Java代码的假想计算机.只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行. J ...

  9. JVM工作原理

    作为一种阅读的方式了解下jvm的工作原理 JVM工作原理和特点主要是指操作系统装入JVM是通过jdk中Java.exe来完成,通过下面4步来完成JVM环境. 1.创建JVM装载环境和配置 2.装载JV ...

随机推荐

  1. Lvs+Keepalived+MySQL Cluster架设高可用负载均衡Mysql集群

    ------------------------------------- 一.前言 二.MySQL Cluster基本概念 三.环境 四.配置 1.LB-Master及LB-Backup配置 2.M ...

  2. MySQL日志管理、备份与恢复

    MySQL日志管理.备份与恢复 目录 MySQL日志管理.备份与恢复 一.MySQL日志管理 1. MySQL日志路径 2. 设置.修改日志路径 3. 查询日志功能是否开启 二.MySQL备份与恢复 ...

  3. abp vnext 调试

    在用Abp或者asp.net core 开发过程中,难免会遇到稀奇古怪的问题,需要对底层源代码进行调试,下面就教大家如何通过配置Visual Studio 2019来进行调试: 首先我们通过查看Abp ...

  4. desktopForWin安装

    window环境下搭建appium(win7和win10都试过,能行),这里只说了Android自动化环境.iOS自动化需要MacOS支持. 一.python环境搭建 下载Python 官网下载地址h ...

  5. Solution -「ROI 2019」「LOJ #3192」课桌

    \(\mathcal{Description}\)   Link.   原题意足够简洁啦.( \(\mathcal{Solution}\)   乍一看比较棘手,但可以从座位的安排方式入手,有结论:   ...

  6. pytest--mark基本使用(主要通过pytest.ini文件注册标签名,对用例进行标记分组)

    1.pytest中的mark介绍 mark主要用于在测试用例/测试类中给用例打标记(只能使用已注册的标记 名),实现测试分组功能,并能和其它插件配合设置测试方法执行顺序等.如下 图,现在需要只执行红色 ...

  7. python-xlutils模块-修改excel

    前言 xlrd库用于读取excel文件中的数据,xlwt库用于将数据写入excel文件,修改用xlutils模块: xlutils库也仅仅是通过复制一个副本进行操作后保存一个新文件,像是xlrd库和x ...

  8. java培训班出来的都怎么样了

    通过java培训班培训这种方式来提升自身技能,然后找到工作,是现在许多刚毕业或是想转行的从业者选择的途径之一,在这种趋势之下,许多相关人士都非常关注从java培训班出来的人们结果是否令人满意. 不可否 ...

  9. 免费报表软件下载推荐------值得办公小白下载的Web报表工具

    Smartbi免费报表软件更是国内报表产品的新高峰,它直接使用Excel作为报表设计器,易用性.功能性.运行速度都得到了大幅提升,遥遥领先竞品.该产品以"真Excel"为最大特色, ...

  10. 【用户状态】详细解读Oracle用户ACCOUNT_STATUS的九种状态

    转至:http://blog.itpub.net/519536/viewspace-672276/ DBA_USERS视图中ACCOUNT_STATUS记录的用户的当前状态,一般情况下在使用的正常用户 ...