异常

  指的是程序在执行过程中,出现的非正常情况,最终会导致JVM的非正常停止

异常分类:编译异常,运行期异常

异常的产生过程分析

throw关键字:指方法中抛出指定异常

使用格式:throw new xxxException();

注意:1.必须写在方法内部2.new的对象必须是Exception或是Exception子类对象3.throw关键字抛出这个异常,我们就必须处理这个异常

Objects非空判断

  Objects.requireNonNull(对象,信息)

throws关键字:异常处理的第一种方式,交给别人处理

注意:1.必须写在方法声明处2.声明的异常必须是Exception或是Exception子类

try...cash格式

  try{}cash{}

可以使用多个cash处理异常,子类异常要放在父类异常的上面

finally语句块:无论程序有无异常发生,都会执行fianlly语句块

注意:1.不能单独使用,要和try一起使用

子父类异常:父类异常是什么样,子类异常就什么样

Throwable定义了3个异常处理的方法

  String getMessage()  返回次Throwable简短描述

  String toString()  返回次Throwable的详细信息字符串

  void printStackTrace()  JVM打印异常对象信息,全面。

自定义异常类

  public class xxxException extends Exception{

   添加一个无参数的构造方法,

     添加一个带异常信息的构造方法 

  }

多线程:效率高,多个线程之间互不影响

  并发:同一时间段发生,(交替执行)

  并行:同一时刻发生,(同时执行)

  进程:指一个内存中运行的应用程序

  线程:是进程的执行单元

  一个程序运行后有一个进程,一个进程可以有多个线程

线程调度

  分时调度:所有线程轮流使用CPU使用权,平均分配每个线程占用cpu时间

  抢占式调度:优先让优先级高的线程使用CPU

多线程原理

多线程内存分析图

主线程:执行主方法的线程

创建多线程的第一种方式

  1.创建Thread类的子类

  2.重写Thread类的run方法

  3.创建Thread类子类对象

  4.调用Thread的start方法

常用方法

  getName()  获取该线程名称

  currentThread()  返回当前正在执行的线程对象的引用

设置线程的名称

  1.setName()

  2.创建一个带参数的构造方法,参数传递线程名称,调用父类的带参构造方法,把线程名称传递给父类,让父类给子类起一个名字

Runanble接口

  1.创建一个Runable接口的实现类

  2.重写run方法

  3.创建一个Runable接口的实现类对象

  4.创建一个Thread类对象,传递参数为Runable接口实现类对象

  5.调用Thread类中的start方法

好处:1.避免了单继承的局限性2.增强了程序的扩展性,降低了程序的耦合性

匿名内部类实现进程创建

  格式

    new 父类/接口(){

      重写父类/接口方法;

    }

java-day13的更多相关文章

  1. java - day13 - UnionPay

    银行功能实现,主要为抽象类及接口的运用 package com.javatest.bankimple; /* UnionPay */ //银联接口 public interface UnionPay ...

  2. 尚学堂 JAVA Day13 abstract 关键字

    Abstract (抽象的) 这是一个关键字. 可以且只可以 用来修饰 <类> <方法>. 1---Abstract 类 如:Animal,可以被理解一个抽象的类.动物嘛,只是 ...

  3. java - day13 - ImplementDemo

    接口实现.继承等关系的运用案例P.S: 强制转换,看引用变量指向的对象与目标数据间的关系.可运用 "引用变量 instanceof 目标数据" 来判断是否可用强转 package ...

  4. Java 中 常用API概述之 Math, Object, String,StringBuffer类,Arrays,Integer类

    Math Math类包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数. 与StrictMath类的一些数字方法不同,Math类的StrictMath所有Math都没有定义为返回比特位相同 ...

  5. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  6. 【JAVA零基础入门系列】Day13 Java类的继承与多态

    继承是类的一个很重要的特性,什么?你连继承都不知道?你是想气死爸爸好继承爸爸的遗产吗?(滑稽) 开个玩笑,这里的继承跟我们现实生活的中继承还是有很大区别的,一个类可以继承另一个类,继承的内容包括属性跟 ...

  7. 【Java入门提高篇】Day13 Java中的反射机制

    前一段时间一直忙,所以没什么时间写博客,拖了这么久,也该更新更新了.最近看到各种知识付费的推出,感觉是好事,也是坏事,好事是对知识沉淀的认可与推动,坏事是感觉很多人忙于把自己的知识变现,相对的在沉淀上 ...

  8. java基础-day13

    第01天 java面向对象 今日内容介绍 u 继承 u 抽象类 第1章   继承 1.1  继承的概述 在现实生活中,继承一般指的是子女继承父辈的财产.在程序中,继承描述的是事物之间的所属关系,通过继 ...

  9. java 多线程 day13 condition 线程通信

    /** * Created by chengtao on 17/12/5. * Condition 类似 wait和notify,解决线程间的同步问题 */ import java.util.conc ...

  10. Java之路---Day13

    2019-10-28-22:40:14 目录 1.Instanceof关键字 2.Final关键字 2.1Final关键字修饰类 2.2Final关键字修饰成员方法 2.3Final关键字修饰局部变量 ...

随机推荐

  1. anaconda里的python版本回退, requirements

    事情起因:我用的python3.7 , 同事机器学习的部分使用tensorflow,只支持python3.6, 所以我从3.7回退到3.6 conda create -n python36 pytho ...

  2. thinkphp5.1调用七牛云SDK上传文件

    thinkphp5.0 class Upload { public static function image(){ if(empty($_FILES['file']['tmp_name'])){ e ...

  3. html01. <!DOCTYPE html>

    解释 在HTML文档初,往往会有这么一句话<!DOCTYPE html>,它是html5标准网页声明,全称为Document Type HyperText Mark-up Language ...

  4. Codeforces451A-Game With Sticks-思维

    After winning gold and silver in IOI 2014, Akshat and Malvika want to have some fun. Now they are pl ...

  5. Gerrit Handbook for Commercial Project

    前注:常见‘坑’ 不要使用 2.14 版本 gerrit.conf 中 [sendemail] 部分必须有 from = ... 字段,否则无法添加邮箱 gerrit 以用户组为单位划分权限,先将用户 ...

  6. .ssh 别名连接

    参考ssh支持配置 man ssh_config 配置模板 vim ~/.ssh/config Host <别名> Port <机器端口号> IdentityFile < ...

  7. leetcode.字符串.5最长回文子串-Java

    1. 具体题目 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab" ...

  8. SVM-SVR

    高频率的接触到了SVM模型,而且还有使用SVM模型做回归的情况,即SVR.另外考虑到自己从第一次知道这个模型到现在也差不多两年时间了,从最开始的腾云驾雾到现在有了一点直观的认识,花费了不少时间.因此在 ...

  9. 2018-10-31-WPF-在触摸线程等待主线程窗口关闭会让主线程和触摸线程相互等待

    title author date CreateTime categories WPF 在触摸线程等待主线程窗口关闭会让主线程和触摸线程相互等待 lindexi 2018-10-31 9:30:9 + ...

  10. Python 文件名