67、jvm底部分析

在这里插入图片描述
每一个方法都是 栈帧
先进后出
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
结果: true false true
new 对象 是放在堆里
在这里插入图片描述
c.intern() 把堆里面的值放到 字符串常量池 hashset相同时 会覆盖原来的
在这里插入图片描述
基本类型都是值传递
包装类要看 值是多少 会涉及到拆封装

指针碰撞

: 记录当前指针到哪里去 哪个区域
有多个线程创建对象
在这里插入图片描述
cas锁
在这里插入图片描述
cas无锁机制 是因为 硬件层面加锁

空闲列表

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
逃逸 是到了堆里
栈上分配:只在当前方法使用就是
内存逃逸: 方法内的对象 被其他方法引用; 对象太大
每个方法 都是一个栈帧
在这里插入图片描述

在这里插入图片描述
结果: true
指向的是同一个class

在这里插入图片描述

在这里插入图片描述
句丙引用: 对象需要改变的话,直接替换医用对象的值。但是无需改变引用的变量。
因为中间有句丙,所以效率没有直接引用的高。
在这里插入图片描述

发布了119 篇原创文章 · 获赞 12 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_44722978/article/details/102937101
67