• Java中几个关键字的意思


    http://blog.csdn.net/caoi/article/details/640939


    transient

    把一个对象的表示转化为字节流的过程称为串行化serialization,从字节流中把对象重建出来称为反串行化deserialization,transient 为不应被串行化的数据提供了一个语言级的标记数据方法。
    对象的序列化(serialization)非常影响I/O的性能,尽量少用。对不需序列化的类的域使用transient关键字,以减少序列化的数据量。

    volatile
    在Java中设置变量值的操作,除了long和double类型的变量外都是原子操作,也就是说,对于变量值的简单读写操作没有必要进行同步。这在JVM 1.2之前,Java的内存模型实现总是从主存读取变量,是不需要进行特别的注意的。而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的使用变得非常重要。在当前的Java内存模型下,线程可以把变量保存在本地内存(比如机器的寄存器)中,而不是直接在主存中进行读写。这就可能造成一个线程在主存中修改了一个变量的值,而另外一个线程还继续使用它在寄存器中的变量值的拷贝,造成数据的不一致。要解决这个问题,只需要像在本程序中的这样,把该变量声明为volatile(不稳定的)即可,这就指示JVM,这个变量是不稳定的,每次使用它都到主存中进行读取。一般说来,多任务环境下各任务间共享的标志都应该加volatile修饰。
    对象的序列化(serialization)非常影响I/O的性能,尽量少用。对不需序列化的类的域使用transient关键字,以减少序列化的数据量。


    immutable

    不可变对象一旦被创建就它的状态就不能被修改。

    不可变对象的一个经典的例子是String类的实例。






  • 相关阅读:
    第十天python3 函数的销毁
    第九天python3 闭包
    第八天pyhton3 函数的返回值、作用域
    第七天python3 函数、参数及参数解构(二)
    音视频不同步排查方法
    第六天python3 函数、参数及参数解构(一)
    第五天python3 内建函数总结
    第四天python3 python解析式-生成器-迭代器

    [转载]基于Java反序列化
  • 原文地址:https://www.cnblogs.com/bjanzhuo/p/3575918.html
Copyright © 2020-2023  润新知