初识JVM

1.JVM的概念

JVM是java Virtual Machine的简称,意为java虚拟机

JVM使用软件模拟java字节码的指令集。

Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。

为什么Java被称作是“平台无关的编程语言”?

Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。

2各式JVM

①KVM-sun发布、IOS Android前,广泛用于手机系统

②CDC/CLDC HotSpot-手机、电子书、PDA等设备上建立统一的java编程接口

-J2ME的重要组成部分

③IBM J9 VM-IBM内部

3.规范

Java语言规范-语法、变量、类型、文法

 

 

JVM规范-Class文件类型、运行时数据、帧栈、虚拟机的启动、虚拟机的指令集

补码形式

0x80000000,一个16进制需要4位二进制表示,所以表示的是100000000…31个零的二进制表示。A与其按位求与,>>> 无符号右移,右移指定位数,左边空出来补0

得到100000000—31个零的整数表示-2147483648,然后再将1000000--31个零无符号右移31位,得到整形的1,这样每次就能得到一位二进制表示。

为什么计算机中要使用补码?

 

为了正确表示零,使用补码的时候,0的表示形式是统一的,另外补码的话可以不用进行减法运算,直接使用加法运算即可。补码想家符号位参与运算

符号位 指数位 尾数(虽然只有23,实际上有24位)尾数中,附加位为1,故101000000等价于

对于 IEEE754单精度浮点数 = (-1)^S * (1.F) * 2^(E-127)

对于-5

符号位: S=1(一位) ;

介码: E=127+2= 1000 0001 (八位);

尾数: F= 010 0000 0000 0000 0000 0000 (二十三位);

 

0入栈,将0出栈存到第一个局部变量i中,然后执行第8条语句,局部变量i入栈,常数100入栈,比较i是否小于100,如果是回到第5条指令,执行i++,循环8-11,最后return结束。

 

本文参考LS-java虚拟机深入JVM内核—原理、诊断与优化视频 写出,如果错误,欢迎指出

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值