
java
java各种问题
某科学的南条
我要偷偷的惊艳,然后打工所有人
展开
-
JavaBean为什么需要序列化?
无论用hibernate或者mybatis结合spring做开发还是其他,系统里持久类往往要实现序列化,implements Serinalizable。为什么呢?为什么要实现序列化原因总结如下:1、Hibernate使用组件最为复合主键时,该组件类必须满足一个条件就是:实现Serinalizable接口。2、Mybatis中配置缓存时,持久层需实现序列化,缓存元素<cache>有个readOnly属性,readOnly属性可以被设置为true或者false。只读缓存将对所有调用者返回同一原创 2020-11-30 14:48:44 · 10438 阅读 · 0 评论 -
Java序列化的几种方式
1、原生序列化方式一、实现Serializable接口(隐式序列化)这是最简单的序列化方式,会自动序列化所有非staic和transient关键字修饰的成员变量。二、实现Externalizable接口(显式序列化)Externalizable接口继承于Serializable,我们在实现该接口时,必须实现writeExternal()和readExternal()方法,而且只能通过手动进行序列化,并且两个方法是自动调用的,因为,这个序列化过程是可控的,可以自己选择哪些部分序列化。三、实现Seri原创 2020-11-30 14:26:00 · 12481 阅读 · 0 评论 -
Java中的关键字transient
一、初识transient关键字这个关键字的作用:将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化。二、深入分析transient关键字1、transient底层实现原理是什么?java的serializationtion提供了一个非常棒的存储对象状态的机制,说白了serialization就是把对象的状态存储到磁盘上去,等需要的时候就可以再把它读出来使用。有些时候像银行卡号这些字段是不希望在网络上传输的,transient的作用时就是把这个字段的生命周期仅原创 2020-11-30 13:17:16 · 10252 阅读 · 0 评论 -
Java的BigDecimal
一、BigDecimal概述Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算精度的数字,我们可以直接使用Float和Double处理,但是Double.valueOf(String) 和Float.valueOf(String)会丢失精度。所以开发中,如果我们需要精确计算的结果,则必须使用BigDecim原创 2020-11-11 16:50:09 · 9213 阅读 · 0 评论