java类中创建一个自身的静态对象,如何理解不会无限创建导致堆溢出
来源:互联网 发布:手机版迅雷网络异常 编辑:程序博客网 时间:2024/06/18 11:02
public class MySharedObject { //static variable pointing to instance of MySharedObject public static final MySharedObject sharedInstance = new MySharedObject(); //member variables pointing to two objects on the heap public Integer object2 = new Integer(22); public Integer object4 = new Integer(44); public long member1 = 12345; public long member1 = 67890;}
答:很明显不会,static关键字修饰后,表明该对象是类级成员,而类在java虚拟机里只加载一次,所以这里不会有问题
我的理解:jvm加载类,类中的static都被加载一次,在以后的实例化等操作中都不会被加载,在此例中也是如此,类MySharedObject中的static只在类被加载时执行一次,实例化中不执行static!实例化中不执行static!实例化中不执行static!实例化中不执行static!实例化中不执行static!
1 0
- java类中创建一个自身的静态对象,如何理解不会无限创建导致堆溢出
- 有关于在Java 类的静态初始化块中创建一个自身实例的问题。
- 如何创建一个只能在堆上创建对象的类
- HotSpot 虚拟机在 Java 堆中对象是如何创建、如何布局以及如何访问的?
- Java中如何使某个类的对象唯一性,只能创建一个对象
- 如何创建一个只能在堆上产生对象的类
- 如何定义一个只能在堆(栈)上创建对象的类
- 如何定义一个只能在堆(栈)上创建对象的类
- Java中堆和栈创建对象的区别
- Java中堆和栈创建对象的区别
- Java中堆和栈创建对象的区别
- Java中堆和栈创建对象的区别
- 在Java堆中创建对象的全过程
- Java中堆和栈创建对象的区别
- Java中堆和栈创建对象的区别
- Java中堆和栈创建对象的区别
- Java中堆和栈创建对象的区别
- 一个深入理解JAVA传统线程对象创建的例子
- Unity3D之Mecanim动画系统学习笔记(五):Animator Controller
- CSS3之Flexbox布局(二)
- tortoise SVN报错:由于目标计算机积极拒绝,无法连接
- sitemesh应用
- 十一届院赛 I题 我要10个G
- java类中创建一个自身的静态对象,如何理解不会无限创建导致堆溢出
- 【Apache ZooKeeper】基础知识介绍
- mybatis+spring的TODO小项目记录(五)配置mybatis
- 整体二分(51nod 雪之国度)
- elasticsearch创建multi-fields字段及修改非multi-fields字段为multi-fields字段及multi-field字段的不同的analyzer进行分析和搜索
- 等待一个内存块
- POS主密钥与工作密钥关联详解
- ZOJ 3469 Food Delivery(* 区间DP 总结)
- Java Date and Time系列