`

java优化编程-静态变量

阅读更多
静态变量
在程序运行期间,类中的静态变量其内存空间对所有该类的实例是共享的,因此在某些时候,为了节省内存空间开销,共享资源,
我们可以将类中的变量声明为静态变量。
但是因为静态变量生命周期太长,并且不易被系统回收,所有如果使用不合理,就会适得其反,从而造成大量内存的浪费。
因此建议在全部符合下列条件的情况下才使用静态变量:
(1)变量所包含的对象体积较大,占用内存较多
(2)变量所包含的对象生命周期较长
(3)变量所包含的对象数据稳定
(4)该类的实例 有 对该变量包含对象的共享需求
分享到:
评论

相关推荐

    Java优化编程(第2版)

    1.11.2 引用类中的静态变量与方法的 …… 小结 第4章 java核心类与性能优化 4.1 散列表类与性能优化 4.1.1 线程同步散列表类 4.1.2 设置arraylist初始化容量 4.1.3 arraylist与linkedlist 4.2 string类与性能优化 ...

    (超赞)JAVA精华之--深入JAVA API

    1.11 Java变量类型间的相互转换 2 JAVA与WEB 2.1 JMX规范 2.1.1 JMX概述 2.1.2 设备层(Instrumentation Level) 2.1.3 代理层 2.1.4 分布服务层 2.1.5 附加管理协议API 2.1.6 JMX的当前实现及应用 2.1.7 小结 2.2 ...

    Java-methods-and-objects.rar_objects

    Java的代码示例,包含: 对象与方法  用方法编程  静态方法与静态变量  设计的方法  重载 

    java8集合源码-Java-Programming-Masterclass:代码和课程笔记,Udemy-面向软件开发人员的Java编程大师班

    编程大师班 Udemy 课程: Grr,他在已经完成的部分课程中添加了讲座(和练习),进一步更改了讲座编号。 讲座编号不再匹配。 14-01-2019 - ... 部分 描述 完成的 课程介绍 14-01-2019 设置和第一步 14-01-2019 变量...

    java官方源码-pu-fmi--java-intro--2019-2020:这是应用程序教育课程JavaINTRO2019-2020Plov

    java官方源码Java编程-2019/2020 练习1 学科介绍。 如何下载和安装JDK,以及JDK和JRE有什么区别。 如何下载和安装IntelliJ或Eclipse开发环境。 如何下载和安装Git。 Git入门。 如何在不使用开发环境的情况下使用Java...

    Java经典编程源码基础例程300.zip

    Java经典编程源码例程,可以做为你的学习设计参考。 第1章 Java语言概述 1 实例001 输出“Hello World” 2 实例002 输出控制台传递的参数 2 实例003 输出由“*”组成的三角形 3 实例004 输出符号表情 5 第2章 ...

    java-内存-方法区介绍

    存放类的class字节码信息、静态与非静态方法、静态成员变量、常量、字符串常量池

    java学习笔记-java思维导图流程图表格整理

    变量 9 基本运算符 10 包机制 12 Javadoc 12 使用命令行生成 12 使用idea生成 12 Java流程控制 13 用户交互scanner 13 选择结构 15 if选择结构 15 switch选择结构 16 循环结构 17 while循环 17 do while循环 18 for...

    Java完美编程(第3版).pdf

     5.1 静态方法和静态变量   5.2 引用和类参数  5.3 引用的使用和滥用   5.4 包和javadoc  小结   自测题参考答案   编程项目 第6章 数组   引言   前导知识   6.1 数组概述   6.2 数组与...

    AIC的Java课程1-6章

     课程目标  认识Java平台,了解java application和applet的开发,激发学员对Java编程语言的兴趣。  学习和掌握Java变量,运算符,控制结构,数组,方法等基本语法。  培养和建立面向对象编程...

    java技术-让学员少走弯路

    全面解析java技术,让...讲解了Java中的构造、重载、this和super变量、静态变量、Java中的常量、继承、多态。 Java中包的概念,类的说明符、方法的说明符、对象的销毁(JVM垃圾回收器的演示),Java中接口理解与掌握。

    Java面试宝典-经典

    12、静态变量和实例变量的区别? 12 13、是否可以从一个static方法内部发出对非static方法的调用? 12 14、Integer与int的区别 13 15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 13 16、下面的代码有...

    php 静态变量的初始化

    } } 但是php中并没有一个类似java中的静态构造器/静态块的东西,就没有合适的时机对其进行初始化了。 对于共有的成员还有办法解决,例如: class A { static public $child; } A::$child = new B()

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    Collections源码java-java-design-patterns:来自不同来源的设计模式的集合。当需要在工作或学校中实施模式时,我

    类是我们如何在Java中建模特定概念的蓝图,因为Java中的所有内容都是对象,并且包含有关字段/实例变量(即它所知道的)及其方法/功能(即它的作用)的信息。 )。 摘自《 Head First设计模式》一书-编程到接口,而...

    Java学习笔记-个人整理的

    {2.1.2}Java变量类型}{47}{subsection.2.1.2} {2.1.3}面向对象的编程}{47}{subsection.2.1.3} {2.2}继承}{48}{section.2.2} {2.2.1}super(), this()}{49}{subsection.2.2.1} {2.2.2}方法重写/覆盖}{50}{...

    Java编程思想读书笔记.rar

    2) 只有当变量身份是“class内的成员时,Java才保证为该变量提供初值。 三.函数(Mehtods),引数(arguments),返回值(return values) 1. 引数列 当引数传递的是对象时,传递的是对象的reference。 四....

    Java语言基础-面向对象

    Java语言是面向对象的编程语言 对象 对象:是构成系统的最基本的单位 属性:描述对象的静态特征(成员变量) 行为:描述对象的动态特征(成员方法和构造方法) 类是模型,对象是实例;类是抽象的,对象是具体的。类...

    java技术学习文档.docx

    Java编程环境包括Java开发工具(IDE)和Java开发环境。常用的Java开发工具包括Eclipse、IntelliJ IDEA和NetBeans等。Java开发环境包括Java开发工具包(JDK)和Java虚拟机(JVM)。JDK是Java编程语言的开发工具包,...

    python“静态”变量、实例变量与本地变量的声明示例

    这里的静态变量是借用Java中静态变量的概念(不知道Python中的具体概念是什么),指既可以通过类名直接进行访问,也可以通过类的实例进行访问的变量。这种变量的声明很简单,直接在类代码块中设置变量即可,不需要...

Global site tag (gtag.js) - Google Analytics