A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 读书少,表骗我 中级黑马   /  2016-5-27 00:32  /  416 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

60、基本的IO流有哪些?(*面试题)

字节流:InputStream、OutputStream、FileInputStream、FileOutputStream、

字符流:Writer、Reader、FileWriter、FileReader、

高效字节流:BufferedInputStream、BufferedOutputStream

高效字符流:BufferedWriter、BufferedReader

最开始的时候,只有字节流,但是后来由于中文字符或者其他字符的出现,用两个字节才能表示。

如果用字节流也是可以读写字符文件的数据的,但是比较麻烦。为了简化这种操作,就提供了字符流。




61、flush()和close()的区别?(*面试题)

flush():刷新缓冲区,流对象还可以继续使用。

close():释放流资源,但是会先刷新一次缓冲区,操作完毕后,流对象不可以再使用。




62、什么是多线程?进程和线程的区别是什么?

多线程就是应用程序的多条执行路径。

进程:正在运行的应用程序,每个进程的具备独立的运行空间。

线程:是进程的执行单元,执行路径。如果是多个线程,那么,这多个线程共享同一个进程资源。




63、启动线程调用的是run()还是start()方法?run()和start()的区别是什么?(*面试题)

        启动线程调用的是start()
        run()封装了被线程执行的代码,start()是启动线程并调用run()方法。




64、多线程有几种实现方案?分别是什么?如何操作?(*面试题)

        多线程有两种实现,分别是:

        1,继承Thread类
                自定义类继承Thread类,在类中重写run()方法,测试类中创建自定义类对象,并调用start()方法

        2,实现Runnable接口
                自定义类实现Runnable接口,重写run()方法,测试类中创建自定义对象,
                创建Thread对象,把自定义对象作为构造参数传递。调用Thread类的start()方法。




65、线程的生命周期? (*面试题)

        新建:        创建线程对象
        就绪:        具备cup执行资格,没有执行权,随时准备执行
        运行:        具备执行资格,执行权,执行run()中的代码
        堵塞:        是当线程运行到符合某个我们定义的条件时,它会停止下来等待唤醒
        死亡:        run()结束了

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马