java – 何时将静态嵌套类(以及其中的静态成员)加载到内存中?
发布时间:2020-12-14 05:37:06 所属栏目:Java 来源:网络整理
导读:在这里,我试图使用内部静态助手类为我的数据库连接实现单例类: package com.myapp.modellayer;public class DatabaseConnection { private DatabaseConnection() { //JDBC code... } private static class ConnectionHelper { // Instantiating the outer c
在这里,我试图使用内部静态助手类为我的数据库连接实现单例类:
package com.myapp.modellayer; public class DatabaseConnection { private DatabaseConnection() { //JDBC code... } private static class ConnectionHelper { // Instantiating the outer class private static final DatabaseConnection INSTANCE = new DatabaseConnection(); } public static DatabaseConnection getInstance() { return ConnectionHelper.INSTANCE; } } 但是,我怀疑这个静态内部类ConnectionHelper何时被加载到JVM内存中: 在加载DatabaseConnection类时,或者 解决方法
当类被加载时只是一个实现细节;你想知道什么时候初始化类.只有在第一次需要它时才会初始化它,也就是当你调用getInstance()时.
您使用的是lazy initialization holder class idiom,它完全基于Java语言规范的这种保证.正如Josh Bloch所说,
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – TimeZone.getTimeZone(“CST”)返回GMT
- 关于Java中你所不知道的Integer详解
- Java泛型:如何包装/扩展Android Activity测试用例?
- java – 重播通过ActiveMQ发送的消息
- data-annotations – 为什么AutoFixture不使用StringLength
- java – 在哪里恢复用户的应用程序内购买?
- 猜谜游戏0-100 java
- java web开发中大量数据导出Excel超时(504)问题解决
- 计算两个字符串最大公有子串
- 10 Questions To Make Programming Interviews Less Expens