面试题第三天

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里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值