一、jvm入门基础

  1. java编译到执行?
  2. 跨平台语言到跨语言的平台
  3. 常见的jvm实现
  4. jdk jre jvm关系
  5. Class File Format

java如何执行?

 xx.java -- (javac)--  xx.class  --  jvm中(classloader加载  --(解释执行 或 jit即时编译)--执行引擎 --调用操作系统os)

跨平台语言到跨语言的平台

 符合class文件规范即可到jvm执行。

jvm是一种语言规范。Java Documentation - Get Started

常见的jvm实现

Hotspot:目前使用的最多的 Java 虚拟机。
Jrocket:原来属于BEA 公司,曾号称世界上最快的 JVM,后被 Oracle 公司收购,合并于 Hotspot
J9: IBM 有自己的 java 虚拟机实现,它的名字叫做 J9. 主要是用在 IBM 产品(IBM WebSphere 和 IBM 的 AIX 平台上)
TaobaoVM: 只有一定体量、一定规模的厂商才会开发自己的虚拟机,比如淘宝有自己的 VM,它实际上是 Hotspot 的定制版,专门为淘宝准备的,阿里、天 猫都是用的这款虚拟机。
LiquidVM: 它是一个针对硬件的虚拟机,它下面是没有操作系统的(不是 Linux 也不是 windows),下面直接就是硬件,运行效率比较高。
zing: 它属于 zual 这家公司,非常牛,是一个商业产品,很贵!它的垃圾回收速度非常快(1 毫秒之内),是业界标杆。它的一个垃圾回收的算法后来被 Hotspot 吸收才有了现在的 ZGC。

jdk jre jvm关系

1. JDK
JDK ( Java SE Development Kit ), Java 标准的开发包,提供了编译、运行 Java 程序所需要的各种工具和资源 ,包括了 Java 编译器、 Java 运行时环境、以及常用的 Java 类库等。
2. JRE
JRE ( Java Runtime Environment ) , Java 运行时环境,用于解释执行 Java 的字节码文件 。普通用户只需要安装 JRE 来运行 Java 程序即可,而作为一名程序员必须安装 JDK ,来编译、调试程序。
3. JVM
JVM ( Java Virtual Mechinal ), Java 虚拟机,是 JRE 的一部分。 它是整个 Java 实现跨平台的核心 ,负责解释执行字节码文件,是可运行 Java 字节码文件的虚拟计算机。所有平台上的 JVM 向编译器提供相同的接口,而编译器只需要面向虚拟机,生成虚拟机能识别的代码,然后由虚拟机来解释执行。


Class File Format

 使用javap -v  xxx.class 也可以查看Class File Format信息。

  • magic(魔数)4字节:魔数的作用在于,可以轻松的分辨出java class文件和非java class 文件。
  • minnor_version +major_version  4字节:class文件的下面4个字节包含了主、次版本号。
  • constant_pool.count 2字节+ constant_pool(constant_pool.count -1的表):常量池包含了与文件中类和接口相关的常量。常量池中存储了诸如文字字符串、final 变量值、类名和方法名的常量。
  • access_flags:展示了文件中定义的类或接口的几段信息。
  •  this_class :它是一个队常量池的索引。
  • super_class:在class文件中,紧接在this_class 之后的是 super_class 项,它是一个两个字节的常量池索引。
  • interfaces_count 和 intefaces:直接实现或者由接口所扩展的父接口的数量
  • ..........................

   这部分参考:JVM系列之一:ClassFileFormat 详解_183090792csdn的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值