jvm简介

定义
jvm严格来讲是一种规范,现下最流行的实现是hotspot。

发展史
1996年 SUN JDK 1.0 Classic VM
纯解释运行,使用外挂进行JIT

1997年 JDK1.1 发布
AWT、内部类、JDBC、RMI、反射

1998年 JDK1.2 Solaris Exact VM
JIT 解释器混合
Accurate Memory Management 精确内存管理,数据类型敏感
提升的GC性能

2000年 JDK 1.3 Hotspot 作为默认虚拟机发布

2002年 JDK 1.4 Classic VM退出历史舞台

原码,反码,补码
原码:第一位为符号位(0为正数,1为负数)
反码:符号位不动,原码取反
负数补码:符号位不动,反码加1
正数补码:和原码相同

打印整数的二进制表示

int a=-6;
for(int i=0;i<32;i++){
    int t=(a & 0x80000000>>>i)>>>(31-i);
    System.out.print(t);
}

-6
原码: 10000110
反码: 11111001
补码: 11111010

-1
原码: 10000001
反码: 11111110
补码: 11111111

0的正数和负数
正数:00000000
负数:10000000
用补码表示为00000000

补码主要用来运算(补码直接相加就是运算结果):
-6+5
11111010
+ 00000101
= 11111111

-4+5
11111100
+ 00000101
= 00000001

-3+5
11111101
+ 00000101
= 00000010

JVM需要对Java Library 提供以下支持:
反射 java.lang.reflect
ClassLoader
初始化class和interface
安全相关 java.security
多线程
弱引用

jvm底层执行代码
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值