「对象池java」对象池和享元模式
本篇文章给大家谈谈对象池java,以及对象池和享元模式对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
Java 中常量池 和 对象池是一回事儿吗?
对象池就是在heap上开辟的内存,用new产生的对象都在这个区域开辟空间存储。
常量池就是String常量定义以后都会放到常量池里面
java对象池里的对象如果长时间不被使用,会被jvm垃圾回收吗?
GC是有条件的,我们的确可以在一定硬件基础上配置这个条件让GC少发生,GC是耗资源性能的,
很多时候我们都是通过减少GC来提高系统的性能。
你说得对,对象池的大小不会造成内存紧张,基本上jvm是不会回收的,但是我们不能保证。
所以不要把这个放到你的业务逻辑里去,就像尽量不要把异常与业务逻辑挂钩。
如果在你的程序里,能找到这样的一条引用方向,那么这个单体类是不会被回收的。
main-实例A-...-实例D-你所说的单体
GC发生时,判断对象是否需要回收不是看是否被调用,而是是否被引用。
比如,main函数所在的类中所引用的成员变量List是不会被回收的。直到程序结束。
如果你的单体类只有一个,相信这个单体类还是一直被引用这比较好。这样就不会被回收了。
-------------------------
java对象是否被垃圾回收不是看时间长短的,
是看是否被使用着,如果没有被使用,又到了垃圾回收的条件时,
就会被回收的。
如果是被使用的,那么不管怎么样都不会被回收的。
如果是静态变量的话,看这个类是否被使用了。
java中九个对象池的对象都存放在方法区吗
不是的,基本类型的包装类是存储在堆内的,其实String类也是一样,值存储在哪里取决于怎么声明String对象,new String()就不在栈内,而是在堆内。
关于对象池java和对象池和享元模式的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
The End
发布于:2022-11-22,除非注明,否则均为
原创文章,转载请注明出处。