transient和volatile transient是在系列化的时候不需要持久化的对象修饰关键字。volatile不知道。JAVA中好象没有吧。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 transient是不能被串行化volatile不知道 transient??上面的几位大哥,能不能说清楚点,怎么跟书说的一样,简单啊小弟领悟有限啊volatile??书上说是可以被程序其它部分改变(如多线程)它跟C++里面的volatile有什么区别啊, 一般情况下,序列化时会把所有field全部写到流(你可以当作文件来考虑)里,有时并不是所有field都是那么有用。打个比方吧!你的类中有一个method计算非常耗时,而每次计算的结果都是一样的,这时你可能会考虑以lazy的方式来计算,就是第一次用的时候才开始具体计算,然后,在类里用一个field把这个结果保存起来,这样程序的效率就会得到提高。OK,现在你要对这个类做序列化了,这个field是类的一部分,但保存它并没有什么太大的意义,即便反序列化之后再用到,无非就是再算一次就可以了。你决定不对这个field进行序列化,这时就是transient起作用的时候了,有了它,序列化时就不会把它夜写到流里。当然,反序列化时,也没有它什么事!volatile,查了一下《Effective Java》,这个关键字可以保证任何一个线程再读取一个域的时候都将会看到最近刚刚被写入的值。而《C++程序设计语言》中写道,它是给编译程序的一个提示,说明这个变量的值可能以语言未描述的方式改变,因此必须避免去做过于激进的优化。从二者的描述看来,双方相差无几,以volatile描述的变量实际上都会在线程运作之外发生改变。实际编写程序时几乎没有用过,只好就事论事的理解一番了。 求java 用exchange 发送邮件 java与c# 关于选专业,请各位指点下。谢谢了 让机器定时执行一个程序,用JAVA如何实现? 很棘手!关于基于java的ipworks注册的问题。谢谢赐教! 菜鸟请教关于调度运行的问题!急!!!!!!!!! 编译好的servlet怎么运行啊?高手指点。 关于数据库连接的问题,请赐教! 将class转换为byte[]的问题 怎么才能让我的Applet窗体上的可视控件长得跟Windows的风格一样??? 如何做象editplus的这个功能 高手请进! 和Java3d有关,求教!!!!!!!!!!
volatile不知道
volatile??书上说是可以被程序其它部分改变(如多线程)它跟C++里面的volatile有什么区别啊,
打个比方吧!你的类中有一个method计算非常耗时,而每次计算的结果都是一样的,这时你可能会考虑以lazy的方式来计算,就是第一次用的时候才开始具体计算,然后,在类里用一个field把这个结果保存起来,这样程序的效率就会得到提高。OK,现在你要对这个类做序列化了,这个field是类的一部分,但保存它并没有什么太大的意义,即便反序列化之后再用到,无非就是再算一次就可以了。你决定不对这个field进行序列化,这时就是transient起作用的时候了,有了它,序列化时就不会把它夜写到流里。当然,反序列化时,也没有它什么事!volatile,查了一下《Effective Java》,这个关键字可以保证任何一个线程再读取一个域的时候都将会看到最近刚刚被写入的值。而《C++程序设计语言》中写道,它是给编译程序的一个提示,说明这个变量的值可能以语言未描述的方式改变,因此必须避免去做过于激进的优化。从二者的描述看来,双方相差无几,以volatile描述的变量实际上都会在线程运作之外发生改变。实际编写程序时几乎没有用过,只好就事论事的理解一番了。