java学习日记day28

 

复习:

1.IO -> 对象流

ObjectInputStream/ObjectOutputStream

序列化: 对象 -> 文件[字节]

实现Serializable接口

关键词:

serialVersionUID:版本序列号

transient

反序列: 文件[字节] -> 对象

可读可写的类: RandomAccessFile

模式: r w rw

2.异常:

java.lang.Throwable

|- Error

|- Exception

|- (RuntimeException)运行时异常

a.空指针

b.下标越界

c.类型转换异常

d.不支持的操作

e.非法参数

|- (Exception)已检查异常

a.文件找不到

b.类找不到

c.io异常

d.格式化异常

e.不支持的字符集

解决异常方式:

1.try-catch

2.throws

_________________________________________

程序:是一个指令和数据的有序集合. 例如:电脑上安装好的 QQ,微信...所有的软件

进程:在运行中的程序 -进程是资源分配的最小单位

线程:在进程中[多个同时在执行]的任务 - 线程是cpu的最小调度单位

并行: 指两个或多个事件在同一时刻发生(同时发生)

并发: 指两个或多个事件在同一时间段内发生

_________________________________________

线程类:Thread

1.线程的概念

1).进程中多个同时执行的任务

2).主方法程序运行就是打开一个进程,进程中至少存在一个线程 - 主线程 main

2.自定义线程的方式

1)自定义线程类 - 继承 Thread

a.自定义线程类,继承Thread

b.重写run()

c.创建线程对象

d.start()开启线程

结论: 一个类只能有一个父类,当他继承Thread,这个类就只能是线程类了,有局限性

2).自定义任务类 - 实现Runnable接口

a.自定义类任务类,实现Runnable接口

b.重写run()

c.创建任务类对象

d.通过任务类对象,构造线程对象

e.start()开启线程

结论:

a.类除了可以实现Runnable接口,还可以继承其他类,和实现其他接口,没有太多的局限性

b.在创建相同的任务线程时,任务对象可以重复使用

3).匿名内部类创建线程类 - 结合(1)或(2)

注意: 这不是一种创建方式,只是一种优化写法

3.Thread常用API:

1).currentThread() -> 获取当前线程对象

2).getName() ->获取当前线程对象的名字

3).getPriority() -> 获得线程优先级

setPriority -> 设置线程优先级

注意:

a.范围: 1 ~ 10

数越大,优先级越高

b.优先级只是改变cpu分配时间片的概率

4).isDeamon() -> 询问是不是守护线程

注意:

守护线程 / 前台线程

当所有的前台线程都结束之后,守护线程也会自动结束

java中自带的守护线程 - GC

5).Thread.sleep() -> 线程休眠指定时间

线程同步[线程安全]

线程通信

线程池

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值