实现接口,重写方法,treeset只能放同一个数据类型的方法。
compareTo方法,comparable接口。
comparator比较器,匿名内部类,重写compare方法。o2-o1,倒序。
0,不变。1,往前放。-1,往后放。方法重写过,靠数值进行排序。
提前序列化。
file dictionary字典,数字和代表的意思互相查询,上课闲谈,前端查字典
1.isfile
2.isdirectory
3.exists是否存在
4.mkdir创建目录,只能创建一级目录
5.mkdirs创建文件
6.createNewFile,文件夹不存在不创建,文件存在不创建
7.delete,删除文件,或者只能删除空的文件夹
目标:文件夹的访问,文件的递归复制
主要是什么时候调用递归方法
1.IO流
2.创建文件
3.判断是文件还是文件夹
4.不是文件夹listfiles
5.是递归复制
6.文件
直接写,直接读,会在new的时候覆盖也就是清空。如果追加就不消失。只new,但是要是读写会一直不停
目标:多线程
并发和并行
一个Java线程至少有三个线程。
主线程,垃圾回收线程,异常处理线程(守护线程)
线程的创建和使用
Thread
1.创建一个空白
2.传实例名
3.传runnable的子类对象
创建过程
1.单继承Thread
重写run
2.实现runnable(实现)
重写run抽象方法
使用newthread,的构造方法,然后就可以,传new子类对象
创建好了,然后就可以start和run
用父类的start方法。这个方法会调用run方法
框架的时候更加方便。
疫情终究会结束,我就不信了。未来一定会美好,机会是留给有准备的人。我应该改变了,我的人生,要我来控制。我的人生。还有四个月。
this.set 设置优先级get得到优先级
current获取当前线程类,设置线程
继承父线程的优先级
this.getname。
this.setname.
sleep沉睡有异常需要处理
吵醒,需要抛异常
多线程
线程控制
1.join,stop关闭线程被废弃,yied
2.继承,
合并,看谁先走。先执行子线程?
让位
静态方法谁调用谁让位
同优先级让位,不同优先级不让位不让位。
线程同步,线程异步
同步,都用继承
1.加一个synchrl,变成同步方法
执行枷锁的成员方法,也被所著
加锁的同时被锁也被锁住,其他。
枷锁的静态方法也备锁
都枷锁的时候会有问题,死锁。
2.同步代码块
只是在这两行,对象,在方法里把代码块枷锁
1.写在成员方法中,要写this(),对象传进去,类名,类名.class
慢
自己上锁,觉得自己不好。
LOCK
lock对象
应该先获取对象
reentantlock是
lock.lock
lock.unlock
只有代码块锁
多线程场景就少
定时器
一直访问,闪烁
对自己负责
任务类
先定义任务类
继承一个类timetask实现run方法
想要干什么,
创建一个定时器
什么时候做,geduochang时间
多态的进行
newdata ,system
异步,调用方法开启了子线程
先确定task
定时器
嵌套重复容易死锁
wait,notify唤醒,notifyall唤醒
锁里面用,有锁对象用
交替打印
自己唤醒
线程通信,
wait
随机唤醒notify
notify all