乐趣区

关于java:Java从入门到实践编程转Java的真实学习记录Java中级

【Java 从入门到实际】编程大神转 Java 的实在学习记录 –Java 中级
第六局部:异样解决

解决异样:try – catch – finally

抛出异样:throws,throw

throws 与 throw 这两个关键字靠近,不过意义不一样,有如下区别:

  1. throws 呈现在办法申明上,而 throw 通常都呈现在办法体内。
  2. throws 示意出现异常的一种可能性,并不一定会产生这些异样;throw 则是抛出了异样,执行 throw 则肯定抛出了某个异样对象

异样分类:

1、可查异样 CheckedException,如果不解决,编译器不让通过

2、非可查异样(运行时异样 RuntimeException、谬误 Error)

Throwable 类:Exception 和 Error 都继承了该类。所以在捕获的时候,也能够应用 Throwable 进行捕获。异样分 Error 和 Exception,Exception 里又分运行时异样和可查异样

自定义异样:继承自 Exception

抛出自定义异样

第七局部:I/O

第八局部:Lambda

根本应用

办法援用

聚合操作

第九局部:多线程

三种实现形式:继承线程类、Runnable 接口、匿名类

常见线程办法

sleep 以后线程暂停

join 退出到以后线程中

setPriority 线程优先级

yield 长期暂停

setDaemon 守护线程

线程同步

线程平安汇合

死锁

线程交互:Object 办法,wait、notify 和 notifyAll。须要联合 synchronized 应用

线程池:相似生产者消费者,生产的对象是一个个可能运行的工作

  1. 筹备一个工作容器
  2. 一次性启动 10 个 消费者线程
  3. 刚开始工作容器是空的,所以线程都 wait 在下面。
  4. 直到一个内部线程往这个工作容器中扔了一个“工作”,就会有一个消费者线程被唤醒 notify
  5. 这个消费者线程取出“工作”,并且执行这个工作,执行结束后,持续期待下一次工作的到来。
  6. 如果短时间内,有较多的工作退出,那么就会有多个线程被唤醒,去执行这些工作。

Lock 对象

原子拜访

退出移动版