java-day13
异常
指的是程序在执行过程中,出现的非正常情况,最终会导致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的更多相关文章
- java - day13 - UnionPay
银行功能实现,主要为抽象类及接口的运用 package com.javatest.bankimple; /* UnionPay */ //银联接口 public interface UnionPay ...
- 尚学堂 JAVA Day13 abstract 关键字
Abstract (抽象的) 这是一个关键字. 可以且只可以 用来修饰 <类> <方法>. 1---Abstract 类 如:Animal,可以被理解一个抽象的类.动物嘛,只是 ...
- java - day13 - ImplementDemo
接口实现.继承等关系的运用案例P.S: 强制转换,看引用变量指向的对象与目标数据间的关系.可运用 "引用变量 instanceof 目标数据" 来判断是否可用强转 package ...
- Java 中 常用API概述之 Math, Object, String,StringBuffer类,Arrays,Integer类
Math Math类包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数. 与StrictMath类的一些数字方法不同,Math类的StrictMath所有Math都没有定义为返回比特位相同 ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 【JAVA零基础入门系列】Day13 Java类的继承与多态
继承是类的一个很重要的特性,什么?你连继承都不知道?你是想气死爸爸好继承爸爸的遗产吗?(滑稽) 开个玩笑,这里的继承跟我们现实生活的中继承还是有很大区别的,一个类可以继承另一个类,继承的内容包括属性跟 ...
- 【Java入门提高篇】Day13 Java中的反射机制
前一段时间一直忙,所以没什么时间写博客,拖了这么久,也该更新更新了.最近看到各种知识付费的推出,感觉是好事,也是坏事,好事是对知识沉淀的认可与推动,坏事是感觉很多人忙于把自己的知识变现,相对的在沉淀上 ...
- java基础-day13
第01天 java面向对象 今日内容介绍 u 继承 u 抽象类 第1章 继承 1.1 继承的概述 在现实生活中,继承一般指的是子女继承父辈的财产.在程序中,继承描述的是事物之间的所属关系,通过继 ...
- java 多线程 day13 condition 线程通信
/** * Created by chengtao on 17/12/5. * Condition 类似 wait和notify,解决线程间的同步问题 */ import java.util.conc ...
- Java之路---Day13
2019-10-28-22:40:14 目录 1.Instanceof关键字 2.Final关键字 2.1Final关键字修饰类 2.2Final关键字修饰成员方法 2.3Final关键字修饰局部变量 ...
随机推荐
- [20190725NOIP模拟测试8]题解
Orz T1 大水题,考场上看到题目中什么前几位相同末尾加字母莫名慌的一批 后来发现直接无脑哈希就能$O(n)$ KMP同样可切 仔细读题,数组别开小 #include<cstdio> # ...
- “今日头条杯”首届湖北省大学程序设计竞赛--F. Flower Road
题目链接:点这 github链接:(包含数据和代码,题解):点这 链接:https://www.nowcoder.com/acm/contest/104/E来源:牛客网 题目描述 (受限于评测机,此题 ...
- js中的函数声明和函数表达式的区别
目录 一.声明与表达式的格式 1.1 声明式的格式: 1.2 表达式的格式: 二.区别 2.1 函数表达式可以直接在后面加括号执行,而函数声明不可以. 2.2 函数表达式可以被提前解析出来 2.3 命 ...
- Python练习题中做错题目
1,一下代码执行的结果为 a = b = "julyedu.com" a = 'AI 教育' print(b) 答案: julyedu.com 要点: 在python中, 不可变对 ...
- jQuery 1.0 | 选择器 | 事件 | 操作样式 | 操作属性
使用jQuery: 1,下载jQuery http://jquery.com/download/ 2,引入jQuery文件 3,定义入口函数 <script src="jquery-1 ...
- pytest-mark跳过
import pytestimport sysenvironment='android' @pytest.mark.skipif(environment=="android",re ...
- 格式化抽象本地地址(实战linux socket编程)
格式化抽象本地地址传统AF_UNIX套接口名字的麻烦之一就在于总是调用文件系统对象.这不是必须的,而且也不方便.如果原始的文件系统对象并没有删除,而在bind调用时使用相同的文件名,名字赋值就会失败. ...
- TFS中的账号和GIT中的账号
有些公司使用TFS来进行git的管理,这个时候很多人没有区分TFS中的账号和GIT的账号的区别:TFS的账号和GIT账号是两套不同的体系,使用TFS管理GIT GIT是不需要账号密码,但是必须在win ...
- echarts图表自适应,容器宽度设置为百分比,但是图表显示不全,缩到一起
<div id="chartContainer" style="height:100%;width:100%;"></div> cha ...
- Laravel Class 'Doctrine\DBAL\Driver\PDOMySql\Driver' not found
Laravel: 5.5.* 在迁移中有重命名操作的时候,运行 php artisan migrate 会提示 Class 'Doctrine\DBAL\Driver\PDOMySql\Driver' ...