`
nannan408
  • 浏览: 1783437 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java静态变量使用场景分析

阅读更多
静态变量
在程序运行期间,类中的静态变量其内存空间对所有该类的实例是共享的,因此在某些时候,为了节省内存空间开销,共享资源,
我们可以将类中的变量声明为静态变量。
但是因为静态变量生命周期太长,并且不易被系统回收,所有如果使用不合理,就会适得其反,从而造成大量内存的浪费。
因此建议在全部符合下列条件的情况下才使用静态变量:
(1)变量所包含的对象体积较大,占用内存较多
(2)变量所包含的对象生命周期较长
(3)变量所包含的对象数据稳定
(4)该类的实例 有 对该变量包含对象的共享需求
一般共享内存用的比较多,共享方法也用的比较多。
分享到:
评论
2 楼 nannan408 2010-03-30  
多个该类的实例,需要共享内存,可以考虑用 static.
比如
public class Test
{
   
    public static int shareVariable = 5;
   
    private int variable;
   
    public static void main(String[] argus)
    {
        Test t1 = new Test();
        Test t2 = new Test();
        System.out.println(t1.shareVariable);
        System.out.println(t2.shareVariable);
       
    }
   
}
打印结果:5
        5
1 楼 yedaya 2010-03-29  
“该类的实例 有 对该变量包含对象的共享需求”这句具体怎么解释?

相关推荐

    Java中的静态变量静态方法静态块与静态类.docx

    Java 中的静态变量、静态方法、静态块和静态类 Java 中的静态变量、静态方法、静态块和静态类是 Java 编程语言的四个重要概念,它们之间存在着紧密的关系。下面将对这四个概念进行详细的介绍。 一、静态变量...

    java中静态与非静态的变量定义与使用

    让我们深入探讨一下静态与非静态变量的定义与使用。 首先,静态变量是属于类级别的,这意味着它们是共享的,无论创建了多少个类的实例,都只有一个静态变量的副本。当类加载到内存中时,静态变量就会被初始化,并且...

    springboot 使用yml配置文件给静态变量赋值教程

    在这个教程中,我们将学习如何使用`yml`配置文件为静态变量赋值,特别是针对像数据查询引擎连接工具类这样的场景。 首先,我们需要在`yml`配置文件中定义所需的参数。以`clickhouse`为例,我们会在`application.yml...

    java 利用反射获取内部类静态成员变量的值操作.docx

    本文将详细介绍如何使用Java反射技术来获取内部类中的静态成员变量的值。 #### 二、背景知识 在深入探讨之前,我们需要了解几个基本概念: 1. **内部类**:内部类是一种特殊的类,定义在另一个类(外部类)的内部。...

    python类和函数中使用静态变量的方法

    静态变量在其他面向对象的语言如Java或C#中比较常见,但在Python中,由于其动态特性的存在,实现静态变量的方式稍有不同。本篇文章将详细介绍在Python中如何在类和函数中使用静态变量,并通过三个示例来说明。 **...

    4 种主流 Java 静态代码分析工具

    Java作为一种广泛使用的编程语言,拥有丰富的静态代码分析工具,其中Checkstyle、FindBugs、PMD和Jtest是最为知名的几种。本文将详细介绍这四种工具的特点及其应用场景。 #### 二、静态代码分析工具综述 ##### 1. ...

    售票员大战.zip(Java运用静态变量多人销售票数进行分类)

    通过合理使用静态变量,我们可以实现如“售票员大战”这样的并发场景,确保数据的一致性和正确性。同时,还需要注意线程安全问题,适时使用`synchronized`或`volatile`关键字,以及考虑使用`AtomicInteger`等并发...

    静态的魔力:Java中静态方法和变量的深度解析

    本文将深入探讨Java中的静态方法和静态变量,揭示它们的工作原理和实际应用。 #### 二、静态特性的概述 在Java中,静态(static)关键字被用来修饰类的成员变量和方法,表示这些成员属于类本身而非类的某个具体...

    利用反射获取Java类中的静态变量名及变量值的简单实例

    在这个简单的实例中,我们将探讨如何使用反射来获取Java类中的静态变量名及其对应的变量值。这个例子主要涉及到`java.lang.reflect.Field`类和`Class.forName()`方法。 首先,我们要了解`Class.forName()`方法。它...

    java静态内部类(嵌套类)

    ### Java静态内部类(嵌套类)详解 #### 一、静态内部类概念与特性 在Java编程语言中,静态内部类(也被称为嵌套类)是一种特殊的内部类形式,它通过`static`关键字来定义。与普通内部类相比,静态内部类具有以下...

    Java static静态初始快

    6. **使用场景**:常用于设置静态变量的初始值,创建静态对象,或者执行一次性的系统设置操作。 在实际开发中,合理使用静态初始化块可以提高代码的组织性和效率。然而,过度依赖静态初始化块可能会导致代码难以...

    Java中的Static块与静态方法

    静态块,也被称为静态初始化器,是在类加载时自动执行的一段代码,用于初始化类的静态变量或执行一次性的设置工作。静态块可以包含任意的Java语句,并且会在类的任何实例被创建之前执行。与静态方法不同,静态块不是...

    android jni使用static变量

    这样,你就成功地在Android JNI中实现了对Java静态变量的访问。 总结来说,通过JNI,我们可以轻松地在Android应用的Java层和原生代码之间共享静态变量,实现跨层通信。这种方法在处理性能敏感的场景,如图像处理、...

    html.rar_html页面_java 静态模板_java 静态页面_java生成html_静态页面

    2. **Java静态模板**:在Java中,静态模板是一种预定义的HTML文件,其中包含了一些占位符或者变量,用于在运行时被Java代码替换为实际数据。常用的Java模板引擎有FreeMarker、Thymeleaf和Velocity等。这些引擎允许...

    java中的static变量,方法,代码块

    在上述代码中,`count`为静态变量,所有`Example`的实例都将共享同一个`count`值,而`instanceCount`则为实例变量,每次创建新实例时,其值独立且不相互影响。 #### 2. Static方法 静态方法是`static`关键字的另一...

    Java 变量类型总结.docx

    Java编程语言中有三种类型的变量:类变量(静态变量)、实例变量和局部变量,每种都有其特定的用途和生命周期。 1、类变量(静态变量) 类变量,也被称为静态变量,使用`static`关键字声明,存在于类的静态存储区。...

    JAVA静态方法和非静态方法的区别和实例.doc

    JAVA静态方法和非静态方法的区别和实例 静态方法和非静态方法是 Java 编程语言中两个基本概念,它们在编程实践中扮演着重要角色。了解它们的区别和使用场景对于编写高效、可维护的代码至关重要。 什么是静态方法?...

    Java反射机制修改私有成员变量的实现_Reflection

    在实际应用中,反射机制常用于框架开发、插件系统、测试工具等场景,例如Spring框架中的依赖注入就大量使用了反射。但是,反射的使用也需要注意性能问题,因为反射操作相比直接的Java代码执行会慢很多,且过度使用...

Global site tag (gtag.js) - Google Analytics