Java内存管理

1.Java内存管理机制包括:内存分配和内存回收,这些工作都是有JVM完成的;
2.当一个对象失去引用时JVM就会自动将其回收;
3.JVM采用有向图的方式来管理内存中的对象;
4.强引用,程序创建一个对象,并把这个对象赋给一个引用变量,这个引用变量就是强引用;被强引用所引用的Java对象绝对不会被JVM回收;所以,强引用是造成Java内存泄漏的主要原因之一。
5.软引用,需要通过SoftReference类来实现,当一个对象之具有软引用时就可能会被JVM回收(内存不足时);
6.弱引用,类似于软引用,弱引用引用对象的生存期更短。弱引用有类WeakReference类实现;
7虚引用,软引用和弱引用都可单独使用,但虚引用不能单独使用;它主要用来跟踪对象被垃圾回收的状态;
8.Java的内存泄漏,(无用的内存没有回收回来)。
9.内存管理小技巧,尽量使用直接量;使用StringBuffer和StringBuilder链接字符串;尽早释放无用对象的引用;避免在循环中创建对象;缓存经常使用的对象;考虑使用SoftReference;

你可能感兴趣的:(java,jvm,工作)