jvm运行机制,入门

这里写图片描述
1.通过java指令启动
2.根据当前路径和系统版本找jvm的配置文件
3.根据配置文件找到jvm.dll文件,为jvm主要实现
4.初始化jvm虚拟机
5.找到main方法运行

这里写图片描述
方法区:保存装载的类信息:1.类型的常量池(jdk1.7后放入堆中)2.字段方法信息 3.方法字节码。
java栈:线程私有,先进后出,栈里面放的是帧,帧里面放的是一个方法局部变量,常量池的指针,每调用
一次方法创建一个帧,并压栈。
java堆:全局共享。
这里写图片描述
栈中存放一个局部变量表,表中每一行相当于一个槽位,最多占32个字节,所有Long型要占用两个槽位, 对象引用占用一个槽位。
java没有寄存器,所有参数传递使用寄存器栈。
java栈上分配特点:
1.小对象(几十bytes),由于栈是线程私有,共享对象只能分配到堆上
2.可以自动回收,减轻GC压力
3.大对象无法分配到栈上。
这里写图片描述
指令重排
a=1,b=2在编译过程中顺序不一定。
这里写图片描述
保证线程间可见性
1.volatile关键字
2.synchronized关键字
3.final(常量)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值