自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 JVM详解及调优

当eden区对象存满的时候触发minor GC,会将有用的对象转移到s0区域.当eden区域再满的时候,触发gc后会讲有用的对象都转移到s1区域.每次转移都会使对象的分代年龄加1.当对象的年龄达到15的时候会转移到老年代.加载某个类时会先委托父加载器寻找目标类,找不到再委托上层父加载器加载,如果所有父加载器在自己的加载类路径下都找不到目标类,则在自己的 类加载路径中查找并载入目标类。方法区主要回收的是无用的类,那么如何判断一个类是无用的类的呢?年轻代占堆内存的1/3,老年代占堆内存的2/3.

2024-03-14 23:26:11 843

原创 垃圾收集器ParNew&CMS与底层三色标记算法详解

默认年轻代对堆内存的占比是5%,如果堆大小为4096M,那么年轻代占据200MB左右的内存,对应大概是100个Region,可以通过“-XX:G1NewSizePercent”设置新生代初始占比,在系统运行中,JVM会不停的给年轻代增加更多的Region,但是最多新生代的占比不会超过60%,可以通过“-XX:G1MaxNewSizePercent”调整。它是许多运行在Server模式下的虚拟机的首要选择,除了Serial收集器外,只有它能与CMS收集器(真正意义上的并发收 集器,后面会介绍到)配合工作。

2024-03-14 23:25:13 758

原创 JVM对象创建与内存分配机制

HotSpot虚拟机的对象头包括两部分信息,第一部分用于存储对象自身的运行时数据, 如哈 希码(HashCode)、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时 间戳等。: 初始化零值之后,虚拟机要对对象进行必要的设置,例如这个对象是哪个类的实例、如何才能找到类的元数据信息、对象的哈希码、对象的GC分代年龄等信息。通过逃逸分析确定该对象不会被外部访问,并且对象可以被进一步分解时,JVM不会创建该对象,而是将该 对象成员变量分解若干个被这个方法使用的成员变量所代替,这些代替的成员变量在。

2024-03-14 23:02:36 805

原创 Java中实现定时任务的不同方法

ScheduledExecutorService是Java中用于调度任务的接口,它是ExecutorService的子接口,扩展了线程池的功能,允许您在预定的时间执行任务,也可以周期性地重复执行任务。ScheduledExecutorService可以用于在未来的某个时间点执行任务,也可以按固定的时间间隔重复执行任务。schedule(Runnable command, long delay, TimeUnit unit): 以延迟指定的时间后执行任务。

2024-03-11 23:31:15 801 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除