![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
文章平均质量分 54
tianyuxu
这个作者很懒,什么都没留下…
展开
-
Java中强引用、软引用、弱引用和虚引用
Java中强引用、软引用、弱引用和虚引用强引用软引用弱引用虚引用强引用强引用是Java中最常见的引用,如Object o = new Object()中,新建的o对象就是一个强引用。如果一个对象被强引用,当JVM内存不足时,GC也绝对不会回收强引用对象。当JVM内存不足时,就可能会导致内存溢出,从而抛出OutOfMemeryError异常。软引用软引用的强度弱于强引用,由SoftReference来表示。当JVM内存不足时,GC会回收那些被软引用的对象,避免内存溢出。在GC释放软引用对象后,如果JV原创 2021-06-08 08:44:41 · 93 阅读 · 0 评论 -
Java实现记录对象修改前后的变化
记录Java Bean修改明细需求描述今天接到一个需求,修改数据时需要记录修改详情。详情包括,被修改的字段,修改前的值和修改后的值。解决思路分别比较修改前后两个Bean实例的所有成员变量,当值不一致时,记录变量名称,以及修改前后的值。 对于该方案,可以解决特定类型的Bean。 如果有其它类型的Bean也有这种需求,则需要新写一套逻辑,处理相应的需求。上述方案不能复用,如果有多个这样的Bean需要比较,则每个Bean都需要新写一套逻辑。然而,利用泛型和反射技术,则可以达到一次编码,多处复用的效果原创 2021-03-10 19:49:26 · 9722 阅读 · 8 评论