IDEA 操作整理

摘要: ###1 . 自动生成serialVersionUID File → Settings → Editor → Inspections → 搜索 uid ,勾选如图所示第二项 要生成的java类需要实现Serializable接口 光标放到类名上,Alt + Enter键 阅读全文
posted @ 2021-07-13 16:04 朱春旺 阅读(30) 评论(0) 推荐(0) 编辑

Java NIO 总结

摘要: 1. NIO简介 Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。 (通 阅读全文
posted @ 2020-12-22 18:10 朱春旺 阅读(129) 评论(0) 推荐(0) 编辑

Java 性能分析工具-JProfiler

摘要: 安装 直接安装或者在idea插件安装 GC Roots溯源 代码 /** * @describe: GCRootsTest * @author: zhuCw * @date: 2020/11/24 18:30 */ public class GCRootsTest { public static v 阅读全文
posted @ 2020-11-25 19:07 朱春旺 阅读(2385) 评论(1) 推荐(1) 编辑

Java 性能分析工具-MAT

摘要: 简介 MAT 是Memory Analyzer的简称,他是一宽功能强大的Java堆内存分析器。多用于查找内存泄露以及查看内存消耗情况。 基于Eclipse开发,是一款免费的Java性能分析功能 下载安装 https://www.eclipse.org/mat/downloads.php 分析dump 阅读全文
posted @ 2020-11-25 18:42 朱春旺 阅读(2146) 评论(0) 推荐(0) 编辑

java 获取dump文件

摘要: 方式1 命令行使用jmap jps jmap -dump:format=b,live,file=test1.bin 13444 方式2 使用JVisualVM导出 捕获的heap dump文件是一个临时文件,关闭JVisualVM后自动删除,若要保留,需要将其另存为文件。 Monitor->Heap 阅读全文
posted @ 2020-11-25 18:14 朱春旺 阅读(914) 评论(0) 推荐(0) 编辑

GC总结

摘要: 垃圾回收概述 1. 什么是垃圾(Garbage)? 垃圾是指在运行过程中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。 如果不及时对内存中的垃圾进行清理,那么,这些垃圾对象所占用的内存空间会一直保留到应用程序结束,被保留的空间无法被其他对象使用,甚至可能导致内存溢出 2. 早期的垃圾回收 早 阅读全文
posted @ 2020-11-24 10:30 朱春旺 阅读(179) 评论(0) 推荐(0) 编辑

String总结

摘要: 1.String的特性 1.1 不可变性 public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character 阅读全文
posted @ 2020-11-20 17:02 朱春旺 阅读(94) 评论(0) 推荐(0) 编辑

堆-对象的分配与回收过程

摘要: 1. 堆的内存结构 新生区(Young Generation Space) 伊甸园区(Eden) 幸存者0区(Survivor0) 幸存者1区(Survivor1) 老年区(Old/Tenure) 永久代(jdk7以前)/元空间(jdk8以后) 2.堆空间大小 默认情况下 初始内存大小:物理内存/6 阅读全文
posted @ 2020-10-21 15:05 朱春旺 阅读(211) 评论(0) 推荐(0) 编辑

java 生产环境调优排查总结

摘要: 整机:Top top命令后 M(以内存大小排列)P(以cpu大小排列) 1(cpu详细情况)q(退出) 详细解释 load average: 0.00, 0.01, 0.05 1分钟、5分钟、15分钟的负载情况,如果3个值相加除以3乘以100% 高于60%说明系统负载过重 %CPU 进程占用百分比 阅读全文
posted @ 2020-10-14 15:46 朱春旺 阅读(323) 评论(0) 推荐(0) 编辑

记一次因为Gradle与Lombok不兼容导致编译时的内存溢出 Expiring Daemon because JVM heap space is exhausted

摘要: 1.现象 版本 Gradel:6.1.1 / 6.5.1 Lombok:1.8.6 / 1.8.10 截图 解决过程 调大idea的堆内存 不行 × idea安装目录中找到 idea64.exe.vmoptions 将 Xms(初始堆内存)和Xmx(最大堆内存)均调整到2048M 项目跟路径的.Gr 阅读全文
posted @ 2020-08-12 15:34 朱春旺 阅读(7000) 评论(1) 推荐(0) 编辑