当前位置:网站首页>如果有些字段不想进行序列化怎么办?
如果有些字段不想进行序列化怎么办?
2022-08-02 04:10:00 【洒家肉山大魔王】
首先,我们线连接一下什么是序列化?什么是反序列化?
如果我们需要持久化Java对象,比如将Java对象保存在文件中,或者网络传输Java对象时,这些场景都需要用到序列化。
- 序列化
将数据结构或对象转换为二进制字节流的过程。
- 反序列化
将在序列化过程中所生成的二进制字节流转换成数据结果或者对象的过程。
对于Java语言中,我们序列化的都是对象(Object),也就是实例化后的类(class),但是在c++这种半面相对象语言中,struct(结构体)定义的是数据结构类型,而class对应的是对象类型。
所以,序列化的主要目的是通过网络传输对象或者是将对象存储到文件系统、数据库、内存中。

如果有些字段不想进行序列化怎么办?
对于不想进行序列化的变量,使用transient关键字修饰。
transient关键字的作用是
阻止实例中那些用此关键字修饰的的变量序列化;当对象被反序列化时,被transient修饰的变量值不会被持久化和恢复。
- 关于transient还有几点注意:
- transient只能修饰变量,不能修饰类和方法。
- transient修饰的变量,在反序列化后变量值将会被置成类型的默认值。例如,如果是修饰int类型,那么反序列后结果就是0。
- static变量因为不属于任何对象(Object),所以无论有没有transient关键字修饰,均不会被序列化。
边栏推荐
- CaDDN code debugging
- 面试官:大量请求 Redis 不存在的数据,从而打倒数据库,有什么方案?
- Batch normalization (BN) based on deep learning
- micro-ros arduino esp32 ros2 笔记
- 吴恩达机器学习系列课程笔记——第十五章:异常检测(Anomaly Detection)
- Deep Blue Academy - Visual SLAM Lecture Fourteen - Chapter 5 Homework
- WordPress是什么?我也想用 WordPress~
- Qt编写物联网管理平台49-设备模拟工具
- W25Q16 存储器(Flash)
- CaDDN代码调试
猜你喜欢

洛谷P2437蜜蜂路线

7亿听众背后的在线音频掘金故事

多主复制的适用场景(1)-多IDC

力扣 215. 数组中的第K个最大元素

复制延迟案例(4)-一致前缀读

2022-08-01:以下go语言代码输出什么?A:panic;B:5;C:6;D:编译错误。 package main import ( “fmt“ ) func main() {
![[Win11] PowerShell无法激活Conda虚拟环境](/img/53/464ffb5ef80ce8f6ee19e9ea96c159.png)
[Win11] PowerShell无法激活Conda虚拟环境

单目3D目标检测之入门

Your device is corrupt. It cant‘t be trusted and may not work propely.

6个月测试经验,面试跳槽狮子大开口要18K,只会点点点,给我整无语了。。
随机推荐
我们擅长的地方很多
多主复制的适用场景(2)-需离线操作的客户端和协作编辑
深蓝学院-视觉SLAM十四讲-第四章作业
Visual SLAM Lecture Fourteen - Lecture 13 Practice: Designing a SLAM system (the most detailed code debugging and running steps)
Excel操作技巧大全
CODESYS指针型变量编程应用(配方)
Pycharm platform import scikit-learn
ClickHouse的客户端命令行参数
斐波那契数列
普氏分析法-MATLAB工具箱函数
ADSP21489工程中LDF文件配置详解
MapFi paper structure organization
(一)代码输出题 —— reverse
Your device is corrupt. It cant‘t be trusted and may not work propely.
UI自动化测试框架搭建——标记性能较差用例
Excel skills daquan
日本痴汉打赏女主播1.5亿,结果。。。
MapFi论文架构整理
自定义一个下划线分词器
Platts Analysis-MATLAB Toolbox Function