小编典典

静态方法(实际上是所有方法)以及静态变量都存储在PermGen堆的部分中,因为它们是反射数据(与类相关的数据,而不与实例相关的数据)的一部分。

更新说明:

请注意,只有变量及其技术值(原始或引用)存储在PermGen空间中。

如果你的静态变量是对对象的引用,则对象本身存储在堆的常规部分(青年/旧世代或幸存者空间)中。这些对象(除非它们是类之类的内部对象)不会存储在PermGen空间中。

例:

static int i = 1; //the value 1 is stored in the PermGen section

static Object o = new SomeObject(); //the reference(pointer/memory address) is stored in the PermGen section, the object itself is not.

关于垃圾回收的一句话:

不要不依赖finalize(),因为它不能保证运行。JVM完全可以决定何时运行垃圾收集器以及收集什么,即使对象符合垃圾收集的条件。

当然,你可以将静态变量设置为null,从而删除对堆上对象的引用,但这并不意味着垃圾收集器将收集它(即使没有更多引用了)。

另外,finalize()它仅运行一次,因此你必须确保它不会引发异常,否则会阻止对象被收集。如果你通过某些异常暂停完成,finalize()则不会再次在同一对象上调用。

最后要注意的是:如何存储代码,运行时数据等取决于所使用的JVM,即HotSpot可能与JRockit不同,并且在同一JVM版本之间甚至可能有所不同。上面的内容基于Java 5和6的HotSpot(基本上是相同的),因为在回答之时,我会说大多数人都使用了这些JVM。由于Java 8的内存模型发生了重大变化,因此上述陈述可能不适用于Java 8 HotSpot,并且我没有检查Java 7 HotSpot的变化,所以我想以上对于该版本仍然适用,但我不确定在这里。

2020-03-06

java static 变量存在哪_Java中的静态方法和静态变量存储在哪里?相关推荐

  1. java中的常量和变量是什么_java中什么是常量和变量

    一.常量和变量 1.常量变量定义 在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量. 2 ...

  2. java交换两个变量的值_Java中交换两个整数变量的值

    需求 如下,我们定义了两个整数变量,并且分别进行了赋值,下面,我们需要实现的就是将x的值赋值给y,将y值赋值给x,实现x和y的值交换: int x = 100; int y = 200; 方法一:使用 ...

  3. java中静态变量的作用_Java中static变量作用和用法详解

    static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static ...

  4. Java成员变量与类变量_Java基础随记2-成员变量和类变量的区别

    由static修饰的变量称为静态变量,其实质上就是一个全局变量.如果某个内容是被所有对象所共享,那么该内容就应该用静态修饰:没有被静态修饰的内容,其实是属于对象的特殊描述. 不同的对象的实例变量将被分 ...

  5. java中virtual关键字_浅谈virtual、abstract方法和静态方法、静态变量理解

    说点对这几个容易混淆的词的理解: 1.c++中的virtual方法的 virtual关键字主要是防止继承中重复继承父类的同一个方法而设置的标识. 2.virtual与abstract关键字的不同之处在 ...

  6. java 全局变量 局部变量的区别_java中全局变量和局部变量的区别是什么?

    全局变量是编程术语中的一种,源自于变量之分.全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建.全局变量是可以被本程序所有对象或函数引用. 局部变量(Local variables):在方法 ...

  7. Java 静态类、静态方法和静态变量

    转载自Java 静态类.静态方法和静态变量 Java 静态类.静态方法和静态变量 static 是Java中的一个关键字,我们不能声明普通外层类或者包为静态的.static用于下面四种情况. 1.静态 ...

  8. Java类(无参、有参构造方法、静态变量)

    构造方法 作用: 初始化成员变量的 注意: 1.构造方法 没有返回值 甚至不写返回值的类型 2.构造方法的方法名 与类名 相同 书写: 关键字 构造方法名(){ } 举例: 创建cat类: publi ...

  9. 1vmware中的centos7配置静态变量

    vmware中的centos7配置静态变量 安装centos7时推荐最小化安装,避免占用过多资源 问题: 解决虚机中的Centos7连不上网 https://blog.csdn.net/u014271 ...

最新文章

  1. 清华《摸鱼学导论》开班啦!1000多学子在线摸鱼,无期末考试
  2. 世界第三大浏览器正在消亡
  3. 网页前端套java数据_【java】网页/移动前端需要的数据,最好一个接口包含所有数据么?...
  4. Linux split命令:拆分大的tar压缩包然后解压
  5. 我的学习之路_第十六章_xml
  6. 【Java网络编程(一)】IP地址、端口、URL、网络爬虫原理、TCP UDP协议
  7. oracle java调用存储过程_Java调用Oracle存储过程
  8. new HashMap<String, Object>();
  9. divi模板下载_Java Math类静态double IEEEremainder(double divi,double divisor)的示例
  10. (05)FPGA内部资源
  11. sqlite 迁移 oracle,Oracle 数据导入 Sqlite
  12. 【文摘】《创新者》-沃尔特·艾萨克森
  13. 西门子、RA、施耐德、三菱、汇川、和利时:中国PLC市场及产业链分析
  14. 在ThinkPHP5.0打造一个专属短信接口
  15. java开发加入购物车功能_java web开发——购物车功能实现
  16. iphone/ipad保存图片问题(已解决)
  17. python 一元二次方程计算器
  18. 苹果IOS企业开发者账号怎么申请——苹果账号申请记录(未完待续)
  19. 2018上期Android学期总结
  20. 软件开发生命周期(SDLC) 【详解】(含公司产品研发流程图、大厂研发架构图、大厂研发流程图)

热门文章

  1. android拷贝文件到内部存储,将文件保存在内部存储android中
  2. python3 单例模式_当python,单例模式,多例模式,一次初始化遇到一起
  3. 学python买什么书-19年学习Python有什么好的书籍推荐吗?
  4. 学python买什么书-书单狗 篇一:小白学Python,到底要看多少书?
  5. python自学看什么书-自学Python要看哪些书?有什么推荐?
  6. python能自学成功吗-python能够自学吗
  7. python的读音-python怎么读?python的含义和读音!
  8. 只有10万元预算买畅销SUV自动车型您选谁?
  9. 人工智能语音电视能“听话”吗?
  10. Hashmap存储大小