1.gc 是java垃圾回收机制,垃圾回收机制大部分情况会在线程空闲的时候调用。但是在Java堆内存不足的时候也会调用gc回收对象。
2.什么对象会被GC回收
2.1 对象没引用 2.2 作用域发生为 捕获异常 2.3 程序在作用域正常执行完毕 2.4 程序执行SYSTEM.EXIT() 2.5 程序异常终止
3.如何显示调用GC
3.1 使用System.gc()可以不管JVM使用的是哪一种垃圾回收的算法,都可以请求Java的垃圾回收。java -verbosegc classfile
3.2 finalize()方法
4.如何减少GC开销
4.1不使用System.gc方法
4.2减少临时变量的使用,延缓GC触发时间
4.3对象最好不要显示的置为NULL
4.4尽量使用StringBuffer来累加字符串
4.5尽量使用设计模式来处理频繁创建对象的问题,例如单例模式
4.6能用基本类型就不用封装对象。如能用 int 就不用interger
4.7尽量少使用静态变量。
网友评论