![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JUC和JVM
文章平均质量分 89
JUC和JVM作为面试高频,单独摘出来学习
乘风破浪的牛马
安静的搬砖人士~
(有些内容涉及个人信息、公司信息,所以设置为付费专栏)
展开
-
Day03_JVM-类加载与字节码技术
文章目录一、类加载与字节码技术1、类文件结构1) 魔数(u4 magic)2) 版本(u2 minor_version、u2 major_version)3) 常量池4) 访问标识与继承信息5) Field 信息6) Method 信息7) 附加属性2、字节码指令javap工具图解方法执行流程1.常量池载入运行时常量池2.方法字节码载入方法区3.Main线程开始运行,分配栈帧内存4.执行引擎开始执行字节码5.练习:分析a++ + ++a 一、类加载与字节码技术 1、类文件结构 一个简单的 HelloWor原创 2021-08-15 17:16:21 · 125 阅读 · 0 评论 -
Day2_JVM-垃圾回收
文章目录一、垃圾回收1.如何判断对象可以回收2.四种引用3.四种引用的举例二、垃圾回收算法1.垃圾回收算法 一、垃圾回收 1.如何判断对象可以回收 1)引用计数法 当一个对象被引用时,就让引用对象的值加一;当值为 0 时,就表示该对象不被引用,可以被垃圾收集器回收。 这个引用计数法听起来不错,但是有一个弊端,如下图所示,循环引用时(A引用B,B也引用了A),两个对象的计数都为1,导致两个对象都无法被释放。 2)可达性分析算法 JVM 中的垃圾回收器是通过可达性分析来探索所有存活的对象的。 可达性分原创 2021-07-09 20:28:10 · 184 阅读 · 0 评论 -
Day1_JVM-内存结构
文章目录一、JVM 入门介绍二、线程私有的那些内存结构1.程序计数器2.虚拟机栈3.栈内存溢出4.线程诊断_CPU占用过高5.线程诊断_迟迟得不到结果6.本地方法栈三、线程共享的那些内存结构1.堆2.堆的内存溢出3.方法区4.常量池(常量池在方法区里面)5.串池6.串池的面试题7.串池的位置 一、JVM 入门介绍 JVM定义: JVM全称Java Virtual Machine(Java虚拟机),也就是java程序的运行环境 JVM优势: 一次编写,到处运行(jvm屏蔽了底层代码和操作系统之间的差异,所以原创 2021-07-05 19:16:57 · 154 阅读 · 2 评论 -
Day1_JUC-第一天
文章目录一、你必须知道的事1.这些必须会2.wait/sleep 的区别:3.关于多线程的写法二、关于Synchronized锁与Lock锁1.传统的Synchronized锁2.Lock锁3.Synchronized锁和Lock锁的区别三、生产者与消费者问题1.使用Synchronized的生产者和消费者问题2.Lock版的消费者生产者问题3.为什么要使用Lock而不是Synchronized?四、8锁现象彻底理解锁五、集合类不安全1.List不安全2.Set不安全3.Map不安全六、Callable1.原创 2021-06-14 20:42:33 · 1140 阅读 · 1 评论