序列化和反序列化、线程

1、序列化和反序列化的定义:

    (1)Java序列化就是指把Java对象转换为字节序列的过程
        Java反序列化就是指把字节序列恢复为Java对象的过程。
   (2)序列化最重要的作用:在传递和保存对象时.保证对象的完整性和可传递性。
	   对象转换为有序字节流,以便在网络上传输或者保存在本地文件中。
	   反序列化的最重要的作用:根据字节流中保存的对象状态及描述信息,通过反序列化重建对象。
	   总结:核心作用就是对象状态的保存和重建。

2、进程是什么:进程是正在进行的程序

3、线程是什么:

	线程是在进程中,实现不同功能的一段代码,多个线程会实现多个不同的功能

4、进程和线程有什么区别:

	一个进程可以有多个线程,一条线程只能属于一个进程

5、实现线程的方式

	1.实现Runnable接口
	2.继承Thread类

6、每一个进程都至少存在一条线程,就是主线程,线程之间相互独立存在,依靠cpu的调度来执行

7、线程的生命周期

	1.新建状态:创建线程对象的时候
			Thread t = new Thread(mt)
	2.就绪状态:当前线程开启的时候(调用start方法,间接调用run方法)
			t.start();
			就绪状态的时候,才会得到cpu分配的时间片
	3.运行状态:当某条线程被分配到时间片而执行的时候,其他线程进入等待状态(就绪)
	4.阻塞状态:当某条线程被执行了sleep或者wait方法的时候,cpu的时间片会分配给其他已就绪的线程
	5.销毁状态:线程结束

在这里插入图片描述

	6.设置线程类型
			1.用户线程、前台线程
			2.守护线程、后台线程
					当前台线程全部结束的时候,后台线程自动结束
			setDaemon(boolean)  true则为后台,false则为前台,默认是false
	7.设置线程的优先级
			范围:1-10  10最优先
			优先级的概念是当所有线程处于就绪状态时,cpu更有可能把时间片分配给优先级更好的线程			
			但并不代表优先级更低的线程不会被分配时间片
	8.线程同步
			同步就是让多条线程在访问共享资源的时候自动排队
			只有第一个访问过后,第二个才能访问
			实现线程同步的关键字叫synchronized
			synchronized有两种使用方式
			1.同步块
				synchronized(对象){需要同步的代码}
			2.同步方法
				在方法声明的返回值前面,添加sychronized关键字,使该方法被某条线程访问时,同步
	9.死锁
			多个线程互相锁着其他线程想要的共享的资源
	10、线程间通讯
			主要体现在三个方法中,wait,notify,notifyAll
			这三个方法属于Object
			wait: 无参:一直保持等待的状态,直到该线程被唤醒(notify)
			notify: 唤醒一条正在等待的线程
			notifyAll: 唤醒所有正在等待的线程
	11、wait和sleep的区别
			1.所属不同,wait属于Object,sleep属于Thread
			2.wait会释放同步锁,sleep不会释放同步锁
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值