安康做企业网站的公司,安康网站制作一站式服务,安康企业网站服务,安康网站维护公司
腾讯作为数字人民币运营机构也参与第四届数字中国建设成果展览会,与中国人民银行数字货币研究所、其他运营机构一同展示了数字人民币试点成果。
腾讯相关负责人会上透露,自中国人民银行数字人民币项目启动以来,腾讯深度参与数字人民币相关的设计、研发、运营等工作,为数字人民币项目落地提供了全方位的支持。
我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。
然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要被序列化,打个比方,如果一个用户有一些敏感信息(如密码,银行卡号等),为了安全起见,不希望在网络操作(主要涉及到序列化操作,本地序列化缓存也适用)中被传输,这些信息对应的变量就可以加上transient关键字。换句话说,这个字段的生命周期仅存于调用者的内存中而不会写到磁盘里持久化。
总之,java 的transient关键字为我们提供了便利,你只需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。
实例
import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;
@description @author @date public class TransientTest {
public static void main(String[] args) {
User user = new User(); user.setUsername("Alexia"); user.setPasswd("123456");
System.out.println("read before Serializable: "); System.out.println("username: " + user.getUsername()); System.err.println("password: " + user.getPasswd());
try {
ObjectOutputStream os = new ObjectOutputStream(
new FileOutputStream("C:/user.txt")); os.writeObject(user);
os.flush(); os.close(); } catch (FileNotFoundException e) {
e.printStackTrace(); } catch (IOException e) {
e.printStackTrace(); }
try {
ObjectInputStream is = new ObjectInputStream(new FileInputStream(
"C:/user.txt")); user = (User) is.readObject();
is.close();
System.out.println("\nread after Serializable: "); System.out.println("username: " + user.getUsername()); System.err.println("password: " + user.getPasswd());
} catch (FileNotFoundException e) {
e.printStackTrace(); } catch (IOException e) {
e.printStackTrace(); } catch (ClassNotFoundException e) {
e.printStackTrace(); }
}}
class User implements Serializable {
private static final long serialVersionUID = 8294180014912103005L;
private String username; private transient String passwd;
public String getUsername() {
return username; }
public void setUsername(String username) {
this.username = username; }
public String getPasswd() {
return passwd; }
public void setPasswd(String passwd) {
this.passwd = passwd; }
}
安康做企业网站的公司,安康网站制作一站式服务,安康企业网站服务,安康网站维护公司