瞬间值

来源:互联网 发布:desmume for mac 编辑:程序博客网 时间:2024/04/29 04:14
瞬间值
相信你在做远程方法调用(RMI)类的应用开发时,应该遇到过使用瞬间值(transient)变量与实现java.lang.Serializable接口的问题,之所以要使对象实现java.lang.Serializable接口,是因为这样就可以从远程环境以对象流的方式,将对象传递到相应的调用环境中,但是有时这些被传递的对象的一些属性数据并不需要被传递,因为这些数据成员对于应用需求而言是无关紧要的,那么这些数据变量就可以将其声明为瞬间值变量。被声明成瞬间值的变量就不会被传递,这样就可以节约调用端运行环境的内存资源,尤其是这个瞬间值变量所携带的数据量越大时(例如,数据量较大的数组),其效用就越大。但是如果该属性在类中是相对重要的,并且调用方需要得到确切的值,此时,你是不能将其声明为瞬间值属性的,否则调用方将无法得到这个属性值。
因此采用瞬间值的方法确实可以节约在远程方法调用(RMI)应用中调用方的内存资源并且可以节约不必要的网络开销,加快传输速度,提高系统性能,但是采用瞬间值的方法时要尽量慎重,避免因误用而导致应用无法正常工作,而达不到预期的效果。关于java.lang.Serializable接口的知识,我们将会在本书的后续章节中做详细深入的讲解,这里就不再赘述了。