Java–异常/Exception–try/catch/finally的return顺序
try块执行
·try中的代码会先执行
·try如果没用抛出异常则正常执行,如果存在return则会返回方法调用的地方
catch块执行
·如果try块中的代码抛出一个异常,与catch字句匹配的异常类型将被捕获并执行相应的catch块内的代码。
·如果catch块中有return语句,将在捕获异常后执行,并返回给调用者
finally块执行:
·不论try块或者catch块是否发生异常或者是否包含有return语句,finally块中的代码总会执行(除非finally块中有通过System.exit()强制退出程序的情况)
·如果try或者catch块有return语句,在return之前会先执行finally中的语句
注意:如果finally中有return语句则会覆盖try块或者catch中的return
字符流和字节流区别
字节流:
1、往往处理文件、视频、图像等
2、使用8字节,基类为InputStream、OutputStream,子类有FileInputStream(文件写入)、FileOutputStream(文件写出流)、ByteArrayInputStream
(从内存字节数组读取)、ByteArrayOutputStream
(向内存字节数组写出)等。)等等
字符流
1、字符流是字节流的封装类、Reader和Writer是所有字符流的基类
2、字符流使用16位Unicode字符为单位进行读写操作,自动进行内部解码、编码等,往往对字符处理会更加方便
总结:字符流是对字节流的封装,字符流更便于对字符进行操作,不需要考虑字节的转换。在处理纯文本的数据时,使用字符流更加方便;而在处理图片、视频、音频等二进制文件使用字节流更加方便。
Jdk8
jdk8特性
1、Stream流、Lambda、时间Api(LocalDateTime))CompletableFuture、接口允许default和Static、