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关键字修饰局部变量 ...
随机推荐
- 浅谈学习selenium的一些知识点的总结
学习自动化测试,先得学习一门语言.自动化对语言要求掌握的程度不深,但必须得会基本的入门语法. 我学习的是python2,简单,易懂,上手快. 每天敲就是了. 我的学习路径是: 先学习一段时间pytho ...
- 17、javaWebService,的使用
2. 实质上分三步操作: 创建一个服务器端(电力系统),和一个客户端(人员系统) 第一步:使用服务器端提供的接口,生成.wsdl文件 第二步:使用.wsdl文件,在电力系统中生成服务器端的代码 第三步 ...
- 解决 html5 input type='number' 类型可以输入e
当给 input 设置类型为 number 时,比如,我想限制,只能输入 0-9 的正整数,正则表达式如下: /^[-]?$/ // 匹配 0-9 的整数且只匹配 0 次或 1 次 用正则测试,小数点 ...
- SQL Serve2008的一些操作
今天花了一下午的时间在熟悉SQL serve的一些操作,在此记录下学习到的东西: 首先创建数据库: use master --设置当前数据库为master,以便方便访问表sysdatabases if ...
- Navicat for MySQL使用手记
摘要 在管理MySQL数据库的图形化工具中,最为熟知的就是phpMyAdmin和Mysql-Front了,今天跟大家分享另外一个管理mysql数据库的另外一个利器---Navicat MySQL. N ...
- Linux 下通过mail命令发送邮件
mail -s "测试" 1968089885@foxmail.com 需要先配置smtp服务器
- 2019牛客国庆集训派对day7 A 2016
链接:https://ac.nowcoder.com/acm/problem/52800来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K ...
- Logic回归总结
转自http://blog.csdn.net/dongtingzhizi/article/details/15962797 当我第一遍看完台大的机器学习的视频的时候,我以为我理解了逻辑回归,可后来越看 ...
- SYSTEM_HANDLE_TABLE_ENTRY_INFO
typedef struct _SYSTEM_HANDLE_TABLE_ENTRY_INFO { USHORT UniqueProcessId; USHORT CreatorBackTraceInde ...
- Vue番外篇-路由进阶(一)
Vue的router默认是 export default new Router({ mode: 'history', routes: [ { path: '/', name: 'HelloWorld' ...