jvm简介

本文介绍了JVM的发展历程,从1996年的经典虚拟机到2002年Hotspot成为默认虚拟机,并详细解释了JVM如何支持Java Library,包括反射、ClassLoader等关键特性。同时,文中还涉及了原码、反码和补码的概念及其在运算中的应用。

定义
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底层执行代码
这里写图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值