- 博客(5)
- 收藏
- 关注
原创 Cookie与Session比较
Cookie与Session比较存取方式比较隐私安全比较有效期比较对服务器的影响比较跨域支持比较浏览器支持比较Cookie和Session都可以进行会话跟踪,但是实现原理却大为不同。大部分场景,二者都能满足需求,但有些时候不能使用Cookie,有些时候不能使用Session。接下来从多个角度比较两者的区别:存取方式比较Cookie只能保存ASCII字符串,如果需要保存Unicode字符或二进制数据,需要进行UTF8、GBK或BASE64编码后再保存。而Session能够存储任何类型的数据,使用较方便。
2021-11-13 11:10:34
947
原创 Java中强引用、软引用、弱引用和虚引用
Java中强引用、软引用、弱引用和虚引用强引用软引用弱引用虚引用强引用强引用是Java中最常见的引用,如Object o = new Object()中,新建的o对象就是一个强引用。如果一个对象被强引用,当JVM内存不足时,GC也绝对不会回收强引用对象。当JVM内存不足时,就可能会导致内存溢出,从而抛出OutOfMemeryError异常。软引用软引用的强度弱于强引用,由SoftReference来表示。当JVM内存不足时,GC会回收那些被软引用的对象,避免内存溢出。在GC释放软引用对象后,如果JV
2021-06-08 08:44:41
128
原创 记一次Java OOM故障排查过程
背景最近,我司测试环境系统出现java.lang.OutOfMemoryError: Java heap space异常,导致服务不能正常使用。为了搞清楚异常发生的根因,我利用闲暇时间进行了一次排查。这篇文章将整个排查过程详细地记录下来,方便以后翻阅。初步分析在JVM中,当系统98%的时间都用于GC且Heap Size不足2%时,将会抛出java.lang.OutOfMemoryError: Java heap space异常(OOM)。所以,当我们看到OOM异常时,可以初步判定,JVM大部分时间都用
2021-03-31 21:16:41
446
1
原创 Java实现记录对象修改前后的变化
记录Java Bean修改明细需求描述今天接到一个需求,修改数据时需要记录修改详情。详情包括,被修改的字段,修改前的值和修改后的值。解决思路分别比较修改前后两个Bean实例的所有成员变量,当值不一致时,记录变量名称,以及修改前后的值。 对于该方案,可以解决特定类型的Bean。 如果有其它类型的Bean也有这种需求,则需要新写一套逻辑,处理相应的需求。上述方案不能复用,如果有多个这样的Bean需要比较,则每个Bean都需要新写一套逻辑。然而,利用泛型和反射技术,则可以达到一次编码,多处复用的效果
2021-03-10 19:49:26
10213
10
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人