-
Java jstat 查看类加载、卸载情况
命令 jstat -class 1 输出 bash-4.4# jstat -class 1 Loaded Bytes Unloaded Bytes
-
Java VisualVM 排查内存泄漏
深堆大小 右下角Dominators by Retained Size中,点击Compute Retained Sizes计算深堆大小,才能查看到具体引用的类和
-
Java jcmd 报 AttachNotSupportedException: Unable to open socket file
错误信息 com.sun.tools.attach.AttachNotSupportedException: Unable to open socket fil
-
Java 无法 debug Finalizer 类
需求 看一下Finalizer如何被初始化,以及完整调用链路。 无法 debug 原因 Finalizer在JVM启动时就已经加载,即:还没加载到我们自己写的m
2023-06-28, Views: 555 , Topics: Java
-
Java jps 无法显示进程 id
现象 Linux上使用jps查看进程id,无法显示运行的Java进程。 命令原理 jps、jstack、jcmd等命令默认查看的是/tmp/hsperfdata
-
Java jmap 强制 attach 到 JVM 报错
现象 使用jmap -F导出堆栈信息,抛出以下错误: Error: -F option used Cannot connect to core dump or
-
Java 查看 jar 包内容
需求 查看jar包中应用的具体依赖的版本。 jar 命令 不解压直接查看 -t、--list:查看压缩文件目录。 -f:指定查看的压缩文件。 jar -tf t
-
Java 17 中使用 ScriptEngine 解析 JavaScript 脚本
ScriptEngine ScriptEngine位于javax.script包下,Java 17中依然可用(移除的是Nashorn模块)。 ScriptEng
2023-06-22, Views: 4404 , Topics: Java JavaScript
-
Java String format 字符串左对齐与右对齐
左对齐 %-15s: 左对齐15个字符,长度不满15,用空格补全。长度超出15,将从字符串尾部截断。 String.format("%-15s", System
2023-06-21, Views: 1781 , Topics: Java
-
Java 获取垃圾回收队列长度
反射获取 Java 8及之前可以使用反射,获取Finalizer中的queue字段,然后获取长度。 但Java 9模块化之后不可用。 try { Cla
2023-06-20, Views: 672 , Topics: Java
-
Java 线程池中非核心线程开启的时机
执行三步曲 第一步 核心线程数未满时,开启新的核心线程。 第二步 核心线程数已满,加入等待队列。 第三步 等待队列已满,开启非核心线程。超过非核心线程上限,执行
2023-06-19, Views: 1006 , Topics: Java
-
Java 微基准测试 JMH
添加依赖 <dependency> <groupId>org.openjdk.jmh</groupId> &
-
Java 命令行参数浏览器
作用 查看Java不同版本的JVM参数,查看参数是否过期、删除。 不同JVM发布商之前的区别。 VM Options Explorer 链接 https://c
-
Java 命令行参数参考手册
Java 17 https://docs.oracle.com/en/java/javase/17/docs/specs/man/java.html Java
-
Java 查看诊断 JVM 的命令行参数
命令 使用-XX:+UnlockDiagnosticVMOptions解锁诊断JVM的命令行参数,通过-XX:+PrintFlagsFinal参数查看参数。 j
-
Java 查看实验性质的 JVM 命令行参数
命令 使用-XX:+UnlockExperimentalVMOptions解锁实验性质的命令行参数,通过-XX:+PrintFlagsFinal参数查看参数。
-
Java 13 JVM 参数 FlightRecorder 被标记为过时
警告信息 OpenJDK 64-Bit Server VM warning: Option FlightRecorder was deprecated in
-
Java 8 Stream 中的 group by 分组
需求 使用Collectors的groupingBy完成各种分组操作。 Bean 类 @Data class Student { private Str
2023-06-09, Views: 1299 , Topics: Java
-
Java 11 默认垃圾回收器竟然不是 G1
疑惑 Java 9之后JVM的默认垃圾回收器就是G1了,但今天在Kubernetes容器Pod中查看时发现用的竟然是SerialGC。 查看命令行参数 可以看到
-
Java 环境变量 JDK_JAVA_OPTIONS 与 JAVA_TOOL_OPTIONS 差别
JDK_JAVA_OPTIONS JDK_JAVA_OPTIONS环境变量仅作用于java命令启用的程序(java -jar example.jar)。 JAVA_TOOL_OPTIONS JAVA