Java面试题系列-(二) -待完成

上篇:
Java面试题系列(一)-面试题及解题思路

40、怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串?
A:这道题其实挺没意思的。知道就是知道。不知道就是不知道。那可能就是偶尔用一次,可能会不记得

String s1 = "你好";
String s2 = new String(s1.getBytes("GB2312"), "ISO-8859-1");

41、日期和时间:
Java中有util和SQl两种日期和时间
感觉40,41,42 这种题其实不知道想考察到什么。这当时记得就是记得。不记得就是不记得。

42、打印昨天的当前时刻。

43、比较一下Java和JavaSciprt。
A:除了名字相似,就没有其他的相同点了。
Java是面向对象语言,什么都需要设计对象;JS是脚本语言,本身为开发者提供了很多对象
Java是静态编译,先编译(检查对象的引用)再运行。JS是动态编译,运行时检查对象的引用
Java主要用于开发一些大型的系统,JS主要用于web页面,用来修饰html

44、什么时候用断言(assert)?
A:在开发和测试的时候启用。是一种调试方式,用来某一个数据是否符合要求,断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为true;如果表达式的值为false,那么系统会报告一个AssertionError

45、Error和Exception有什么区别?
A: 都是继承自Throwable。
Error是错误,发生后JVM直接不可用,程序无法自行处理,如OutOfMemoryError。
Exception可以被捕捉到的异常,分为检查性异常和非检查性异常,检查性异常必须用try catch进行捕获,一般是资源不可用导致的,例如数据库无法连连接,磁盘为空。非检查异常一般是因为代码写的有问题导致的

46、try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,什么时候被执行,在return前还是后?
A:finally中的语句会执行。会在return后执行。但是return语句不会马上返回,而是先执行finally的语句,finally不管执行了什么(finally 不建议写return语句,但是可以写,而且会截胡try中的return)。都不会影响return中的结果。

47、Java语言如何进行异常处理,关键字:throws、throw、try、catch、finally分别如何使用?
A:throws用来抛出多个可能发生的异常,throw用来抛出单个异常,try用来包含可能发生异常的代码块,catch用来捕获具体的异常并进行处理(处理货接着往上抛),finally用来做最后需要做的工作,不管有没有异常都会执行

48、运行时异常与受检异常有何异同?
A:都是Exception(区别于Error),可以被捕获到。受检查异常必须用trycatch包起来(一般是某些资源不可用导致的),运行时异常一般是由于代码写的有问题导致的

49、列出一些你常见的运行时异常?
A:数组越界异常,除0异常

50、阐述final、finally、finalize的区别。
A:

51、类ExampleA继承Exception,类ExampleB继承ExampleA。
请问执行此段代码的输出是什么?
52、List、Set、Map是否继承自Collection接口?
53、阐述ArrayList、Vector、LinkedList的存储性能和特性。
54、Collection和Collections的区别?
55、List、Map、Set三个接口存取元素时,各有什么特点?
56、TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?
57、Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行,它们有什么区别?
58、线程的sleep()方法和yield()方法有什么区别?
59、当一个线程进入一个对象的synchronized方法A之后,其它线程是否可进入此对象的synchronized方法B?
60、请说出与线程同步以及线程调度相关的方法。
61、编写多线程程序有几种实现方式?
62、synchronized关键字的用法?
63、举例说明同步和异步。
64、启动一个线程是调用run()还是start()方法?
65、什么是线程池(thread pool)?
66、线程的基本状态以及状态之间的关系?
67、简述synchronized 和java.util.concurrent.locks.Lock的异同?
68、Java中如何实现序列化,有什么意义?
69、Java中有几种类型的流?
70、写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。
71、如何用Java代码列出一个目录下所有的文件?
72、用Java的套接字编程实现一个多线程的回显(echo)服务器。
73、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
74、你在项目中哪些地方用到了XML?
75、阐述JDBC操作数据库的步骤。
76、Statement和PreparedStatement有什么区别?哪个性能更好?
77、使用JDBC操作数据库时,如何提升读取数据的性能?如何提升更新数据的性能?
78、在进行数据库编程时,连接池有什么作用?
79、什么是DAO模式?

猜你喜欢

转载自blog.csdn.net/m0_37628958/article/details/106026027