-
Java 日志中异常信息缺少堆栈信息
现象 生产环境下日志输出的异常只有一行异常名称,没有具体的堆栈信息。 示例 public class OmitStackTraceInFastThrowDemo
-
Java 查看虚拟机日志
默认日志 不配置启动参数,默认是warning级别,输出uptime、level、tags三个标识符。 -Xlog:all=warning:stdout:upt
-
Java CDS 类数据共享 Class Data Sharing
作用 类数据共享。 减少启动时间,降低内存占用。 注意:必须由多个JVM。 文件位置 Linux/macOS: $JAVA_HOME/lib/server/c
2023-12-11, Views: 209 , Topics: Java
-
Java LockSupport 几种唤醒机制
暂停线程 LockSupport使用park系列方法底层调用C++代码来暂停线程。 唤醒线程 LockSupport的park方法上有一段注释: Some o
-
状态值 0 到 1 和 1 到 0 切换
需求 修改状态位,由0变为1,由1变为0。 方法一 使用1-var实现。 // 0 -> 1 int status = 0; status = 1 -
2023-12-07, Views: 192 , Topics: Java
-
Java 计算分页参数 page 和 size 三种方法
方法一(推荐) //总记录数 int rows=21; //每页显示的记录数 int pageSize=5; //页数 int pageSum=(row
2023-12-06, Views: 323 , Topics: Java
-
PostgreSQL timestamp 与 timestamptz 区别
相同点 都占用8字节。 存储时没有本质区别,都不携带时区信息。 不同点 insert returning和select时返回给客户端数据时不同。 inse
2023-11-11, Views: 411 , Topics: PostgreSQL Java
-
使用 SDKMAN! 管理 JDK
安装 curl -s "https://get.sdkman.io" | bash 查看 JDK 信息 Status这列标识是否安装,是否是本地下载的。 Ide
-
Linux smaps_rollup 及 status 查看 Java 进程内存占用
需求 排查Java进程频繁被Kubernetes的OOMKiller,需查看Java进程占用的总内存。 Java除了堆内存外,还有非堆内存和堆外内存。 排查工具
-
SonarQube Java 单元测试覆盖率为零解决方法
现象 在IDEA中使用Run with Coverage能显示覆盖率。 但SonarQube中一直显示覆盖率为0。 解决方法 对于Maven构建的项目,添加ja
-
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: 296 , 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: 2161 , Topics: Java JavaScript
-
Java String format 字符串左对齐与右对齐
左对齐 %-15s: 左对齐15个字符,长度不满15,用空格补全。长度超出15,将从字符串尾部截断。 String.format("%-15s", System
2023-06-21, Views: 924 , Topics: Java
-
Java 获取垃圾回收队列长度
反射获取 Java 8及之前可以使用反射,获取Finalizer中的queue字段,然后获取长度。 但Java 9模块化之后不可用。 try { Cla
2023-06-20, Views: 366 , Topics: Java