Java 谜题
文章平均质量分 87
feiyu8607
j2ee
展开
-
java谜题-库谜题(复写hashcode与equal方法)
谜题57:名字里有什么?下面的程序包含了一个简单的不可变类,它表示一个名字,其main方法将一个名字置于一个集合中,并检查该集合是否确实包含了该名字。那么,这个程序到底会打印出什么呢? import java.util.*;public class Name { private String first, last; public Name(String first,原创 2011-11-16 20:22:22 · 2015 阅读 · 0 评论 -
java谜题--类谜题(父类的static方法)
谜题48:我所得到的都是静态的下面的程序对巴辛吉小鬣狗和其它狗之间的行为差异进行了建模。如果你不知道什么是巴辛吉小鬣狗,那么我告诉你,这是一种产自非洲的小型卷尾狗,它们从来都不叫唤。那么,这个程序将打印出什么呢?class Dog { public static void bark() { System.out.print("woof "); }}原创 2011-11-18 22:26:49 · 866 阅读 · 0 评论 -
java谜题--final变量
谜题72:终极危难本谜题旨在检验当你试图隐藏一个final域时将要发生的事情。下面的程序将做些什么呢? class Jeopardy { public static final String PRIZE = "$64,000";}public class DoubleJeopardy extends Jeopardy { public static final Str原创 2011-11-20 20:06:47 · 551 阅读 · 0 评论 -
java谜题--Thread.join()方法容易忽略的地方
谜题77:搞乱锁的妖怪下面的这段程序模拟了一个小车间。程序首先启动了一个工人线程,该线程在停止时间到来之前会一直工作(至少是假装在工作),然后程序安排了一个定时器任务(timer task)用来模拟一个恶毒的老板,他会试图阻止停止时间的到来。最后,主线程作为一个善良的老板会告诉工人停止时间到了,并且等待工人停止工作。那么这个程序会打印什么呢?import java.util.*;publ原创 2011-11-28 21:12:38 · 1960 阅读 · 0 评论 -
Java 谜题 ——异常谜题
谜题40:不情愿的构造器尽管在一个方法声明中看到一个throws子句是很常见的,但是在构造器的声明中看到一个throws子句就很少见了。下面的程序就有这样的一个声明。那么,它将打印出什么呢?public class Reluctant { private Reluctant internalInstance = new Reluctant(); public Reluc原创 2011-11-10 19:57:26 · 599 阅读 · 0 评论 -
java谜题--类初始化时容易死锁情况
谜题85:惰性初始化下面这个可怜的小类实在是太懒了,甚至于都不愿意用通常的方法进行初始化,所以它求助于后台线程。这个程序会打印什么呢?每次你运行它的时候都会打印出相同的东西吗? public class Lazy { private static boolean initialized = false; static { Thread t = new T原创 2011-12-05 20:40:14 · 848 阅读 · 0 评论 -
java谜题--java运行时修改引用类的静态常量
谜题93:类的战争下面这个谜题测试了你关于二进制兼容性(binary compatibility)的知识:当你改变了某个类所依赖的另外一个类时,第一个类的行为会发生什么改变呢?更特殊的是,假设你编译的是如下的2个类。第一个作为一个客户端,第二个作为一个库类,会怎么样呢:public class PrintWords { public static void main(Strin原创 2011-12-12 20:12:53 · 2218 阅读 · 0 评论