博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java线程
阅读量:4481 次
发布时间:2019-06-08

本文共 1401 字,大约阅读时间需要 4 分钟。

1.今天主要学习了字符流的操作:Reader/Writer

1.1:实际干活的是FileReader这个类,和FileWriter这个类
1.2:这个字符流也有缓冲:叫做:BufferedReader 和 BufferedWriter
使用方法:
BufferedReader bf=new BufferedReader(new FileReader(File fi));
bf.readLine();
BufferedWriter bu=new BufferedWriter(new FileWriter(File fi));
bu.write("sssss");
注意:这里要进行换行的话要用:/r/n来进行换行

2.I/O的序列化:

2.1:序列化的含义:数据的持久化操作。必须实现Sorializable接口
2.2:用到了: ObjectOutputStream:序列化
ObjectInputStream:反序列化
2.3:使用方法:序列化:
ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream(fi));
out.writeObject(Student stu);
反序列化:
ObjectInputStream in=new ObjectInputStream(new FileInputStream(fi));
Student stu1=(Student) in.readObject();
在这里需要注意一个问题:
那就是如果读到末尾没有停止的话就会报EOFException异常。
2.4:对象里面有对象,只要那一个对象实现Sorializable接口,同样可以被序列化
和反序列化。如果不实现这个接口的话就会报NotSerializableException异常
2.5:一个对象里面的一个属性如果用transient来修饰的话,本属性将不参与序列化
将采用默认值。

3.线程

3.1:线程和进程的区别:
线程:用Thread来修饰。一个进程里面多个线程共享一块CPU,最大化利用CUP
进程:各自用各自的CPU。一个进程可能包含多个线程。
3.2:线程的启动方式:
第一种:extends Thread并重写run()方法,而且执行时候执行start()方法
start方法是继承自父类的。
第二种:实现 implements Runnable接口,并重写run()方法,然后
Thread t=new Thread(类的实例);
t.start();
3.3:Thread的一个方法:.sleep(1000)暂时休眠1秒。
3.4:线程的优先级:MAX Priority最高
MIN Priority最低
一般不进行设置优先级。
3.5:同步处理:
a在使用,别人就不能使用。
关键字:Synchroized
用来修饰被统一使用的资源上,修饰方法,用这个方法的时候,这个类
对象被锁定,运行完了将解锁。
3.6:Synchroized块:
Synchroized(ob1){}
Synchroized(ob2){}
使用ob1时候ob2可以使用但是不能用ob1

转载于:https://www.cnblogs.com/ddiao/archive/2012/07/23/2605742.html

你可能感兴趣的文章
我的个人博客搭建之旅
查看>>
架构漫谈(四):如何做好架构之架构切分
查看>>
通知浏览器下载文件,而不是直接打开下载
查看>>
rabbitmq二进制安装
查看>>
不停服务,动态加载properties资源文件
查看>>
python 模块
查看>>
传球游戏
查看>>
BitmapImage 读取内存流和显示图片
查看>>
你可能需要为你的 App 适配 iOS 11
查看>>
wait/waitpid避免僵尸进程
查看>>
IT项目管理那些事儿
查看>>
Go Web编程(Go语言性能好、语法简单、开发效率高!)
查看>>
2016年3月10日Android实习日记
查看>>
vue & keep-alive & activated
查看>>
Day 3
查看>>
mysql中如何嵌套使用insert和select
查看>>
Linux内核socket优化项
查看>>
MongoDB的安装
查看>>
MySQL运行原理与基础架构
查看>>
.Net 从零开始构建一个框架之基本实体结构与基本仓储构建
查看>>