java基础

java8变化

  1. 接口默认方法
  2. lamabda
  3. Date/Time API
  4. 反射加强 -parameter method.getParameters() 参数可以带参数名
  5. Stream 流编程
  6. JVM选项-XX:PermSize与-XX:MaxPermSize分别被-XX:MetaSpaceSize与-XX:MaxMetaspaceSize所代替
  7. HashMap头插改尾插 链表变数组

BIO: 阻塞

接收请求 accept 执行请求; 这 只能接收一个请求

接收请求 accept 开启子线程 执行请求 多少个请求就多少个线程

NIO: 非阻塞

特点:任务很快的小任务

一个线程处理多个客户端的IO事件 怎么处理的呢? 多路复用器selector

selector接收请求(非阻塞) 交给对应的事件处理

异常

Throwable 是Error 和 Exception的超类
Error: 内部错误无法捕捉
Exception:

  • CheckedException 受检查异常 必须try catch住 不然编译不通过 IOException
    表示无效,不是程序中可以预测的。比如无效的用户输入,文件不存在,网络或者数据库链接错误。这些都是外在的原因,都不是程序内部可以控制的。
    必须在代码中显式地处理。比如try-catch块处理,或者给所在的方法加上throws说明,将异常抛到调用栈的上一层。
    继承自java.lang.Exception(java.lang.RuntimeException除外)
  • RuntimeException 正常运行异常
posted @ 2021-07-15 14:39  AlbertXe  阅读(25)  评论(0编辑  收藏  举报