Java学习笔记16--异常】的更多相关文章

异常不同于错误,它是程序运行时产生的未知问题. 如果把程序比喻成一辆汽车,那么汽车开着开着突然前面出现了一个大石头挡住了路,这就叫异常. 那么出现了这个异常我们需要去处理,比如打电话给公路管理局,让它们搬走石头. 如果是汽车的发动机坏了,这叫错误. 即使程序本身没有问题,也会因为各种因素产生异常. java秉承面向对象的思想,将异常也以类和对象的形式存在. 一.异常类的结构 异常和错误都继承于Throwable, 在Exception和Error下面还有许多具体的子类,这个可以自行查阅文档. 这…
package cn.temptation; public class Sample01 { public static void main(String[] args) { /* * 异常:Java程序在运行过程中出现的错误 * * 类 Throwable:Java 语言中所有错误或异常的超类. * 只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出. * 类似地,只有此类或其子类之一才可以是 catch 子句中的参数类型. * * 类 E…
Java的线程支持提供了一些便捷的工具方法,通过这些便捷的工具方法可以很好地控制线程执行.   join线程 Thread提供了让一个线程等待另一个线程完成的方法——join().当在某个线程执行流中调用其他线程的join()方法时,调用线程将被阻塞,直到被join()方法加入的join线程执行完为止. join()方法通常由使用线程的程序调用,以将大问题划分为许多小问题,每个小问题分配一个线程.当所有的小问题都得到处理后,再调用主线程来进一步操作. public class JoinThrea…
当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态,在线程的生命周期中,它要经过新建(New).就绪(Runnable).运行(Running).阻塞(Blocking)和死亡(Dead)5种状态.尤其是当线程启动以后,它不可能一直"霸占"着CPU独自运行,所以CPU需要在多条线程之间切换,于是线程状态也会多次在运行.阻塞之间切换.   新建和就绪状态 当程序使用new关键字创建了一个线程之后,该线程就处于新建状态,此时它和其他的Java对象一样,仅仅由Ja…
Java使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例.每个线程的作用是完成一定的任务,实际上就是执行一段程序流(一段顺序执行的代码).Java使用线程执行体来代表这段程序流.   继承Thread类创建线程类 通过继承Thread类来创建并启动多线程的步骤如下. 1.定义Thread类的子类,并重写该类的run()方法,该run()方法的方法体就代表了线程需要完成的任务.因此把run()方法称为线程执行体. 2.创建Tread子类的实例,即创建了线程对象. 3.…
数据库操作是程序设计中十分重要的一个部分,Java内置JDBC来操作数据库 JDBC使用 JDBC--Java Database connecting Java数据库连接:本质上JDBC定义了操作数据库的一套接口,作为应用程序的开发人员来说只需要创建接口对应的对象即可,而接口的实现由各个数据库厂商去完成.要在应用程序中使用JDBC,需要根据数据库的不同导入对应的jar包. 使用步骤如下: 导入相应jar包 注册驱动 获取数据库连接对象 定义sql语句 获取执行sql语句的对象 执行sql并获取结…
package cn.xiaocangtian.Exception; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class TestException3 { public static void main(String[] args) { String str = new TestException3().openFile();…
总是看到四种权限,这里做一个介绍: 最大权限是public,后面依次是protected,default,private private修饰的只在本类可以使用 public是最大权限,可以跨包使用,不同包的子类和无关类都可以使用,可以修饰类,方法,成员变量 不写权限就是default默认权限:限于本包内使用 protected权限:跨包后的类如果有继承关系(子类),不能使用default修饰的,而可以使用protected修饰的,调用时候必须在子类的里面才可以调用父类的受保护权限,注意prote…
正则表达式: 定义:在pattern类中有简单规则定义,具有特殊含义的字符串: 作用:用于一些字符串,比如验证注册邮箱,密码,用户名等: 正则表达式的语法: 1)字符:'\'反斜杠   \t 代表制表符   \n  换行   \r   回车换行 2)字符类:[abc] a或者b或者c   [^abc] 否定abc   [a-zA-Z] 范围:从小写a-z大写A-Z   [0-9]  任意数字   [0-9a-z_A-Z]  下滑线 3)预定义字符类 :.  任意字符 \d   数字0-9 \w …
异常法停止线程: public class RealInterruptThread extends Thread { @Override public void run() { try { for (int i = 0; i < 5000000; i++) { if (Thread.interrupted()) { System.out.println("Thread is interrupted status, I need exit."); throw new Interru…