1.作业
需要考虑:
(1)写入对象数据到磁盘
(2)从磁盘读取对象数据
(3)对象数据的序列化
(4)对象数据的反序列化
【作业】
User.java
image.png
image.png
Register.java
image.png
image.png
image.png
Login.java
image.png
image.png
image.png
image.png
image.png
2.process(进程)
程序要想在操作系统中运行,就需要一个载体,这个载体就是进程,操作系统是按进程来分配系统资源的。
特征:
动态性;
并发性
独立性
异步性
结构特征:程序、数据、控制块组成。
同一个程序可以运行在多个进程中。
状态:
(1)就绪状态
(2)运行状态
(3)阻塞状态
【案例】当前进程开启另一个进程。
例如写一个程序打开一个记事本程序。
在java中用Process类表示进程。
api:
Runtime.getRuntime().exec(参数);
参数是一个可以执行的程序名称。
项目结构:
image.png
MyTest.java
image.png
注意:
(1)如果在环境变量中已经设置了,可以直接使用名称来作为参数。
(2)如果不在环境变量中设置,参数必须写完整磁盘路径+程序名称。
【案例】打开QQ和浏览器。
3.thread(线程)
是指程序内的调度单位。(操作系统调度资源给进程,进程调度线程)线程是最小的运算单位。一个进程中可以含有多个线程。每个进程至少有一个线程,通常我们把这个线程叫主线程。
线程2个基本类型:
用户级线程:线程定义是由用户定义,线程调用由用户调用。
系统级线程:线程定义是由操作系统定义,线程调用可供用户调用。
4.创建Thread
方法有二:
(1)继承Thread类
步骤:
1)自定义类继承thread
2)重写run方法
3)实例化一个线程
4)启动线程
【案例】
项目结构:
image.png
MyThread.java
image.png
MyTest.java
image.png
日志:
image.png
(2)实现Runnable接口
【作业】给出一个菜单,菜单1表示复制一个大文件(500Mb文件,会卡顿)到一个指定目录;菜单2表示复制一个大文件使用线程来完成(无卡顿)。
提示:如果使用线程的话,将文件复制的代码写入thread的run()方法中。
网友评论