文档章节

Java类被使用的几种情况

思想永无止境
 思想永无止境
发布于 2016/11/04 11:59
字数 224
阅读 2
收藏 0
主动使用(类被初始化)

类被初始化与否的标志是是否对静态变量赋上初始值和执行静态代码块。
主动使用一定会对类进行初始化。
以下是主动使用的情况:
1.创建该类的实例
2.该类的子类或实现类被初始化
3.访问该类的静态变量或方法
4.使用反射Class.forName(String className)或Class.forName(String className, true(一定要是true), ClassLoader classLoader)
或直接”类名.class”创建该类的java.lang.Class对象。
5.属于程序入口类(main方法所在的类在main方法调用之前JVM会先初始化该类)

被动使用

除主动使用的其他使用都被称为被动使用,
如使用ClassLoader.loadClass(String className)和Class.forName(String className, false(一定要是false), ClassLoader classLoader)就不会对类进行初始化。

© 著作权归作者所有

思想永无止境
粉丝 4
博文 257
码字总数 292814
作品 0
昌平
程序员
私信 提问
java 中静态代码块执行的时机

1、简单认为JAVA静态代码块在类被加载时就会自动执行 是错误的 2、正解:static块真正的执行时机 一个类的运行分为以下步骤: 装载 连接 初始化 装载阶段 通过类型的完全限定名,产生一个代表...

职业搬砖20年
2018/07/06
0
0
mysql中时间数据差14小时

问题 调试代码中,确定了出来的时间数据是准确了,没有出现差14小时情况,通过Spring hibernate jdbc这一路保存到mysql数据库中,就出现了14小时问题。 排查 mysql排查 到这里,基本上排除了...

亚林瓜子
2018/12/18
0
0
为什么说JDBC驱动类加载破坏了双亲委派机制

大家都知道jdk的类加载机制是双亲委派机制,当我们需要加载一个类的时候,比如如下几种情况 new一个类的对象 调用类的静态成员(除了final常量)和静态方法 使用java.lang.reflect包的方法对...

杨喆
05/05
0
0
Java虚拟机(JVM)(自动内存管理机制)

简介 Java虚拟机(JVM)是Java应用的运行环境,从一般意义上来讲,JVM是通过规范来定义的一个虚拟的计算机,被设计用来解释执行从Java源码编译而来的字节码。 体系结构 JVM主要有子系统和内存...

亚特兰缇斯
2015/03/05
0
0
线上应用故障排查之二:高内存占用

搞Java开发的,经常会碰到下面两种异常: 1、java.lang.OutOfMemoryError: PermGen space 2、java.lang.OutOfMemoryError: Java heap space 要详细解释这两种异常,需要简单重提下Java内存模...

MZHS
2015/11/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

C 语言 二级指针操作文件 柔性数组使用

#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct _info* pInfo;struct _info{int line;int len;char data[0];}info;int getFil......

小张525
37分钟前
0
0
中介者模式

https://blog.csdn.net/jason0539/article/details/45216585

南桥北木
37分钟前
0
0
抽离css以及公共js

分离css 分离css:为何要把 CSS 文件分离出来,而不是直接一起打包在 JS 中。最主要的原因是我们希望更好地利用缓存。 extract-text-webpack-plugin > 1. 假设我们原本页面的静态资源都打包成...

莫西摩西
今天
2
0
Jenkins的配置从节点中默认没有Launch agent via Java Web Start,该如何配置使用

Jenkins的配置从节点中默认没有Launch agent via Java Web Start,如下图所示,而这种启动方式在Windows上是最方便的。 如何设置才能让出来呢? 1:打开"系统管理"——"Configure Global Sec...

shzwork
今天
2
0
BAT面试必问HashMap源码分析

HashMap 简介 HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。 JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈...

别打我会飞
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部