35、如何把一段逗号分割的字符串转换成一个数组?.
使用split(",")可以将字符串分割
36、数组有没有length()这个方法?String有没有length()这个方法?
数组有length属性,String有这个方法
37、下面这条语句一共创建了多少个对象:String s="a"+"b"+"c"+"d";
一个对象,因jvm在编译时候就就将“”+“”去掉
38、try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?.
前面执行,但是return值会存放栈中,等待finally执行后返回
39、下面的程序代码输出的结果是多少?
publicclasssmallT{
publicstaticvoidmain(Stringargs[]){
smallTt=newsmallT();intb=t.get();System.out.println(b);}
publicintget()
{
try{
return1;}
finally{
return2;}}
返回值: 2
40、final,finally,finalize的区别。
fina表示属性不可改变,类不可继承,方法不可覆盖
finally是异常处理的语句结构一部分,表示总是执行
finalize是object类的一个方法,在gc执行的时候会调用被回收对象的此方法,可以覆盖此方法,
41、运行时异常与一般异常有何异同?
运行时异常b表示虚拟机进行操作中可能遇到的问题,jvm要求方法必须抛出非运行时异常,但是并不要求必须声明抛出未捕获的运行时异常
42、error和exception有什么区别?
error表示不是不可能恢复但是很难恢复的严重问题,如内存溢出,不能指望程序处理此类问题、exception表示设计或实现问题,也就是如果程序正常,从来不会发生的情况
43、Java中的异常处理机制的简单原理和应用。
44、请写出你最常见到的5个runtimeexception。
Nullpointerexception StringIndexOutofBoundsException ArithmmeticException ClassCastException (百度:NegativeArraySizeException)
45、JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
throws是获取异常
throw是抛出异常
try是将会发生异常的语句括起来,从而进行异常的处理,
catch是如果有异常就会执行他里面的语句,
而finally不论是否有异常都会进行执行的语句。
try块中可以抛出异常
46、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?
继承Thread和实现runable接口。
synchronized修饰
stop()不安全,suspend()容易出现死锁。
47、sleep()和wait()有什么区别
sleep会让线程停止一段指定的时间,到时会自动恢复,睡眠期间不释放对象锁。wait是让线程放弃对象锁,进入等待对象锁定池,只有notify或notifyAll能唤醒。
48、同步和异步有何异同,在什么情况下分别使用他们?举例说明。
异步往往会更有效率,如果数据共享必须使用同步,如果一个方法返回值需要很长时间,但是程序不需要等待,就可以异步。
举个例子:同步就是你喊别人吃饭,然后在那里等他一块去吃,异步就是你喊完之后就去吃饭了不等他。
50、多线程有几种实现方法?同步有几种实现方法?.
两种。
两种,synchronized,和(wait notify)。
51、启动一个线程是用run()还是start()?
start方法。run方法是该线程所关联的执行代码。
52、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
1.其他方法前是否加了synchronized关键字,如果没加,则能。 2.如果这个方法内部调用了wait,则可以进入其他synchronized方法。 3.如果其他个方法都加了synchronized关键字,并且内部没有调用wait,则不能。4.如果其他方法是static,它用的同步锁是当前类的字节码,与非静态的方法不能同步,因为非静态的方法用的是this。
53、线程的基本概念、线程的基本状态以及状态之间的关系
54、简述synchronized和java.util.concurrent.locks.Lock的异同?
55、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
56、子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。
57、介绍Collection框架的结构.
58、Collection框架中实现比较要实现什么接口.
59、ArrayList和Vector的区别
60、HashMap和Hashtable的区别
61、List和Map区别?
62、List,Set,Map是否继承自Collection接口?
63、List、Map、Set三个接口,存取元素时,各有什么特点?
64、说出ArrayList,Vector,LinkedList的存储性能和特性
65、去掉一个Vector集合中重复的元素
66、Collection和Collections的区别。
67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还是equals()?它们有何区别?
68、你所知道的集合类都有哪些?主要方法?
69、两个对象值相同(x.equals(y)==true),但却可有不同的hashcode,这句话对不对?
70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用