
JVM
XiangYida
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM-运行时数据区,对象创建过程
JVM内存模型以下内容整理自https://github.com/Snailclimb/JavaGuide/blob/master/Java/可能是把Java内存区域讲的最清楚的一篇文章.mdJava对象创建过程①类加载检查: 虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载过、解析和初始...原创 2019-03-18 23:38:18 · 221 阅读 · 0 评论 -
JVM-对象的头、域
对象的头、域头对象中保存对象本身信息的部分被称为“头”。头的主要含有一下信息对象的大小对象的种类如果不清楚对象的大小和种类,就会发生问题,例如无法判别内存中存储对象的边界,因此头对GC来说非常重要。此外,头中事先存有运行GC所需的信息。然而根据GC算法的不同,信息也不同。比如GC标记-清楚算法,就是在对象的头部中设置一个flag标志,用来记录对象是否已标记,从而管理各个对象。...原创 2019-03-22 15:44:59 · 209 阅读 · 0 评论 -
深入理解NoClassDeFoundError与ClassNotFoundException
1.先看一下两个类的继承结构图NoClassDeFoundErrorClassNotFoundException通过对比这两张图就会发现他们的区别在于,一个继承自Exception,另一个继承自Error这里就涉及到Exception与Error的区别了。Exception属于CheckedException错误,就是程序能捕获处理的错误。而Error属于UnChecke...原创 2019-04-06 11:14:20 · 9222 阅读 · 1 评论 -
线程的实现
线程的实现有以下三种方式内核线程实现用户线程实现用户线程加轻量级进程混合实现1.使用内核线程实现内核线程(Knernel-Level Thread,KLT)是直接由操作系统内核支持的线程,这种线程由内核来完成线程切换,内核通过操纵调度器(Scheduler)对线程进行调度,并负责将线程的任务映射到各个处理器上。程序一般不会直接去使用内核线程,而是去使用内核线程的一种高级接口-轻量级...原创 2019-08-13 01:16:02 · 299 阅读 · 0 评论