zoukankan      html  css  js  c++  java
  • 异常,集合,I/O流中的一些区别

    一.throw和throws的区别:

            throws  Exception   表明可能抛出的异常

              throw new Exception();手动抛出异常

              throws声明异常    throw抛出异常

              有throw时必须得有throws,如若没有则运行错误   则有throws时不一定要有throw

              抛出异常  是不是首先得声明了有异常     声明异常可以不抛出异常  

    二.error和exception区别:

              error是程序员无法解决的错误,exception是程序员可以解决的错误

     三.运行时异常和checked异常的区别:

            对于异常分为两种:检查异常和非检查异常(运行异常)

            检查异常:编译时被检测的异常(try和catch),编译不通过,检查语法(thow和thows配套使用)

            非检查异常:编译时不被检查的异常

            主要表现在以下两个方面 :

            (1)如何定义方法

            (2)如何处理抛出的异常

    四.字节流和字符流的区别:

       java流在处理上分为字符流和字节流。

       (1)字符流(Writer/Reader)处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串。

       (2)字节流(OutputStream/InputStream)处理单元为1个字节,操作字节和字节数组。

       (3)字节流可用于任何类型

       (4)字符流只能处理字符或者字符串。

       (5)字节流在操作的时候本身是不会用到缓冲区的,是与文件本身直接操作的,所以字节流在操作文件时,即使不关闭资源,文件也能输出。

       (6)字符流在操作的时候是使用到缓冲区的。如果字符流不调用close或flush方法,则不会输出任何内容。 

          所有文件的储存是都是字节(byte)的储存

    五.Java.util有哪些常用的接口和类

          Date时间类、Arrays包含用于操作数组的各种方法、File类、List、Map、Set、ArrayList

    六.Arraylist和Linklist的异同

         1.ArrayList是实现了基于动态数组的数据结构(有下标查询效率高),LinkedList是基于链表结构(无下标插入数据效率高)。

         2.对于随机访问的get和set方法,ArrayList要优于LinkedList,因为LinkedList要移动指针。

         3.对于新增和删除操作add和remove,LinkedList比较占优势,因为ArrayList要移动数据。

    七.list、set、map的异同

        面试题:你说说collection里面有什么子类。

           面试的时候听到这个问题的时候,你要知道,面试官是想考察List,Set

           list和set是实现了collection接口的。

           Set:1.不允许重复对象

               2. 无序容器,你无法保证每个元素的存储顺序,TreeSet通过 Comparator  或者 Comparable 维护了一个排序顺序。

                    3. 只允许一个 null 元素

                    4.Set 接口最流行的几个实现类是 HashSet、LinkedHashSet 以及 TreeSet。最流行的是基于 HashMap 实现的 HashSet;TreeSet 还实现              了           SortedSet 接口,因此 TreeSet 是一个根据其 compare() 和 compareTo() 的定义进行排序的有序容器。

         Map:1.Map不是collection的子接口或者实现类。Map是一个接口。

              2.Map 的 每个 Entry 都持有两个对象,也就是一个键一个值,Map 可能会持有相同的值对象但键对象必须是唯一的。

              3. TreeMap 也通过 Comparator  或者 Comparable 维护了一个排序顺序。

              4. Map 里你可以拥有随意个 null 值但最多只能有一个 null 键。

              5.Map 接口最流行的几个实现类是 HashMap、LinkedHashMap、Hashtable 和 TreeMap。(HashMap、TreeMap最常用)

    八.输入流和输出流的区别:

          输入输出的方向是针对程序而言,向程序中读入数据,就是输入流;从程序中向外写出数据,就是输出流从磁盘、网络、键盘读到内存,就是输入流,用 InputStream 或 Reader写到磁盘、网络、屏幕,都是输出流,用 OuputStream 或 Writerstream结尾都是字节流,reader和writer结尾都是字符流两者的区别就是读写的时候一个是按字节读写,一个是按字符。

          在读写文件需要对内容按行处理,比如比较特定字符,处理某一行数据的时候一般会选择字符流。

          只是读写文件,和文件内容无关的,一般选择字节流。

  • 相关阅读:
    ruby 类库组成
    ruby 数据类型Number
    ruby require的使用
    ruby $LOAD_PATH及类加载
    ruby编码说明
    RubyMine常用快捷键
    基础
    基础
    基础
    基础
  • 原文地址:https://www.cnblogs.com/zhx2654188344/p/12884880.html
Copyright © 2011-2022 走看看