目录

从机器语言->汇编语言->高级语言

JVM的整体结构

java代码执行流程

java虚拟机种类(常用的就是HotSpot)


从机器语言->汇编语言->高级语言

计算机系统体系对我们来说越来越远,在不了解底层实现方式的前提下,通过高级语言很容易编写程序代码。但事实上计算机并不认识高级语言。

java就属于高级语言。

JVM的整体结构

java代码执行流程

java代码会进行两次编译,第一次生成class字节码文件,第二次使用JIT编译器将热点代码编译出来,进行缓存起来,增加程序性能。

java虚拟机种类(常用的就是HotSpot)

Classic VM、Exact VM、HotSpot VM、BEA公司(已经被oracle收购)的JRocket、IBM的J9、KVM和CDC/CLDC HotSpot(针对Java ME)、Azul VM、BEA Liquid VM、Zing VM、Apache Harmony、Microsoft VM、Taobao VM、Dalvik VM(执行dex文件,通过class转换来的)

JRocket虚拟机应该是最快的,专注于服务器端应用,没有解释器。

HotSpot VM、BEA公司(已经被oracle收购)的JRocket、IBM的J9是影响力最大的三个虚拟机。

Azul VM、BEA Liquid VM与具体硬件平台绑定,软硬件配合的专有虚拟机。

Graal VM(2018.4公布)如果有一天说有别的虚拟机替换HotSopt VM,那么Graal VM希望最大。

java代码编译之后是如何运行的?不知道这些,面试官问你jvm问题,你只能懵圈相关推荐

  1. 图解 Java 线程的生命周期,看完再也不怕面试官问了

    文章首发自个人微信公众号: 小哈学Java www.exception.site/java-concur- 在 Java 初中级面试中,关于线程的生命周期可以说是常客了.本文就针对这个问题,通过图文并 ...

  2. 执行引擎的工作过程、Java代码编译和执行的过程、解释器、JIT编译器

    执行引擎概述 执行引擎是Java虛拟机核心的组成部分之一. "虚拟机"是-一个相对于"物理机"的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接 ...

  3. JVM原理(Java代码编译和执行的整个过程+JVM内存管理及垃圾回收机制)

    转载注明出处: http://blog.csdn.net/cutesource/article/details/5904501 JVM工作原理和特点主要是指操作系统装入JVM是通过jdk中Java.e ...

  4. 初探JAVA代码在虚拟机中的运行机制

    前言 从这篇文章开始,后面我们将持续介绍JAVA虚拟机的工作原理.作为一名Android程序员,我们都知道Java代码有很多种运行方式,比如:可以在命令行中运行,可以在开发工具中运行,可以以jar文件 ...

  5. java代码怎么在cmd中运行?cmd怎么打开java代码?

    java代码怎么在cmd中运行是一个比较简单的问题,但还是有很多人频繁询问,今天本篇文章为大家统一解答一下这个问题. java代码怎么在cmd中运行? 1.首先用记事本写一个简单的Java程序,保存成 ...

  6. JVM学习笔记(二)------Java代码编译和执行的整个过程

    Java代码编译是由Java源码编译器来完成,流程图如下所示: Java字节码的执行是由JVM执行引擎来完成,流程图如下所示: Java代码编译和执行的整个过程包含了以下三个重要的机制: ● Java ...

  7. 60.Java 代码编译和执行的整个过程

    60.Java 代码编译和执行的整个过程 60.Java 代码编译和执行的整个过程 Java 代码编译是由 Java 源码编译器来完成,流程图如下所示: Java字节码的执行是由 JVM 执行引擎来完 ...

  8. Java 代码编译和执行的整个过程

    一.简述 Java代码编译和执行的整个过程包含了三个重要的机制: ①Java 源码编译机制: ②类加载机制: ③类执行机制 二.Java 源码编译机制 Java 代码编译是由 Javac 编译器来完成 ...

  9. java代码编译过程_Java代码编译和执行的整个过程

    一.简述 Java代码编译和执行的整个过程包含了三个重要的机制:①Java源码编译机制:②类加载机制:③类执行机制 二.Java源码编译机制 Java代码编译是由Javac编译器来完成,流程如图: J ...

最新文章

  1. JAVA 注解的基本原理
  2. map比vo效率 mybatis_mybatis-plus插件使用的一些问题
  3. 纳米计算机存储量,纳米计算-人们需要知道的一切!
  4. 【简便代码+解析】1056 组合数的和 (15分)_14行代码AC
  5. eclipse mat 打开dump文件,明明大小1G,打开后却只有不到100M.其他的去哪了
  6. mysql 报错从 新安装
  7. Django REST Framework API Guide 02
  8. 洛谷 | P1010 幂次方
  9. Laravel 全文检索 Scout集成Algolia
  10. 汉邦监控录像数据恢复软件---蓝梦软件BestRecoveryForHBMS
  11. 表情识别(一)——使用Dlib、opencv和Python识别面部特征
  12. 手机怎么打开html页面,手机网页打不开怎么办?看了就知道了!
  13. 月入1W+的自媒体达人都会用到的运营工具
  14. PDF用什么软件编辑,怎么添加PDF水印
  15. 《Python程序设计实验指导书》81个实验项目选做参考
  16. 非常量引用的初始值必须是左值的处理方法
  17. Memcached缓存
  18. 冶金工程在计算机应用,冶金工程专业计算机应用能力
  19. ANSYS ICEM CFD二维结构网络生成实例——流动传热
  20. 攻击者可能会试图从item.taobao.com窃取您的信息 此服务器无法证明它是item.taobao.com;其安全证书来自*.tmall.com

热门文章

  1. 除了 MySQL 数据库,你还要了解的一些数据库
  2. mysql数据库常见错误码大全
  3. LinkedList ArrayList Vector的区别
  4. java中dateformat类的作用_java-SimpleDateFormat类中可用的日期格式是什么?
  5. retrofit content-length为0_LiveData+Retrofit 网络请求实战
  6. addeventlistener事件第三个参数_简析JavaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序...
  7. 3-Qt6命令行输出显示
  8. fabric sdk php,基于 Fabric-SDK-Go 的Web项目实战之使用Fabric-SDK-Go满足依赖
  9. python实现http协议_python使用socket实现TCP支持HTTP协议的静态网页服务器
  10. java链接mysql数据库格式_JDBC URL连接常用数据库格式