static 修饰的变量称为类变量或全局变量或成员变量,在类被加载的时候成员变量即被初始化,与类关联,只要类存在,static变量就存在。 一个static变量单独划分一块存储空间,不与具体的对象绑定在一起,该存储空间被类的各个对象所共享。 也就是说当声明一个对象是,并不产生static变量的拷贝,
转载 2016-08-19 17:57:00
168阅读
2评论
 java当中,一共有三种类型的变量:类变量:类变量是类中独立于方法之外的变量,用static 修饰。实例变量:实例变量也是类中独立于方法影响 到其...
原创 2023-05-15 14:51:32
58阅读
有时程序中有些数据需要持久保存,或者其他原因,需要调用全局的,但全局的对于开发来说,比较危险。这里介绍static,感觉很有用。 对于static我是这样理解的:类中的一般成员在生成对象的时候,每个成员都关联着对象。因此对象可以调用自己的成员,因此this指针也就有了意义,而对于static声明的成员,只关联于类,生成对象的时候不对该成员进行实例化,因此对象无法对此成员进行调用,this指针也就没意义了。 除此之外,感觉static很有优势,可以替代全局的部分功能,同时还具有了封装属性。具体如下代码:Test.h#ifndef TEST_H#define TEST_H#include<i
转载 2011-11-21 20:23:00
96阅读
2评论
static在Java中是一个很常见的关键字,同时它也是面试时的一个高频考点。那么在Java类中,static的加载机制到底是怎样的呢?接下来就来带大家弄明白这个问题。一. 类加载机制JVM在首次使用某个类时,会通过 classpath 来查找该类的.class文件。然后将.class文件中对类的描述信息加载到内存中进行保存,如:包名、类名、父类、属性、方法、构造方法......一个类的加载过程大
static在Java中是一个很常见的关键字,同时它也是面试时的一个高频考点。那么在Java类中,static的加载机制到底是怎样的呢?接下来百泽老师就来带大家弄明白这个问题。一. 类加载机制JVM在首次使用某个类时,会通过 classpath 来查找该类的.class文件。然后将.class文件中对类的描述信息加载到内存中进行保存,如:包名、类名、父类、属性、方法、构造方法......一个类的加
转载 2023-05-25 14:55:47
172阅读
 问题一  : 类什么时候被加载/类加载时机???:有如下几个类,我先运行TestA,再运行TestB,那么:         class A:Java代码 1. public class A { 2. public static int a = 6; 3. }&
一.类加载当jvm去运行一个类时,会先加载该类,把该类在硬盘上字节码加载到jvm的内存。java HelloWorld>字节码会被加载到代码段中>加载过程中会有一些静态的常量,这部分会事先存放到数据段中类加载与static的关系 类加载会去初始化static修饰的变量 类加载会去执行静态的代码块类加载实际上由类加载器加载,这个加载器是ClassLoader 二.static(
一. 类加载 & 类的加载一般认为static块是在『类加载』时期运行的。但翻博客看到有人认为这句话是错的,作为一个初学者一下子不知道哪个是正确的。花时间整理了一遍这部分内容。先说结论:这句话其实没什么问题,但很多人可能由于英文翻译导致的问题而产生误会。 这里的『类加载』其实指的是完整的『类加载』过程,而不是『类的加载』。当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加
1.static首先记住最重要的一点:类属性被static修饰,那么它会被当做GC的一个root根节点,作为根节点也就意味着它基本上不会被回收,因此容易造成内存泄漏问题.2.static修饰类,方法,属性众所周知,普通类是不能用static修饰的,只能修饰内部类注意的是当一个内部类没有使用static修饰的时候,是不能直接使用内部类创建对象,须要先使用外部类对象点new内部类对象及(外部类对象.n
原创 2018-12-24 11:20:06
358阅读
static 在 C 语言中有三种主要的用法。1. static 修饰一个局部变量。 对变量的生命周期做出了改变,局部变量的生命周期变成了跟随整个程序。 老师上课写了一个程序,在没有加 static 的时候,num 三次的值都是 0。代码如下#include<stdio.h>#include<std
转载 2020-04-24 09:38:00
84阅读
2评论
1、为什么设计static?考虑下面的需求:   在程序运行过程中,在一个范围内,有一个对象大家共享,而且可以多次使用,状态能够保持,对象的生命周期一直持续到程序运行结束。 2、静态对象要分配在全局数据区,程序运行期间,不能释放,一直到程序终止。 3、静态对象的生命周期是程序的整个运行过程。但是可以限定静态对象的作用域,根据作用域的大小,可分为静态局部对象,静态全局对象。静态局部对象是指方法内的静
转载 2013-11-07 20:30:00
66阅读
1、如果在方法前面加上static,调用该方法时就不需要信赖该方法所在的类,直接用“类名.方法”就可以了,特别是该方法要经常被其他类访问的时候,很有用,节省了内存,不用经常创建对象消耗内存2、如果在变量前面加上static,该变量在内存中只有一份拷贝,大家公享的,可以作为全局变量,且在程序运行时就产生了。默认会初始化的,如果没有初始化的话。3、如果在类前面加上static,表示静态类,跟1作用有点
原创 2023-05-11 11:03:43
61阅读
# 实现 Java Static 内存 ## 流程概述 实现 Java Static 内存主要包括以下步骤: 1. 定义一个类,并声明一个 static 变量。 2. 在代码中使用 static 变量,可以通过类名直接访问。 3. 使用 static 变量可以在不创建对象的情况下共享数据。 下面将详细介绍每一步的具体操作。 ## 步骤详解 ### 步骤1:定义一个类并声明 static
原创 2023-08-06 06:25:21
18阅读
1.     静态方法 通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法   声明为static的方法有以下几条限制: · 它们仅能调用其他的static 方法。 · 它们只能访问static数据。 · 它
static的四种使用场景:修饰成员变量和成员方法、修饰静态代码块、修饰内部类、静态导包
原创 2016-03-22 01:27:30
597阅读
Java中static理解 佟强 2008.10.8 静态变量:类变量,为此类所有对象共享 静态方法:静态方法里没有this引用 不能在静态方法中访问非静态的成员变量和方法 可以直接通过类访问静态成员,即使不存在该类的对象 //Student.java package cn.edu.uibe....
转载 2008-10-08 21:48:00
114阅读
2评论
J2SE 1.5里引入了“Static Import”机制,借助这一机制,可以用略掉所在的类或接口名的方式,来使用静态成员。本文介绍这一机制的使用方法,以及使用过程中的注意事项。 在Java程序中,是不允许定义独立的函数和常量(当然,准确的说,只是被final修饰、只能赋值一次的变量)的。即使从它们
转载 2022-07-07 22:05:32
60阅读
# Java Static 内存分配实现流程 ## 概述 在Java中,static关键字可以用来修饰成员变量和方法,使它们属于类而不是实例。静态成员变量和方法在内存中只有一份拷贝,并且可以直接通过类名访问,而不需要实例化对象。 本篇文章将引导你学习Java中static内存分配的实现过程,包括以下几个步骤: 1. 定义一个静态成员变量或方法。代码示例: ```java public class
原创 2023-08-06 04:56:30
48阅读
# Android静态内存泄漏 在Android开发中,内存泄漏是一个常见的问题,特别是静态内存泄漏。静态内存泄漏是指当一个对象被静态引用持有时,即使在应用程序不再需要该对象时,该对象仍然被内存保留,无法被垃圾回收器回收,从而导致内存泄漏。本文将介绍Android静态内存泄漏的原因、如何发现和解决这个问题。 ## 内存泄漏的原因 静态内存泄漏通常是由于静态变量持有了对象的引用而导致的。当一个对
原创 2024-06-11 04:04:06
243阅读
前两天面试时被问到静态的特点,当时回答地不是很好,现在来总结一下在了解某样东西的时候我们通常会从它是什么,为什么,和怎么样在三方面来衡量,对于java中的static,我们也这样讨论下,要明确以下几点:1、 static在java中到底代表什么,为何要用它? 2、 static在java中怎么用? 3、 static 有那些特点和使用的“局限”?4、当成员变
  • 1
  • 2
  • 3
  • 4
  • 5