1、String和StringBuffer的区别。
2、gc的概念,如果A和B对象循环引用,是否可以被GC?
3、Java中的内存溢出是如何造成的。
4、String s = “123”;这个语句有几个对象产生。
5、Error、Exception和RuntimeException的区别,作用又是什么?
6、列举3个以上的RuntimeException。
7、reader和inputstream区别。
8、hashCode的作用。
9、Object类中有哪些方法,列举3个以上(可以引导)
10、char型变量中能不能存贮一个中文汉字?为什么?
11、列举几个Java Collection类库中的常用类。
12、List、Set、Map是否都继承自Collection接口?
13、HashMap和Hashtable的区别。
14、HashMap中是否任何对象都可以做为key,用户自定义对象做为key有没有什么要求?
15、interface 和 abstrat class的区别 是否可以继承多个接口,是否可以继承多个抽象类。
16、 启动一个线程是用run()还是start()?
17、多线程有几种实现?同步和并发是如何解决的?
18、什么叫守护线程?用什么方法实现守护线程(Thread.setDeamon()的含义)
19、如何停止一个线程? 解释是一下什么是线程安全?举例说明一个线程不安全的例子。
20、解释Synchronized关键字的作用。
21、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
22、了解过哪些JDK8的新特性,举例描述下相应的特性?
23、对sql进行优化的原则有哪些?
24、servlet生命周期是生命与cgi的区别?
25、StringBuffer有什么优势?为什么快?
(1)stringbuffer和stringbuilder一般用来和string来比较,一般情况下的string,只要发生改变,就会新生成一个对象,如果改变的多了的话,比如一些科学计算,计算次数上千万,会很消耗内存。这个时候你就可以用stringbuffer和stringbuilder来代替,它们在发生改变的时候,不会像string一样不停地新生成对象,所以可以节省内存。
(2)而stringbuffer和stringbuilder之间的区别在于一个是线程安全,一个是线程不安全。线程安全的,在进行并发处理的时候,会有阻塞现象,而线程不安全的在遇到并发的时候就不会阻塞,所以线程安全的会比线程不安全的慢。
全部评论
(2) 回帖