22
文章平均质量分 81
灰灰是木木
这个作者很懒,什么都没留下…
展开
-
装饰设计模式&缓冲流&转换流&序列化与反序列化
装饰设计模式&缓冲流&转换流&序列化与反序列化- 能够使用字节缓冲流读取数据到程序 1.创建BufferedInputStream对象,构造方法中传递FileInputStream对象 2.使用BufferedInputStream对象中的方法read,以字节的方式读取文件 3.释放资源- 能够使用字节缓冲流写出数据到文件 1.创建BufferedOutputStream对象,构造方法中传递FileOutputStream对象 2.使用BufferedOutputStr原创 2022-02-24 23:30:40 · 208 阅读 · 0 评论 -
字节流&字符流&IO资源处理&Properties&ResourceBundle
字节流&字符流&IO资源处理&Properties&ResourceBundle- 能够使用字节输入流读取数据到程序 //1.创建FileInputStream对象,构造方法中绑定要读取的数据源 FileInputStream fis = new FileInputStream("day15\\a.txt"); //2.FileInputStream对象中的方法read,以字节的方式读取文件 int len = 0; while ((len = fis.read(原创 2022-02-24 23:05:46 · 442 阅读 · 0 评论 -
file&递归&IO
file&递归&IO- 能够说出File对象的创建方式(必须会) 使用构造方法 public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。 public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。 public File(File parent, String child) :从父抽象路径名和子路径名字符串创建新的 File实例原创 2022-02-24 22:50:50 · 153 阅读 · 0 评论 -
Lambda&Stream
Lambda&Stream- 能够掌握Lambda表达式的标准格式与省略格式(重点) 作用:简化函数式接口的匿名内部类 ()->{} (参数)->{重写接口中的抽象方法的方法体} (int a,int b)->{}==>省略数据类型 (a,b)->{} (int a)->{}==>省略数据类型 a->{} a->{只有一行代码}==>a->代码(return ; {} 一起省略)- 能够通过集合、映射或数组方式原创 2022-02-24 22:44:17 · 832 阅读 · 0 评论 -
线程池&死锁&线程状态&定时器
线程池&死锁&线程状态&定时器能够描述Java中线程池运行原理 使用一个容器(集合)存储一些线程 当我们要使用线程的时候,从容器中取出 使用完毕线程,把线程在归还给线程池 可以重复使用线程,可以提高程序的效率,避免了频繁的创建线程和销毁线程能够描述死锁产生的原因 出了两个同步代码块的嵌套 线程一拿着线程二的锁 线程二拿着线程一的锁 两个线程都处于阻塞状态,都不会继续执行能够说出线程6个状态的名称 新建,运行,阻塞,睡眠(计算等待),无限等待,死亡(退出)能够原创 2022-02-23 22:44:08 · 192 阅读 · 0 评论 -
线程安全&并发包
线程安全&并发包能够使用同步代码块解决线程安全问题(重点) synchronized(锁对象){ 访问了共享数据的代码(产生了线程安全问题的代码) }能够使用同步方法解决线程安全问题(重点) 1.把访问了共享数据的代码,提取出来放到一个方法中 2.在方法上添加一个同步关键字synchronized 权限修饰符 synchronized 返回值类型 方法名(参数){ 访问了共享数据的代码(产生了线程安全问题的代码) }能够说明volatile关键字和synchroniz原创 2022-02-23 21:09:50 · 170 阅读 · 0 评论 -
多线程&volatile&原子类
学习目标说出进程和线程的概念 //进程:进入到内存中的程序 //线程:是进程的一部分,一个进程中至少有一个线程,叫单线程程序,一个进程中有多个线程,叫多线程程序能够理解并发与并行的区别 //并发:交替执行 //并行:同时执行能够描述Java中多线程运行原理 //当我们调用start方法,会开启一个新的线程 //结果: 两个线程并发的运行,一个主线程运行:主方法中的代码;一个新的线程:运行run方法中的代码 //两个线程一起抢夺cpu的执行权,哪个抢到了,哪个线程运行==>随机性结果原创 2022-02-23 14:11:36 · 359 阅读 · 0 评论 -
选择排序&二分查找&异常
选择排序&二分查找&异常能够理解选择排序的执行原理 选择排序:使用数组中的元素依次和其他的元素比较,把小的值往前放能够理解二分查找的执行原理 使用公式:mid = (min+max)/2; 使用被查找的元素和中间索引指向的元素比较,循环执行的条件 min<=max 1.被查找的元素>中间指针执向的元素 min = mid+1; 2.被查找的元素<中间指针执向的元素 max = mid-1; 3.被查找的元素==中间指针执向的元素 找到了,返回mid能够辨别原创 2022-02-23 10:54:47 · 421 阅读 · 0 评论 -
map集合&冒泡排序
map集合&冒泡排序能够说出Map集合特点 1.Map集合是一个双列集合,每个元素包含两个值,一个key一个value 2.Map集合中的key是不允许重复的,value可以重复 3.Map集合中一个key只能对应一个value值 4.Map集合中key和value数据类型是可以相同的,也可以不同使用Map集合添加方法保存数据 V put(K key, V value) 把指定的键与值添加到Map集合中 返回值:V(值) key不重复,返回值就是null key重复,会使用原创 2022-02-22 17:03:09 · 842 阅读 · 0 评论 -
List接口&Collection类&Set接口
List接口&Collection类&Set接口能够说出List集合特点 1.有序 2.允许存储重复的元素 3.有带索引的特有方法(练习 add,remove,set,get)能够使用集合工具类 Collections类: static void sort(List<T> list) 根据元素的自然顺序 对指定列表按升序进行排序。 static <T> void sort(List<T> list, Comparator&l原创 2022-02-22 16:44:07 · 457 阅读 · 0 评论 -
Collection集合&Iterator迭代器&泛型
**Collection、Iterator、泛型、数据结构能够说出集合与数组的区别 数组: 1.是引用数据类型的一种,可以存储多个元素 2.数组的长度是固定的 int[] arr1 = new int[10]; int[] arr2 = {1,2,3}; 3.数组即可以存储基本类型的数据,又可以存储引用数据类型的数据 int[],double[],String[],Student[] 集合: 1.是引用数据类型的一种,可以存储多个元素 2.集合的长度是可以变化的(可以往集原创 2022-02-22 16:36:34 · 508 阅读 · 0 评论