乐趣区

关于java:day16

Throwable 体系

Error: 不能解决,只能防止。如:为了避免得口腔癌,只有少吃槟榔就能防止口腔癌。
Exception: 会使程序无奈持续运行,必须要解决。如:得了病就要去治。

public void printStackTrace(): 打印异样的详细信息。

public String getMessage(): 获取产生异样的起因。

public String toString(): 获取异样的类型和异样形容信息(不必)

捕获异样

捕捉异样:Java 中对异样有针对性的语句进行捕捉,能够对呈现的异样进行指定形式的解决。

try:该代码块中编写可能产生异样的代码。

catch:用来进行某种异样的捕捉,实现对捕捉到的异样进行解决。

try{编写可能会出现异常的代码}catch(异样类型  e){
     解决异样的代码
     // 记录日志 / 打印异样信息 / 持续抛出异样
}

举例 1:

public class TryCatchDemo{public static void main(String[] args){
        try{int [] nub2 = {1,2,3};
        System.out.println(arr1[4]);
        }catch(ArrayIndexOutOfBoundsException e){
        // 打印异样信息
        e.printStackTrace();}
}

异样的解决
public class Yichang{
public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);
    int bun1 = scanner.nextInt();
    int bun2 = scanner.nextInt();
    try{sum(bun1,bun2);
    }catch (ArithmeticException e){throw new ArithmeticException("哥们,你错了,除数不能为 0");
    }
    System.out.println("8765");
}
    public static void sum (int bun1, int bun2){System.out.println(bun1 / bun2);
    }

}

留神:

throw用在办法内 ,用来抛出一个异样对象,将这个异样对象传递到调用者处,并完结以后办法的执行。
如: 如果有一个粉笔盒,要从粉笔盒里拿进去,但粉笔可能会短,throw 管他会不会断,间接不解决。

关键字 throws 使用于办法申明之上, 用于示意以后办法不解决异样, 而是揭示该办法的调用者来解决异样 (抛出异样).
如: 是为了避免粉笔拿进去会断,会采取措施,让他一直。

finally 的语法

try…catch….finally: 本身须要解决异样, 最终还得敞开资源。

留神:finally 不能独自应用。

举例:

public class Dom2 {public static void main(String[] args) {
        try{read("a.txt");
        } catch (FileNotFoundException e) {throw new RuntimeException("你吃屁");
        }finally {System.out.println("会执行");
        }
        System.out.println("lll");
    }
    public static void read(String path) throws FileNotFoundException {if(!path.equals("a.txt")){ }
        throw new FileNotFoundException("文件不存在");
    }
}

并发与并行

并发:指两个或多个事件在 同一个时间段内 产生。

举例:
就如同一个人在 5 分钟之内先上厕所再玩手机而后又上厕所又玩手机.

并行:指两个或多个事件在 同一时刻 产生(同时产生)。

举例:
一个人在上厕所时同时也玩手机。

过程

利用下的后盾的软件和没一行都是一个过程

线程

能够说是过程的子类

线程调度

分时调度: 如果在 Google 里创立俩个标签页,先在一个标签页里玩小恐龙,而后又在另一个标签页里关上百度网站,当我按到百度里去的时候,小恐龙的网页会进行,就相当于每次只能执行一个网页(有些时候在看俩个网站,当再看其中一个网站时候,忽然没网络了,本人在看的网站因没网就真在加载在转,而另外一个没有执行的网页也在转,而后有网的时候,正在执行的加载好了,而另一个没有执行的网站也加载好了,尽管说只能执行一个,但在后盾始终在俩网页里切换,所以就显示出是俩个都在运行)

创立线程类
Java 中通过继承 Thread 类来 创立 启动多线程 的步骤如下:

  1. 定义 Thread 类的子类,并重写该类的 run()办法,该 run()办法的办法体就代表了线程须要实现的工作, 因而把 run()办法称为线程执行体。
  2. 创立 Thread 子类的实例,即创立了线程对象
  3. 调用线程对象的 start()办法来启动该线程

举例:
测试类

public class Dom4{public static void main(String[] args) {Chenglihao chenglihao = new Chenglihao("机器人");
        chenglihao.setName("管理员 1");
        chenglihao.start();}
}

ThreadRunnable 的区别
Thread 是一个类,是属于并发
例: 如果创立一个狗的对象,它继承了 Thread,而后又想要把它归属动物类,但又只能抉择一个
Runnable 是一个接口,它能够实现 Runnalble 接口,也能够归属于动物类。

退出移动版