欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

大爷的面试刷题 2019/12/11

程序员文章站 2022-03-13 23:43:10
...
  1. java 中 IO 流分为几种?
    输出流和输入流
    字节流和字符流
    节点流和处理流

答案
按功能来分:输入流(input)、输出流(output)。

按类型来分:字节流和字符流。

字节流和字符流的区别是:字节流按 8 位传输以字节为单位输入输出数据,字符流按 16 位传输以字符为单位输入输出数据。

  1. BIO、NIO、AIO 有什么区别?
    答案
    BIO:Block IO 同步阻塞式 IO,就是我们平常使用的传统 IO,它的特点是模式简单使用方便,并发处理能力低。
    NIO:New IO 同步非阻塞 IO,是传统 IO 的升级,客户端和服务器端通过 Channel(通道)通讯,实现了多路复用。
    AIO:Asynchronous IO 是 NIO 的升级,也叫 NIO2,实现了异步非堵塞 IO ,异步 IO 的操作基于事件和回调机制。mark

  2. Files的常用方法都有哪些?

Files.exists():检测文件路径是否存在。
Files.createFile():创建文件。
Files.createDirectory():创建文件夹。
Files.delete():删除一个文件或目录。
Files.copy():复制文件。
Files.move():移动文件。
Files.size():查看文件个数。
Files.read():读取文件。
Files.write():写入文件。
Files类不同于File类,此类不可被实例化,所有方法都是静态方法,类似于Math对象,小心搞混

try {
            System.out.println(Files.size(Paths.get("D:\\JavaUtils\\Lombok\\lombok.jar")));
            //1763775

        } catch (IOException e) {
            e.printStackTrace();
        }

大概试了一下,用法大概这样子

第一模块完

  1. java 容器都有哪些?
    此问题大概等于问集合有哪几个类
    List,Set,Map,Queue
    其中接口List,Set,Queue都是实现于Collection
    List类集合内容是可重复,相对有序排列的
    Set类集合内容是不可重复,相对无序排列的
    Queue类集合是一个队列,
    Map类则是键值对,每个key对应一个value,一个value可以对应多个key
    下图的虚线边框是接口,实线是类
    Vector是一个线程安全的类,但是比较古老
    ArrayList用的比较多,底层用数组实现,用的时候最好一次性给它自己想要的大小,不然扩容比较耗资源
    LinkedList是链式集合,添加对象和删除对象相对ArrayList来说耗资源更少,但是随机访问集合内容耗资源比ArrayList集合多,因为需要获得index,依次遍历过去,而ArrayList本身以有index
    HashSet没什么好说的,判断同一个对象的依据是equals的返回值true和hashcode的值是否相等,如果判断是同一个对象就不可以添加进集合
    TreeSet是一个自排列集合,用之前需要声明储存对象,储存对象需要实现Comparable接口,然后重写compareTo方法,
public int compareTo(Object o) {
		//需要比较的数值,返回-1表示排左边,靠前,返回1表示排右边,靠后,返回0表示相同
        if (this.getPrice()>o.getPrice())
        {
            return -1;
        }
        else if (this.getPrice()<o.getPrice())
        {
            return 1;
        }else {
            return 0;
        }
    }

还有一个定制排序

TreeSet<Phone2> treeSet4=new TreeSet<Phone2>((o1, o2) -> {
            return o1.getPrice()>o2.getPrice()?1:o1.getPrice()==o2.getPrice()?0:-1;
        });
//直接在实例化对象的时候,输入参数重写compare方法,决定排序根据的数值和大小

大爷的面试刷题 2019/12/11
下课了,回宿舍打游戏

相关标签: 刷题