Java的一些小技巧
- 2020-01-12
- ArchGeass
Java启动参数
在java文件的启动项增加以下参数,可以生成dump文件
- -XX:+HeapDumpOnOutOfMemoryError
生成堆文件
在项目的根目录下,会生成名为java_pid6116.hprof一类的文件,文件大小等同于当前计算机堆的大小;
文件记录了当前堆中保存的程序运行快照。
分析堆文件
Java远程调试
在启动时增加以下启动命令即可(JAVA 5.0及之后版本)
- java agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
exp: - java agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar SpringBootApplication.jar
参数详解:
- -Xdebug:JVM在DEBUG模式下工作
- -Xrunjdwp:JVM使用(java debug wire protocol)来运行调试环境
- transport:监听Socket端口连接方式,常用的dt_socket表示使用socket连接
- server:=y表示当前是调试服务端,=n表示当前是调试客户端
- suspend:=n表示启动时不中断
- address:=8000表示本地监听5555端口
然后在IDEA里新建remote,添加同样的参数,进入源代码后即可进行调试
jdk1.7
try-with-resources
try-with-resources语句是一个try语句,用于声明一个或多个资源。 资源是程序完成后必须关闭的对象。 try-with-resources语句可确保在语句末尾关闭每个资源。 任何实现java.lang.AutoCloseable的对象(包括所有实现java.io.Closeable的对象)都可以用作资源。
简单来讲就是之前用finally关闭的资源,现在可以用try-with-resources
的方式让程序自动执行关闭操作