动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网
首页 > 文章

汇总10道Java基础类库面试题及答案

07-01 17:30 350浏览
举报 T字号
  • 大字
  • 中字
  • 小字

作为一名java语言的学习者,我们可以感受到java语言的优点,平台无关性、面向对象、多线程性等,而且它有很多已经实现的类库可以供我们直接使用,这些类库都是以jar包的形式提供的,也可以成为java API,所以今天整理汇总了10道java基础类库面试题及答案,包含为编程者实现各种常用操作的方法,这些库类为程序员编写java程序代码带来了许多方便。   

1.java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?

答:字节流,字符流。字节流继承于Input Stream Output Stream,字符流继承于Reader Writer。在java.io包中还有许多其他的流,低层流与调层流,高层流主要是为了提高性能和使用方便。

2、启动一个线程是用run()还是start()?

答:启动一个线程是调用start()方法,启动线程并调用run方法。

3、线程的基本概念、线程的基本状态以及状态之间的关系是什么?

答:线程是进程内的并发,没有自已内存空间,共享进程的,线程间的通信成本较低。Java中的线程有四种状态分别是:运行、就绪、挂起、结束。

4java多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? stop()和suspend()方法为何不推荐使用?

答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口。

同步的实现方面有两种,分别是synchronized,wait与notify。

反对使用stop(),是因为它不安全。它会解除由线程获取的所有锁定,而且如果对象处于一种不连贯状态,那么其他线程能在那种状态下检查和修改它们。结果很难检查出真正的问题所在。suspend()方法容易发生死锁。调用suspend()的时候,目标线程会停下来,但却仍然持有在这之前获得的锁定。此时,其他任何线程都不能访问锁定的资源,除非被"挂起"的线程恢复运行。对任何线程来说,如果它们想恢复目标线程,同时又试图使用任何一个锁定的资源,就会造成死锁。所以不应该使用suspend(),而应在自己的Thread类中置入一个标志,指出线程应该活动还是挂起。若标志指出线程应该挂起,便用wait()命其进入等待状态。若标志指出线程应当恢复,则用一个notify()重新启动线程。

5、同步和异步有和异同,在什么情况下分别使用他们?举例说明。

答:同步:上一段代码没的完成,下一段必须等到上一段代码完成后才可以执行。如买票排队

异步:上一段代码没的完成,下一段不必等到上一段代码完成就可以执行。如手机发送短信。

6、所知道的线程同步的方法都有什么?

答:HashTable中的put,get,remove,Vector的相关方法。

7、如何列出某个目录下的所有文件?

答:代码如下:

Import java.io.File;
File f=new File("C:\\");
        File[] f1=f.listFiles();
        for(int i=0;i

8、sleep() 和 wait() 有什么区别?

答:Sleep是指休眠给定的时间,当这个时间达到之后,线程会再次醒来。

Wait是等待状态,多长时间不清楚,由另一个线程将其唤醒。

9、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

答:如只其它方法是同步方法,不可以进入。如果不是可以进入。

10、Java集合框架是什么?说出一些集合框架的优点?

答:每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java并发包中,阻塞接口以及它们的实现。集合框架的部分优点如下:

1)使用核心集合类降低开发成本,而非实现我们自己的集合类。

2)随着使用经过严格测试的集合框架类,代码质量会得到提高。

3)通过使用JDK附带的集合类,可以降低代码维护成本。

4)复用性和可操作性。

以上的10道题就是今天为大家整理总结的Java基础类库面试题,比较基础,刚刚接触java的java零基础小白也适用于学习这10道面试题。所以不论是java程序员还是java的初学者,熟练掌握和应用java基础类库是很有必要的。希望大家都可以把上述java基础类库的面试题学会,将来顺利通过面试。

0人推荐
共同学习,写下你的评论
0条评论
我不是黄蓉
程序员我不是黄蓉

5篇文章贡献18558字

作者相关文章更多>

推荐相关文章更多>

Java数据结构

HelloWorld10-31 08:24

浅谈MySQL中SQL优化的常用方法

军哥08-12 23:29

五分钟读懂UML类图

江湖人称小李白12-10 10:41

MyBatis开发框架的四大核心

IT逐梦者08-17 21:43

一次搞定continue,break和return

HelloWorld11-06 11:19

发评论

举报

0/150

取消