摘要: 一切皆为字节 一切文件数据(文本、图片、视频等)在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此。所以,字节流可以传输任意文件数据。 在操作流的时候,我们要时刻明确,无论使用什么样的流对象,底层传输的始终为二进制数据。 字节输出流_OutputStream类&FileOut 阅读全文
posted @ 2022-07-08 19:37 肥宅快乐水~ 阅读(27) 评论(0) 推荐(0) 编辑
摘要: FileNameFilter过滤器的使用 我们可以使用过滤器来实现 在File类中有两个和ListFiles重载的方法,方法的参数传递的就是过滤器 File[] listFiles(FileFilter filter) java.io.FileFilter接口:用于抽象路径名(File对象)的过滤器 阅读全文
posted @ 2022-07-08 19:36 肥宅快乐水~ 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 综合案例文件搜索 FileFilter过滤器的原理和使用 搜索 复制 阅读全文
posted @ 2022-07-08 19:32 肥宅快乐水~ 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 练习使用递归计算阶乘 练习递归带引多级目录 搜索 复制 阅读全文
posted @ 2022-07-08 19:26 肥宅快乐水~ 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 递归概念&分类&注意事项 递归:方法自己调用自己- 递归的分类:- 递归分为两种,直接递归和间接递归。- 直接递归称为方法自身调用自己。- 间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法。- 注意事项:- 递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。- 在递归 阅读全文
posted @ 2022-07-08 19:18 肥宅快乐水~ 阅读(46) 评论(0) 推荐(0) 编辑
摘要: File类创建删除功能的方法 public boolean createNewFile() :当且仅当具有该名称的文件尚未存在时,创建一个新的空文件。public boolean delete() :删除此抽象路径名表示的文件或目录。public boolean mkdir() :创建此抽象路径名指 阅读全文
posted @ 2022-07-08 14:40 肥宅快乐水~ 阅读(21) 评论(0) 推荐(0) 编辑
摘要: File类获取功能的方法 File类判断功能的方法 File判断功能的方法:boolean exists(); 此file表示的文件或目录是否实际存在boolean isDirector();此file表示的是否为目录boolean isFile();此file表示的是否为文件 搜索 复制 阅读全文
posted @ 2022-07-08 14:30 肥宅快乐水~ 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 绝对路径和相对路径 路径: 绝对路径:是一个完整的路径 以盘符开始的路径 (D:\\demo.txt) 相对路径:是一个简化的路径 相对指的事相对于当前项目的根目录 如果使用当前项目的根目录,路径可以简化书写 注意: 路径是不区分大小写 路径中的文件名称分隔符windows使用反斜杠,反斜杠是转义字 阅读全文
posted @ 2022-07-08 13:45 肥宅快乐水~ 阅读(86) 评论(0) 推荐(0) 编辑
摘要: File的概述 java.io.FiLe类 文件和目录路径名的抽象表示形式。 java把电脑中的文件和文件夹(目录)封装为了一个File类,我们可以使用FiLe类对文件和文件夹进行操作 我们可以使用File类的方法 创建一个文件/文件夹 删除文件/文件夹 获取文件/文件夹 判断文件/文件夹是否存在 阅读全文
posted @ 2022-07-08 13:41 肥宅快乐水~ 阅读(22) 评论(0) 推荐(0) 编辑
摘要: Lambda表达式有参数有返回值的练习(自定义接口) Lambda省略模式&使用前提 Lambda表达式:是可推导,可以省略 凡是根据上下文推导出来的内容,都可以省略书写可以省略的内容: 1.(参数列表):括号中参数列表的数据类型,可以省略不写 2.(参数列表):括号中的参数如果只有一个,那么类型和 阅读全文
posted @ 2022-07-08 13:39 肥宅快乐水~ 阅读(22) 评论(0) 推荐(0) 编辑
摘要: Lambda表达式的无参数无返回值练习 Lambda表达式的有参数有返回值练习 搜索 复制 阅读全文
posted @ 2022-07-08 13:19 肥宅快乐水~ 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 编程思想转换&体验Lambda的更优写法 我们真的希望创建一个匿名内部类对象吗?不。我们只是为了做这件事情而不得不创建一个对象。我们真正希望做的事情是︰ 将run方法体内的l弋码传递给Thread类知晓。 传递一段代码——这才是我们真正的目的。而创建对象只是受限于面向对象语法而不得不采取的一种手段方 阅读全文
posted @ 2022-07-08 13:15 肥宅快乐水~ 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 函数式编程思想概述 在数学中,函数就是有输入量、输出量的一套计算方案,也就是"拿什么东西做什么事情"”。相对而言,面向对象过分强调"必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语法――强调做什么,而不是以什么形式做。 面向对象的思想: 做一件事情,找一个能解决这个事情的对象,调 阅读全文
posted @ 2022-07-08 13:12 肥宅快乐水~ 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 线程池的概念和原理 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时闻。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务? 线程池∶其实就是一个容纳多个线程的 阅读全文
posted @ 2022-07-08 13:08 肥宅快乐水~ 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 等待唤醒机制代码实现-包子类&包子铺类 资源类: 包子类设置包子的属性 皮 陷包子的状态:有true,没有false 包子类 包子铺 吃货类&测试类 吃货类 测试类 搜索 复制 阅读全文
posted @ 2022-07-08 11:09 肥宅快乐水~ 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 等待唤醒机制概述 什么是等待唤醒机制: 这是多个线程间的一种协作机制。谈到线程我们经常想到的是线程间的竞争(race),比如去争夺锁,但这并不是 故事的全部,线程间也会有协作机制。就好比在公司里你和你的同事们,你们可能存在在晋升时的竞争, 但更多时 候你们更多是一起合作以完成某些任务。 就是在一个线 阅读全文
posted @ 2022-07-08 11:06 肥宅快乐水~ 阅读(33) 评论(0) 推荐(0) 编辑
摘要: Object类中wait带参方法和notifyAll方法 进入到Timewaiting(计时等待)有两种方式 1.使用sLeep(long m)方法,在毫秒值结束之后,线程睡醒进入到Runnable/Blocked状态 2.使用wait(long m)方法, wait方法如果在毫秒值结束之后,还没有 阅读全文
posted @ 2022-07-08 11:05 肥宅快乐水~ 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 等待唤醒案例分析 等待唤醒案例实现 等待唤醒案例:线程之间的通信 创建一个顾客线程(消费者):告知老板要的包子的种类和数量,调用wait方法,放弃cpu的执行,进入到wAITING状态(无限等待) 创建一个老板线程(生产者):花了5秒做包子,做好包子之后,调用notify方法,唤醒顾客吃包子 注意: 阅读全文
posted @ 2022-07-08 11:03 肥宅快乐水~ 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 解决线程安全问题Lock锁 java.util.concurrent.locks.Lock`机制提供了比synchronized代码块和synchronized方法更广泛的锁定操作, 同步代码块/同步方法具有的功能Lock都有,除此之外更强大,更体现面向对象。 Lock锁也称同步锁,加锁与释放锁方法 阅读全文
posted @ 2022-07-08 11:01 肥宅快乐水~ 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 解决线程安全问题同步方法 解决线程安全问题的一种方案:使用同步代码块格式: synchronized(锁对象){ 可能会出现线程安全问题的代码(访问了共享数据的代码) } 注意: 1.通过代码块中的锁对象,可以使用任意的对象 2.但是必须保证多个线程使用的锁对象是同一个 3.锁对象作用: 把同步代码 阅读全文
posted @ 2022-07-08 10:41 肥宅快乐水~ 阅读(108) 评论(0) 推荐(0) 编辑