1 import java.io.FileInputStream;
2 import java.io.FileNotFoundException;
3 import java.io.FileOutputStream;
4 import java.io.IOException;
5 import java.io.ObjectInputStream;
6 import java.io.ObjectOutputStream;
7 import java.io.Serializable;
8 import java.util.Date;
9
10 public class Main {
11 public static void main(String[] args) {
12 LoggingInfo logInfo = new LoggingInfo("MIKE", "MECHANICS");
13 System.out.println(logInfo.toString());
14 /*
15 * logon info:
16 * user: MIKE
17 * logging date : Mon Sep 29 09:40:29 CST 2014
18 * password: MECHANICS
19 */
20 ObjectOutputStream o;
21 try {
22 o = new ObjectOutputStream(
23 new FileOutputStream("logInfo.out"));
24 /* 将对象序列化保存到磁盘中 */
25 o.writeObject(logInfo);
26 o.close();
27 } catch (FileNotFoundException e) {
28 e.printStackTrace();
29 } catch (IOException e) {
30 e.printStackTrace();
31 }
32
33
34 ObjectInputStream in;
35 try {
36 in = new ObjectInputStream(
37 new FileInputStream("logInfo.out"));
38 LoggingInfo logInfo1;
39 try {
40 /* 从磁盘中读回对象 */
41 logInfo1 = (LoggingInfo)in.readObject();
42
43 /*
44 * 由于pwd变量没有被序列化,所以读出对象中pwd为null
45 */
46 System.out.println(logInfo1.toString());
47 } catch (ClassNotFoundException e) {
48 e.printStackTrace();
49 }
50
51 } catch (FileNotFoundException e) {
52 e.printStackTrace();
53 } catch (IOException e) {
54 e.printStackTrace();
55 }
56 /*
57 * logon info:
58 * user: MIKE
59 * logging date : Mon Sep 29 09:40:29 CST 2014
60 * password: NOT SET
61 *
62 */
63 }
64 }
65 class LoggingInfo implements Serializable{
66
67 private Date loggingDate = new Date();
68 private String uid;
69 /* 用tranisent 修饰一个变量,当类的对象被序列化时,此变量的值将不被序列化 */
70 private transient String pwd;
71
72 LoggingInfo(String uid, String pwd){
73 this.uid = uid;
74 this.pwd = pwd;
75 }
76
77 public String toString(){
78 String password=null;
79 if(pwd == null){
80 password = "NOT SET";
81 }
82 else {
83 password = pwd;
84 }
85 return "logon info: \n " + "user: " + uid +
86 "\n logging date : " + loggingDate.toString() +
87 "\n password: " + password;
88 }
89 }

transient用法的更多相关文章

  1. @Transient的用法和格式化页面展示的数据格式

    一.Hibernate中:@Transient用法 用法1:使用@Transient这个注解添加表中不存在字段.将这个注解添加到自定义字段的get方法上 用法2:将该注解添加到定义该字段的头部即可,例 ...

  2. Java基础之instanceof和transient关键字用法

    instanceof 用于检测指定对象是否是某个类(本类.父类.子类.接口)的实例.Java中的instanceof也称为类型比较运算符,因为它将类型与实例进行比较. 返回true或false. 如果 ...

  3. transient关键字的用法

    本篇博客转自 一直在路上 Java transient关键字使用小记 1. transient的作用及使用方法 我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,Java ...

  4. serialVersionUID, ObjectInputStream与ObjectOutputStream类,Serializable接口,serialVersionUID的作用和用法

    ObjectInputStream与ObjectOutputStream类所读写的对象必须实现Serializable接口,对象中的transient和static类型成员变量不会被读取和写入 Ser ...

  5. 深入分析@Transactional的用法

    关键词:事务, 编程式事务,声明式事务.spring 事务管理.AOP事务增强.@Transactional 在分析深入分析@Transactional的使用之前,我们先回顾一下事务的一些基本内容. ...

  6. Hibernate 注解的用法以及说明(二)

    注解映射必须满足两大条件:Hibernate3.2以上版本和JSEE 5. @Entity 类注释,所有要持久化的类都要有@Entity   public class Org  implements ...

  7. Java对象表示方式1:序列化、反序列化和transient关键字的作用

    平时我们在Java内存中的对象,是无法进行IO操作或者网络通信的,因为在进行IO操作或者网络通信的时候,人家根本不知道内存中的对象是个什么东西,因此必须将对象以某种方式表示出来,即存储对象中的状态.一 ...

  8. Elasticsearch——Rest API中的常用用法

    本篇翻译的是Elasticsearch官方文档中的一些技巧,是使用Elasticsearch必不可少的必备知识,并且适用于所有的Rest Api. 返回数据格式化 当在Rest请求后面添加?prett ...

  9. transient的理解

    用法解释 1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问. 2)transient关键字只能修饰变量,而不能修饰方法和类.注意,本地变量是不能被 ...

随机推荐

  1. 【LeetCode】344. 反转字符串

    344. 反转字符串 知识点:字符串; 双指针 题目描述 编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改 ...

  2. vue3源码难学,先从petite-vue开始吧

    如今这个世道,作为一个有几年工作经验的前端,不学点框架源码都感觉要被抛弃了,react或vue要能吹吹牛吧,最好能造个轮子,听说vue3源码好学点,那么学学vue3,但是学起来还是那么费劲,感觉快放弃 ...

  3. 【Web动画】科技感十足的暗黑字符雨动画

    本文将使用纯 CSS,带大家一步一步实现一个这样的科幻字符跳动背景动画.类似于这样的字符雨动画: 或者是类似于这样的: 运用在一些类似科技主题的背景之上,非常的添彩. 文字的竖排 首先第一步,就是需要 ...

  4. 自学linux——10.Linux的网络知识

    linux的网络知识 一.网络相关概述 1.网络的分类 局域网(LAN):在几百米到十几公里内办公楼群或校园内的计算机相互连接所构成的计算机网络 城域网(MAN):覆盖相距不远的几栋办公楼,也可以覆盖 ...

  5. javascript 特殊字符 注意转义

  6. Java知识复习回顾

    1.MVC 三层架构: M:Model 数据模型层 V:View 视图层 C:Controller控制器层 目的:解耦 2.Spring Spring:轻量级的Java开源框架,容器,目的是解决企业级 ...

  7. 跟我一起写 Makefile(五)

    六.多目标 Makefile的规则中的目标可以不止一个,其支持多目标,有可能我们的多个目标同时依赖于一个文件,并且其生成的命令大体类似.于是我们就能把其合并起来.当然,多个目标的生成规则的执行命令是同 ...

  8. iNeuOS工业互网平台,在纸业领域的成功应用案例

    目       录 1.      项目背景... 2 2.      项目基本情况... 3 3.      概念解释... 5 1.   项目背景 最终用户是全国第5大纸业集团之一,年浆纸产能40 ...

  9. 内网隧道与SOCKS代理思路总结

    早就想总结一下这部分内容了,总是有其他事情卡住,一直拖到现在 内网中有很多边界设备,比如防火墙.这种边界设备会控制内部主机的对外连接,一般会仅允许某些种类的端口开放或某种数据流量出入 这就意味着我们只 ...

  10. Pikachu-Unsafe Fileupload模块

    一.概述 文件上传功能在web应用系统很常见,比如很多网站注册的时候需要上传头像.上传附件等等.当用户点击上传按钮后,后台会对上传的文件进行判断 比如是否是指定的类型.后缀名.大小等等,然后将其按照设 ...