4) 以下是一个完整程序,哪一行,有效率问题 *
public static void main(String[] args){
Long totalSum = 0L;
for (long i =0;i<Integer.MAX_VALUE;i++){totalSum+=i;}
System.out.println(totalSum); }
5) 讲讲以下4个Object 有何不同?文字解释a,b,c,d 的 JAVA object 背后的机制 *
a) String str1="a"; b)String str2 ="a"; c)String str3=new String("a"); d)StringBuilder str4 = new StringBuilder("a");
6)你有什么办法将这个singleton的class ,制造多个instances。 *
public class Singleton { private Singleton(){ System.out.println(" singleton "); } private static Singleton s = new Singleton(); public static Singleton getInstance(){ return s; } }
7)JAVA 里什么是... , 讲讲...的用法是什么? *
8) 你觉得一个concurrent的OO的程序Safety-first 重要还是Liveness-first? 为什么? *
挑重点表达
9)如果X是Read-Write-Lock模式中被Lock的唯一物件,哪个步骤不符合Read-Write- Lock模式? *
X在被读写使用前必须先被锁定,也必须在使用时才锁定.
后面的操作不再使用X时,资料项目X被使用完毕之后,应该立即被释放
如果锁定X之后,而后面 Transaction继续需要使用它,他就应该被先释放,然后再锁定
在Transaction中,X被锁的情况下,任何读写都会被禁止
10)尝试写一个Cyclic Barriers,不使用java.util.concurrent.CyclicBarrier; 如果可以用concurrent里的其他类,你能模仿一个出来吗? *
11)举例讲解如何制造一个Full thread dump Java HotSpot(TM) Client/Server VM *
in common linux OS
说实在的,这玩意问题忒多了点...先来回答几个
4)这个题个人举得效率问题出现在long和int的转化问题。
5)这里答案a)和b)这两个是一样的吧,要说区别的话也是a) c) d)这三种吧。这可以算是java中典型的创建几个对象的问题。当然这个题如果是考虑执行的先后顺序的话结果不能按照我这里简单说的来理解.可以和我消息交流这问题,这里说太长.
6)制造多个instance,可以先定义一个容器比如ArraryList,然后定义一个变量,一次new出固定数量的实例然后放入ArraryList中,用的时候取出来。
7)8)9)10)11)不会...不会java,会C#,还是问C#的吧O(∩_∩)O哈哈~
7)java中定义可变参数中用到的
6) s.clone()
9) D
11) kill -3 <java-pid>