Arthas工具的使用
阿里巴巴开源的java诊断工具
下载插件
上传至linux环境
在linux跑起来的java项目,可以用Arthas进行查看
项目上线前的时候没问题,上线了就出问题 ,用来查看线上代码
jad 项目名 :反编译线上正在运行的代码
用help查看命令
使用ognl命令可以查看线上系统变量的值,甚至可以修改变量的值
GC日志
元空间没设置会经常产生full gc
GC日志分析:GCeasy工具
常量池
Class常量池
字符串常量池
在jdk1.6字符串常量池是在运行时常量池中,是运行时常量池的一小部分。而运行时常量池在永久代中
但是,在1.7之后,随着去永久代,字符串常量池从永久代的运行时常量池中分离出来到堆中
1.8之后,无永久代,运行时常量池在元空间,字符串常量池依然在堆里
操作字符串的方法:
1,通过字面量:String s = “ss”
2,new String s = new String(“ss”); 会产生两个ss,一个在堆中,一个在堆中的字符串常量池中
3,intern方法
第二个错误,是因为程序启动时,会往字符串常量池方java【关键字】,所以不相等