这道题目主要考察对类加载概念的认识,如果你认识ClassLoader加载类的三步骤的话,这题应该不是很难。
类加载器加载一个类的三个步骤:
(1) 加载:查找并加载类的二进制数据。
(2) 连接:包括验证、准备和解析类的二进制数据。
1 验证:确保被加载类的二进制数据。
2 准备:为类的静态变量分配内存,并将其初始化为默认值。
3 解析:把类中的符号引用转换为直接引用。
(3) 把类的静态变量赋予正确的初始值。
类加载器的学问太大了,在这里就不多介绍了。
看一下下面两段代码分别输出什么?
//code_1
public class SingleInstance {
private static SingleInstance si = new SingleInstance(); //注意这里
public static int num_1;
public static int num_2 = 0;
public SingleInstance() {
num_1 ++;
num_2 ++;
}
public static SingleInstance getInstance() {
return si;
}
public void print() {
System.out.println(num_1 + ":" + num_2);
}
public static void main(String[] args) {
SingleInstance.getInstance().print();
}
}
//code_2
public class SingleInstance {
public static int num_1;
public static int num_2 = 0;
private static SingleInstance si = new SingleInstance(); //注意,跟上面不一样了
public SingleInstance() {
num_1 ++;
num_2 ++;
}
public static SingleInstance getInstance() {
return si;
}
public void print() {
System.out.println(num_1 + ":" + num_2);
}
public static void main(String[] args) {
SingleInstance.getInstance().print();
}
}
答案(答案经过两次Base64的编码):
code_1 : TVRvdw==
code_2 : TVRveA==
分享到:
相关推荐
c++面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试...
面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题...
【Java面试题】类加载器
【BAT必备】分布式相关面试题大全面试题【BAT必备】分布式相关面试题大全面试题【BAT必备】分布式相关面试题大全面试题【BAT必备】分布式相关面试题大全面试题【BAT必备】分布式相关面试题大全面试题【BAT必备】...
JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题
2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里...
c#笔试面试题 c#笔试面试题 c#笔试面试题 c#笔试面试题 c#笔试面试题
最全的j2EE面试题,题量大、经典,是我面试的整理试题 1、java笔试题大集合 2、各个公司面试题 3、J2EE初学者面试题 4、J2EE面试题(打码查错题) 5、java_华为笔试题 6、java常见面试题 7、java程序员面试宝典 8、...
Java面试题-内存+GC+类加载器+JVM调优
JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题
java面试题静态加载顺序构造方法 继承与static 面试题目如下:请写出程序执行完成之后的结果。 package extend; public class X { Y y=new Y(); static{ System.out.println("tttt"); } X(){ System....
JavaOOP面试题 Java集合/泛型面试题 Java异常面试题 Java中的IO与NIO面试题 Java反射面试题 Java序列化面试题 Java注解面试题 多线程&并发面试题 JVM面试题 Mysql面试题 Redis面试题 Memcached面试题 MongoDB面试题 ...
.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题
ERP工程师面试题ERP工程师面试题ERP工程师面试题ERP工程师面试题
java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题java面试题...
IC类面试题IC类面试题IC类面试题IC类面试题IC类面试题IC类面试题
.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题.net面试题
大数据面试题V3.0完成了。共523道题,679页,46w+字,来源于牛客870+篇面经。 主要分为以下几部分: Hadoop面试题:100道 Zookeeper面试题:21道 Hive面试题:47道 Flume面试题:11道 Kafka面试题:59到 HBase面试题...
面试题 面试题 面试题 面试题 面试题 面试题 面试题
数据库面试题数据库面试题数据库面试题数据库面试题数据库面试题数据库面试题数据库面试题数据库面试题