深入理解jvm学习笔记1
1:使用%java_home/bin/jvisualvm.exe来监控虚拟机的运行。
可在工具--插件中对插件进行安装。
2:生成、浏览对转储快照
有摘要信息(系统信息,线程堆栈信息),类,实例等信息。
其中:系统信息System.getProperties()
catalina.base=E:\eclipse\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
catalina.home=E:\apatche-tomcat-7.0.61
file.encoding=UTF-8
file.separator=\
java.home=C:\Program Files\Java\jre7
java.io.tmpdir=C:\Users\WANGYU~1\AppData\Local\Temp\
line.separator=\r\n
sun.jnu.encoding=GBK
3:JVM 看不到某些异常的stacktrace问题
JAVA_OPTS ,顾名思义,是用来设置JVM相关运行参数的变量。
-XX:-OmitStackTraceInFastThrow (+OmitStackTraceInFastThrow )
-server -XX:+OmitStackTraceInFastThrow TestCompile
4:catalina.base catalina.home的区别
这两个属性仅在你需要安装多个Tomcat实例而不想安装多个软件备份的时候使用,这样能节省磁盘空间。
catalina.home(安装目录):指向公用信息的位置,就是bin和lib的父目录。
catalina.base(工作目录):指向每个Tomcat目录私有信息的位置,就是conf、logs、temp、webapps和work的父目录。
sun.jnu.encoding file.encoding的区别
创建文件时:优先选择
ZipFile zf = new ZipFile(zipFilePath+path+".zip",System.getProperty("sun.jnu.encoding"));
【也可以在明确格式的情况下,获取创建文件之前:System.setProperty("sun.jnu.encoding","utf-8")】
通过问题解决得出结论:sun.jnu.encoding 影响文件名的创建,而 file.encoding 则影响到文件内容。
所以说,在我们使用 Java 处理中文文件的时候,如果发现文件的中文内容没有乱码,而文件的中文名发生乱码,我们就应当多考虑一下 sun.jnu.encoding 和 file.encoding 的区别了。