JAVA面试锦囊(一)

● 实现一个文件拷贝功能时,我们使用字节流还是字符流?

我们拷贝的文件时候,不确定文件是只包含字符流,有可能字节流(图片、声音、图像等),为了考虑到通用性,要使用字节流。

● 说说你对Servlet的理解?

Servlet(Server Applet),全称Java Servlet,是用Java编写的服务器端程序,而这些程序都要实现Servlet这个接口。其主要功能在于交互式的浏览和修改数据,生成动态的web内容,并且Servlet运行于支持Java的应用服务器中。

● 有没有使用过线程并发库?

java.util.concurrent包提供了对线程优化、管理的各项操作。该包提供了线程的运行、线程池的创建、线程生命周期的控制。Java通过executors提供4个静态方法创建线程池。
newCachedThreadPool创建一个可以缓存线程池,如果线程长度超过处理需要,可以灵活回收空闲线程。若无可回收,则创建线程。

newFixedThreadPool创建一个定长线程池。可以控制线程最大并发,超出线程会在队列中等待。

newScheduledThreadPool创建一个定长的线程池,支持定时及周期性任务执行。

newSingleThreadExecutor创建一个单例化的线程池,它只会唯一的工作线程来执行任务,保证所有任务按照指定的顺序执行。
● 线程池的作用?

(1) 限定线程的个数,不会导致由于线程过多而导致系统运行缓慢或崩溃。

(2) 线程池不需要每次去创建或销毁,响应时间更快以及节约了资源。
● 讲一讲线程的几种创建方式?

  • (1) 通过继承Thread类实现一个线程。

  • (2) 通过实现Runnable接口实现一个线程。

注意:继承的扩展性不强,java总只支持单继承,如果一个类继承了Thread就不能继承其他的类了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值