谈谈java虚拟机中的参数。
2015-10-17 10:46
405 查看
1.最简单的一个GC参数是:-XX:+PrintGC(使用这个参数启动虚拟机后,只要遇到这个GC,就会打印日志)
2.-XX:+PrintReferenceGC(用来跟踪系统内的(softReference)软引用,(weadReference)弱引用,(phantomReference)虚引用,显示引用过程)
3.使用参数-XX:+TraceClassUnloading和参数-XX;+TraceClassLoading执行代码,跟踪类的加载和卸载过程。
4.使用参数-XX:+PrintVMOptions可以在程序运行时,打印虚拟机接收到的命令行显式参数。
5.参数-XX:+PrintCommandLineFlags可以打印传递给虚拟机的显示和隐式参数,隐式参数未必是通过命令行直接给出的,它可能是由虚拟机启动时自行设置的。
6.使用-XX:+PrintFlagsFinal打印所有的系统参数的值。
7.-Xmx32m(系统最大可用堆空间为32m)
8.参数-Xmn可以用于设置新生代的大小,设置一个较大的新生代会减小老年代的大小,这个参数对系统性能以及GC行为有很大的影响。新生代的大小一般设置为整个堆空间的1/3到1/4左右。
9.参数-XX:SurvivorRatio用来设置新生代中eden空间和from/to空间的比例关系如:-XX:SurvivorRatio=eden/from=eden/to
10.-XX:NewRatio=老年代/新生代
11.直接内存配置时,最大可用直接内存可以使用参数-XX:MaxDirectMemorySize设置,如不设置,默认值为最大堆空间,即-Xmx。当直接内存使用量打到-XX:MaxDirectMexmorySize时就会触发垃圾回收,如果垃圾回收不能有效释放足够空间,直接内存溢出依然会引起系统的OOM。
12.-client,-server
这两个参数用于设置虚拟机使用何种运行模式,client 模式启动比较快,但运行时性能和
内存管理效率不如 server 模式,通常用于客户端应用程序。相反,server 模式启动比 client
慢,但可获得更高的运行性能。
13.直接内存读写速度快但是在内存申请方面没有优势,堆内存读写速度慢与直接内存但是在内存申请方面强。
相关文章推荐
- 安卓Eclipse如何快速修改工程名及包名
- 谈谈Java技术优化的相关信息
- Java中的Unix时间转换
- 韩顺平.循序渐进学.java.从入门到精通(二)
- 浅谈在JAVA中使用接口引用实现类
- eclipse mat插件本地安装
- java作业3
- java.sql.SQLException: ORA-00911: 无效字符 解决方案
- 浅谈Java虚拟机的工作模式Client和Server。
- java——static
- 分享java类的扫描代码
- java中两个double类型数据的大小
- spring 配置文件
- java.sql.SQLException: Parameter number X is not an OUT parameter
- 浅析Date与Java 时间戳相互转换
- spring三种数据源方式
- 用Eclipse的snippets功能实现代码重用
- SpringMVC 配置过程及详解
- javaWeb中图片验证码的生成
- javaWeb中图片验证码的生成