摘要: 现象 读取不到证书文件 证书文件变大 解决方案 读取不到证书文件 由于是springboot项目,部署时打包成jar启动,无法获取到有效的证书文件地址。解决方案:首次访问时从jar中提取证书文件到当前目录中,代码如下: /** * 获取jar包中证书文件地址 * * @param fileName 阅读全文
posted @ 2021-03-17 18:30 肆玖爺 阅读(1116) 评论(0) 推荐(0)
摘要: JVM调优 GC调优是最后要做的工作,GC调优的目的可以总结为下面两点: 减少对象晋升到老年代的数量 减少FullGC的执行时间 通过监控排查问题及验证优化结果,可以分为: 命令监控:jps、jinfo、jstack、jmap、jstat、jhat 图形化监控:JConsole和VisualVM 阿 阅读全文
posted @ 2021-03-17 17:37 肆玖爺 阅读(1519) 评论(1) 推荐(0)
摘要: finalize /** *此代码演示了两点: *1.对象可以在被GC时自我拯救。 *2.这种自救的机会只有一次,因为一个对象的finalize()方法最多只会被系统自动调用一次 */ public class FinalizeEscapeGC { public static FinalizeEsc 阅读全文
posted @ 2021-03-17 15:43 肆玖爺 阅读(413) 评论(0) 推荐(0)
摘要: 对象创建 类加载过后可以直接确定一个对象的大小 对象栈上分配是通过逃逸分析判定、标量替换实现的,即把不存在逃逸的对象拆散,将成员变量恢复到基本类型,直接在栈上创建若干个成员变量 选择哪种分配方式由Java堆是否规整决定,而Java堆是否规整又由所采用的垃圾收集器是否带有压缩整理 功能决定。因此,在使 阅读全文
posted @ 2021-03-17 15:40 肆玖爺 阅读(177) 评论(0) 推荐(0)
摘要: 运行时数据区域 JDK8 之前的内存布局 JDK8 之后的 JVM 内存布局 JDK8 之前,Hotspot 中方法区的实现是永久代(Perm),JDK8 开始使用元空间(Metaspace),以前永久代中字符串常量、类静态变量移至堆内存,其他内容移至元空间,元空间直接在本地内存分配。 内存溢出 参 阅读全文
posted @ 2021-03-17 15:37 肆玖爺 阅读(398) 评论(0) 推荐(0)