图地芜湖
图地芜湖
全部文章
JVM
linux(5)
mysql(1)
point(1)
spring(1)
多线程(3)
好文(1)
我的坑(2)
源码(2)
算法(22)
计网(1)
记录(1)
设计模式(3)
归档
标签
去牛客网
登录
/
注册
有啥写啥🐕
全部文章
/ JVM
(共5篇)
【JVM】对象创建
对象加载机制 当对象遇到遇到一条new字节码指令时,首先会去检查这个指令参数能否在常量池定位到一个类的符号引用,并且看看这个类是否已经加载、解析和初始化过。如果没有将会进行类加载过程 然后再为对象分配内存(划分空间):在堆中划出一块大小给对象,有两种方式 “指针碰撞”如果Java堆中内存...
2021-12-19
0
354
【JVM】内存分配和回收策略
对象优先在Eden分配 大多数情况下,对象在新生代Eden区中分配,当Eden区没有足够空间分配时将触发youngGC 大对象直接进入老年代 大对象是指需要大量连续内存空间的对象,最典型的就是很长的字符串。 可以设置*-XX:PretenureSizeThreshold*参数,指定大于该...
2021-12-19
0
430
【jvm】jvm垃圾回收相关
一、对象是否回收的判断 主要是两个算法 引用计数算法 给对象中添加一个引用计数器,每当有一个地方引用它,计数器就加1;当引用失效,计数器就减1;任何时候计数器为0 的对象就是不可能再被使用的。这个方法实现简单,效率高,但是目前主流的虚拟机中并没有选择这个算法来管理内存,其最主要的原因是它很难解决 ...
2021-08-23
0
304
【JVM】jvm对象创建与内存分配
#一、对象创建的主要流程 ##1.划分内存的方法: 需要解决的两个问题: 2.在并发情况下, 可能出现正在给对象A分配内存,指针还没来得及修改,对象B又同时使用了原来的指针来分配内存的情况。 ①.如何划分内存。 “指针碰撞”(Bump the Pointer)(默认用指针碰撞) 如果Java堆中...
2021-08-22
0
474
【jvm】类加载
#一、类加载器初始化以及加载类过程流程图 #二、类加载过程 1. 其中loadClass的类加载过程有如下几步: 加载 >> 验证 >> 准备 >> 解析 >> 初始化 >> 使用 >> 卸载 加载:在硬盘上查找并通过IO...
2021-08-14
0
376