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关键字修饰局部变量 ...
随机推荐
- TeleportArea可瞬移的目标位置
TeleportArea.png 1.可以自定义mesh ,想要什么区域就可以设置什么区域的mesh网格.2.Collider 组件必须有,否则无法进行位置移动,它用来检测激光笔是否打到该区域.3.M ...
- 您应升级到 MySQL 5.5.0 或更高版本。 phpmyadmin
最近又折腾LAMP了.从官方下载的phpmyadmin在部署的时候发现 “您应升级到 MySQL 5.5.0 或更高版本”.原因是我安装的mysql数据库版本过低. 解决思路: 1.升级mysql版本 ...
- 介绍Win7 win8 上Java环境的配置
① windows 上的 java 环境搭建:(同时适合xp,vasta,win7,win8,win8.1) ② linux 上的java环境搭建(同时适合linux,unix,mac): 本文主要适 ...
- jQuery 封装的ajax
jquery封装的ajax 具体操作: $.get(url [,data] [,fn回调函数] [, dataType]); data:给服务器传递的数据,请求字符串 .json对象 都可以设 ...
- 18、Linux命令对服务器CPU进行监控
我刚开始做性能测试的时候,什么也不懂,就只知道压测.什么时候把系统压瘫痪什么时候结束.但是系统因为什么瘫痪却不是很清楚,后来开始研究服务器性能监控,运用到工作中,提高了不少生产力,下面就把我常用的命令 ...
- Mentor_丝印检查——手工绘制丝印线条(标注)到丝印位号距离的检查
http://www.eda365.com/thread-193942-1-1.html 在此之前丝印的检查基本是停留在丝印与阻焊的距离检查,而器件丝印框和手工绘制的线条与器件位号的检查都不到位,据我 ...
- HDU 6628 permutation 1 (暴力)
2019 杭电多校 5 1005 题目链接:HDU 6628 比赛链接:2019 Multi-University Training Contest 5 Problem Description A s ...
- error C3867: “std::basic_string<char,std::char_traits<char>,std::allocator<char>>::c_str”: 函数调用缺少参数列表;请使用“&std::basic_string<char,std::char_traits<char>,std::allocator<char>>::c_str”创建指向成员的指针
这个问题找了很多没有找到满意的答案.仔细看了一下,是使用了c_str的问题. 我直接把使用string.c_str的地方使用char*代替即解决问题.
- 前端(十八)—— jQuery高级操作:选择器、文本属性与类、事件、文档操作、动画、结构关系
JQ选择器.文本属性与类.事件.文档操作.动画.结构关系 可参考jQuery的API文档 一.选择器 1.css语法匹配 标签 | 类 | id | 交集 群组 | 后代 | 兄弟 伪类 | 属性 $ ...
- jquery 弥补ie6不支持input:hover状态
<!doctype html><html> <head> <meta charset="utf-8"> <t ...