
jvm
凌凌六丶
奥里给!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java对象的实例化布局
对象创建的方式· 直接new· 通过反射newInstance· 使用clone()方法· 通过序列化的方式,一般用于网络传输对象创建步骤2.1 判断对象是否已经被加载先检查在常量池中是否能找到符号引用,检查该符号引用所表示的类是否被加载,解析和初始化,如果没有就调用当前类加载器查找.class文件进行类加载。2.2 为对象分配内存2.2.1 指针碰撞:内存规整的情况下2.2.2 空闲列表:内存不规整2.2.3 保证并发安全:TLAB初始化分配到的内存对所有属性赋初值。设置对象.原创 2021-04-01 10:07:01 · 178 阅读 · 0 评论 -
垃圾收集算法总结
标记算法引用计数算法对每个对象保存一个整型的引用计数器属性。用于记录对象被引用的情况。只要有任何一个对象引用了A,则A的引用计数器就加1;当引用失效时,引用计数器就减1。只要对象A的引用计数器的值为0,即表示对象A不可能再被使用,可进行回收。优点:简单缺点:需要额外内存存储计数器,每次加减需要时间,最大的缺点是会产生循环引用,造成内存泄漏。根搜索算法以根对象集合(GCRoots)为起始点,按照从上至下的方式搜索被根对象集合所连接的目标对象是否可达。如果目标对象没有任何引用链相连,则是不可达的原创 2021-03-21 21:08:14 · 141 阅读 · 0 评论 -
CMS垃圾收集器
特点这款收集器是HotSpot虚拟机中第一款真正意义上的并发收集器,它第一次实现了让垃圾收集线程与用户线程同时工作。CMS的垃圾收集算法采用标记-清除算法,并且也会"Stop-the-World"。工作流程初始标记阶段:在这个阶段中,程序中所有的工作线程都将会因为“Stop-the-World”机制而出现短暂的暂停,这个阶段的主要任务仅仅只是标记出GC Roots能直接关联到的对象。并发标记阶段:从GC Roots的直接关联对象开始遍历整个对象图的过程,这个过程耗时较长但是不需要停顿用户线程原创 2021-03-21 20:15:43 · 99 阅读 · 0 评论 -
字符串拼接操作总结
String s1 = "abc" ; // 字面量的定义方式,字符串存储在常量池中 String s2 = new String("hello"); // new 对象的方式注意事项:String被声明为final的,不可被继承String实现了Serializable接口:表示字符串是支持序列化的。实现了Comparable接口:表示String可以比较大小String在jdk8及以前内部定义了final char value[]用于存储字符串数据。JDK9时改...原创 2021-03-21 19:17:26 · 1346 阅读 · 2 评论