![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 76
小布2025
热爱未知,比如清晨和你
展开
-
JVM--GC相关记录
GC原创 2022-12-20 10:43:01 · 382 阅读 · 0 评论 -
JVM参数
JVM参数 -XX:MetaspaceSize=128m (元空间默认大小) -XX:MaxMetaspaceSize=128m (元空间最大大小) -Xms1024m (堆默认大小) -Xmx1024m (堆最大大小) -Xmn256m (新生代大小) -Xss256k (棧最大深度大小) -XX:SurvivorRatio=8 (新生代分区比例 8:2) -XX:+UseConcMarkSweepGC (指定使用的垃圾收集器,这里使用CMS收集器) -XX:+PrintGCDetails (打印详细的G原创 2021-08-22 20:49:58 · 359 阅读 · 0 评论 -
JAVA并发| 记录一次死锁
JAVA程序检测死锁 测试代码 package com.xiaobu.learn.deadlock; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadFactory; import java.util.concurrent.ThreadPoolExecutor; impor...原创 2019-06-27 10:27:20 · 221 阅读 · 0 评论 -
记一下对String#intern的理解
String类型的常量池有两种方式: 直接使用双引号声明出来的String对象会直接存储在常量池中。 如果不是用双引号声明的String对象,可以使用String提供的intern方法。intern 方法会从字符串常量池中查询当前字符串是否存在,若不存在就会将当前字符串放入常量池中 package com.xiaobu.test.StringDemo; /** * @author xiao...原创 2019-10-22 17:06:01 · 159 阅读 · 0 评论 -
轻松读懂字节码文件
invokeinterface: 调用接口方法 invokespecial: 调用初始化方法、私有方法、或父类中定义的方法 invokestatic: 调用静态方法 invokevirtual: 调用实例方法 package com.xiaobu.test.StringDemo; /** * @author xiaobu * @version JDK1.8.0_171 ...原创 2019-10-22 15:12:23 · 527 阅读 · 0 评论 -
记录一次GC:overhead limit exceeded
堆内存参数 1、-Xms :表示java虚拟机堆区内存初始内存分配的大小,通常为操作系统可用内存的1/64大小即可,但仍需按照实际情况进行分配。有可能真的按照这样的一个规则分配时,设计出的软件还没有能够运行得起来就挂了。 2、-Xmx: 表示java虚拟机堆区内存可被分配的最大上限,通常为操作系统可用内存的1/4大小。但是开发过程中,通常会将 -Xms 与 -Xmx两个参数的配置相同的值,其目的是...原创 2019-05-22 17:36:37 · 2577 阅读 · 0 评论 -
类的加载过程
类加载过程 加载 验证 准备 准备阶段是正式为类变量分配内存并设置类变量初始值的阶段,这些内存都将在方法区中分配。 解析 解析阶段是虚拟机将常量池内的符号引用替换为直接引用的过程,也就是得到类或者字段、方法在内存中的指针或者偏移量。 初始化 真正执行类中定义的 Java 程序代码(字节码),初始化阶段是执行类构造器 ()方法的过程。 示例: package com.xia...原创 2019-07-11 16:17:28 · 158 阅读 · 0 评论