`
zhang.jianjun
  • 浏览: 20561 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
最近访客 更多访客>>
社区版块
存档分类
最新评论
  • NGG: 个人建议: 正确的做法应该是把样式放到外部css文件中,使用 ...
    js日期选择器

【JAVA优化编程】内存管理之——(7)瞬间值

阅读更多

7  瞬间值

    相信你在做远程方法调用(RMI)类应用开发时遇到过使用瞬间值(transient)变量与实现java.lang.Serializable接口的问题,之所以要使对象实现java.lang.Serializable接口,是因为这样就可以把该对象从远程环境以对象流的方式将对象传递到相应的调用环境中,但是有时这些被传递的对象的一些属性数据并不需要被传递,因为这些数据成员对于应用需求而言是无关紧要的,那么这些数据变量就可以将其声明为瞬间值变量,而被声明成瞬间值的变量就不会被传递,这样就可以节约调用端运行环境的内存资源,尤其是这个瞬间值变量所携带的数据量越大时(例如数据量较大的数组),其效用就越大。但是如果该属性在类中是相对重要的,并且调用方需要得到确切的值,此时你是不能将其声明为瞬间值属性的,否则调用方将无法得到这个属性值。

    因此采用瞬间值的方法确实可以节约在远程方法调用(RMI)应用中调用方的内存资源并且可以节约不必要的网络开销,加快传输速度,提高系统性能,但是采用瞬间值的方法时要尽量慎重,避免误用而导致应用无法正常工作,而达不到预期的效果。关于java.lang.Serializable接口的知识我们将会在后续章节中做详细深入的讲解,这里就不在赘述了。

分享到:
评论

相关推荐

    jdk-11.0.12_osx-x64_bin.dmg.zip

    7. **内存模型增强**:JDK11改进了内存模型,增加了对无序读写的优化,提高了并发性能。 在安装"jdk-11.0.12_osx-x64_bin.dmg"时,用户通常会通过双击打开DMG文件,然后将“Java”文件夹拖拽到“应用程序”目录中。...

    大公司面试题

    `int` 是Java的基本数据类型之一,而 `Integer` 是 `int` 的封装类。两者的主要区别在于: 1. **存储方式**:`int` 类型直接存储数值,占用4个字节;而 `Integer` 类型则是一个对象,存储的是指向这个数值的引用。 ...

    journalApp:一个日记应用程序,用户可以在其中记录自己的想法和感受

    10. **用户体验优化**:包括性能调优,加载速度提升,内存管理,错误报告和崩溃恢复机制。 以上就是关于 "journalApp" 的相关知识点解析,涵盖了从开发语言到应用功能,再到软件工程实践的多个方面。通过深入学习和...

    TMinusProject

    在性能优化上,考虑到Android设备的多样性,开发者可能运用了各种优化技巧,如懒加载、异步处理以及内存管理,以确保应用在不同配置的设备上都能流畅运行。此外,为了适应Android系统的更新,应用可能会采用模块化的...

    Group-Chat-Image-Combiner

    《小组聊天图像合成器——Java实现详解》 在数字化时代,图像处理技术已经渗透到我们日常生活的各个角落,尤其在社交应用中,图像的合成与编辑功能更是不可或缺。"Group-Chat-Image-Combiner"项目就是这样一个专门...

    WildernessTp:来自spigot的My WildernessTP插件

    《荒野TP:深入探索Spigot的My ...结合Spigot的高性能和Java 8的现代化编程特性,荒野TP为服务器管理员和玩家带来了高效、稳定的娱乐体验。对于那些寻求新鲜冒险和挑战的Minecraft爱好者来说,这是一个不容错过的选择。

Global site tag (gtag.js) - Google Analytics