C语言申请内存: malloc free
C++ :new delete
Java : new?
自动内存回收,编程上简单,系统不容易出错;手动释放内存,容易出两种类型的问题:
- 忘记回收
- 多次回收
引用计数(不能解决循环引用的问题)
root searching
线程池变量,静态变量,常量池,JNI指针
which instances are roots :JVM stack,native method stack , run-time constant pool, static references in method area ,clazz
调优调1 2 4 5 ,因为1.8默认的垃圾回收是PS+ParallelOld
JVM的命令行参数参考:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html
JVM参数分类
标准: -开头,所有的HotSpot都支持
非标准:-X开头,特定版本的HotSpot支持特定命令
不稳定:-XX开头,下个版本可能取消
-XX:+PrintCommandLineFlags 查看程序使用的默认JVM参数
-XX:+PrintFlagFinal 最终参数值
-XX:+PrintFlagInitial 默认参数值
原文:https://www.cnblogs.com/y6ming/p/14382365.html