- 博客(11)
- 收藏
- 关注
原创 对象加载学习
CAS是指,不同对象各自去抢内存,如果抢到了就修改这块空间的id,后面的对象也抢到的时候发现id不对了,就是已经被另外的对象占用了,需要重新去抢,主要为了解决并发问题;指针碰撞是指内存顺序使用,就有一个指针a,前面的内存都是已经用的,后面的都是还没使用的,这个时候需要获取新内存时,只需要在a后面获取对应量的内存空间并修改a就行;TLAB是指,每个线程都有一块预先分配的空间,然后类分配空间的时候就会在自己对应线程的空间里拿,如果空间不足以承载就还是会走CAS;上一篇说到类的加载,继续说下对象的加载;
2025-07-16 09:22:00
157
原创 类加载学习
从磁盘中读取对应字节码文件,jvm在实际类调用的时候才会加载,加载过程中会正常这个类的class对象,用以作为访问这个类内元素的入口。类的加载我理解是包含了几部分,读取磁盘对应文件->验证字节码是否合规->给静态变量赋予默认值并分配内存->静态链接->初始化;javac编译出的class文件是符合一定的规范的,如开头的cafebabe jdk版本号之类的,校验文件是否符合规则;把符号引用转为直接引用,就是把一些方法转为指针,指向实际元空间内存的地址;静态变量赋予实际值并执行静态代码块。
2025-07-16 08:20:18
207
原创 类加载器学习
双亲委派机制:当一个加载器加载类的时候,先判断在缓存里是否已经加载过这个类,没有的话不会直接加载,会先问父加载器是否已经加载过,如果父加载器也没有就再问他的父加载器;这个需要理解什么是父加载器,不是继承的父类,而是加载本身有个parent属性,里面会记录对应的父加载器;类加载器的是由c++创建的launcher类,执行getclassload()创建的,这一步会创建java的三个内置类加载器:bootstrapClassLoader、extClassloader、appClassLoader;
2025-07-13 05:21:05
577
原创 java gc
当堆的年轻代满了就会触发yanGC,回收伊甸区及survivor区的垃圾内存;特点是触发频率较高,消耗时间较少,会STW但是由于时间较短,一般不是优化的主要考虑方面gc算法一般使用标记复制算法;即将内存分为两部分,一部位为空的,另一部分为使用的;然后使用可达性算法标记存活的对象,依次复制到空的那边,复制完成后将之前使用的部分清理;保证有一半空的下次可以使用;算法优点:速度快,效率高,完成后内存块有序;缺点:浪费内存,需要保证至少有一半是空的;当老年代满了就会触发fullGC;
2025-07-11 16:08:26
278
原创 线程共享区域-堆
堆是放对象的地方,那是不是所有对象都在堆里呢?不一定;有个对象逃逸原则,如果符合条件会将对象设置在栈上;好处是什么,对象占用内存会随着线程自动回收,不需要等gc;堆分为年轻区和老年区,默认比例为1:2;
2025-07-11 01:32:27
242
原创 jvm初步了解
上一篇说到jdk,我理解核心需要理解的是 javac编译器和jvm执行器;了解编译器帮助我们了解代码的实际生效代码,就是我们写了一堆代码,实际被jvm认知的是什么样子的,可以帮助我们进行代码优化;了解jvm就可以知道我们的代码是怎么执行的,让我们知道实际代码是怎么工作的,从而发现问题和进行问题分析解决;感觉jvm更重要一点,先从这个了解起;jvm网上有很多图,不同jdk版本也有差距,什么元空间啊之类的;我打算学习两个版本,一个是我们现在使用较多的1.8,一个是现在最新推荐的17;开始找图和资料~
2025-07-08 00:17:25
1149
原创 jdk的组成部分
上一篇说有哪些jdk,这篇就看看jdk有哪些东西,分别干啥;这个预计内容很多,本篇先做初步的学习和归纳,后续会补充归纳细节,查的是openjdk部分内容;文档仅个人理解及网上收集,不保证绝对正确。
2025-07-07 03:47:54
212
原创 java jdk
我认知里java就是从jdk开始的,简单来说就是一切的起源,jdk的安装配置什么的我就不写了,这个很多地方可以查,配置也很简单;这次想看下jdk里面有哪些部分,都是干啥的;文档仅个人见解及网上查询资料,不保证正确;我们现在公司现在用的jdk是openjdk1.8;那就有两部分jdk类型和版本,除了openjdk以外还有别的什么?这些的版本分别现在最新的是什么,常用的什么;这么看我们自己学习最好还是Openjdk,毕竟免费么;记录下各类型的下载渠道。
2025-07-07 03:26:04
312
原创 个人从业的经历和一点疑惑
我是个真菜鸟,算是15年毕业的出来3年不到,上的是大专专业是微电子,算是基本和web开发搭不上边,学校的课程里只有碰到一点c学的是很基础的那种,只学到指针那块,但是当时学的还挺感兴趣,老师还很看好我,和我说过毕业后希望我可以走这条路,我当时也没啥感觉。。。后面毕业前就找学校推荐的实习,我当时找了个镀膜工程师助理,主要有几个优点,离家近,福利不错,包吃住上下班还有班车,专业也算对口吧。干了一段时间大...
2018-06-27 15:44:17
1035
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人