自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 JAVA——IO框架

框架的形式:一般是把类、接口编译成class形式,再压缩成一个.jar结尾的文件发行出去。IO框架:封装了对java提供的对文件、数据进行操作的代码,提供更遍历的书写方式。框架就是为了解决某类问题,编写的一套类、接口等。大多数框架都是第三方研发的。commons-io:apache开源的。好处: 在框架的基础上开发,提高开发效率。

2024-10-03 16:37:54 404

原创 JAVA——数据流、序列化流

用一个ArrayList集合存储多个对象,然后直接对集合进行序列化即可注意:ArrayList集合已经实现了序列化接口!注意:对象如果要参与序列化,必须实现序列化接口(java.io.Serializable)1. 作用:可以把Java对象进行反序列化:把存储在文件中的Java对象读入到内存中来。1. 作用:可以把Java对象进行序列化,把Java对象存入到文件中去。1. 对象序列化:把java对象写入到文件中去。2. 对象反序列化:把文件里的java对象读出来。如果要一次序列化多个对象,咋整?

2024-09-17 23:26:51 606

原创 JAVA——打印流

1. 作用: 打印流可以实现更方便、更高效的打印数据出去跟着黑马实现一下:printStream 的底层实现效率更高,println输什么就打印什么,效率高;write 可以写字节/字节数组出去指定编码是 Charset.forName("指定字符集编码")

2024-09-17 21:37:22 790

原创 JAVA学习——转换流

引入问题:如果代码编码和被读取的文本文件的编码是不一致的,使用字符流读取文本文件时就会出现乱码!解决方法: 使用字符转换流。

2024-09-16 17:09:44 302

原创 JAVA学习——原始流、缓冲流性能分析

通过先填充缓冲区,然后一次性地处理缓冲区中的数据,缓冲流减少了对底层数据源的直接访问次数,从而提高了性能。:当使用较大的字节数组时,每次从数据源(如文件、网络等)读取或写入的数据量都会相应增加,从而减少了对底层系统(如操作系统)的调用次数。较大的字节数组更容易填满和利用这些缓存,因为它们减少了缓存未命中的次数,从而提高了缓存的命中率。:在处理数据流时,较小的字节数组可能会导致更频繁的内存拷贝操作,因为每次拷贝的数据量较少。这种批量处理方式减少了系统调用的次数和内存拷贝的开销,从而提高了数据处理的效率。

2024-09-16 16:07:50 800

原创 JAVA——IO_缓冲流

缓冲流作用:对原始流进行包装,以提高原始流读写数据的性能。

2024-09-16 14:55:16 377

原创 JAVA —— IO流续

复习一下上次的字节流。

2024-09-10 19:58:02 378

原创 JAVA——API(续)

第二种:创建Comparator比较器接口的匿名内部类对象,自己指定规则。2. 在一段文本中查找满足要求的内容。第一种:使用comparable接口,自己定制规则。作用:1. 校验数据格式是否合法。

2024-09-10 13:23:49 612

原创 JAVA学习——常用API

上图有误:plulsSeconds 、plusNanos是增加时间系列方法,equals、isBefore、isAfter是判断系列的方法。对比一下DateTimeFormatter和 LocalDateTime。旧的 Date 和 Calendar 也可以用,但是建议用新的API。接下来是如何使用这些新增的API。

2024-09-09 09:57:22 793

原创 JAVA学习——IO流

1. I 指Input,称为输入流:负责把数据读到内存中去2. O 指Output,称为输出流:负责写数据出去3. IO流的分类第一种:按流的方向分:输入流和输出流第二种:按流中数据的最小单位分:字节流和字符流总结流的四大类:字节输入流 : 以内存为基准,来自磁盘文件/网络中的数据以字节的形式读入到内存中去的流字节输出流 : 以内存为基准,把内存中的数据以字节写出到磁盘文件或者网络中去的流。字符输入流 : 以内存为基准,来自磁盘文件/网络中的数据以字符的形式读入到内存中去的流。

2024-09-07 00:05:57 1815

原创 JAVA学习——File类

1. 数据长久保存,即使断电也不会丢失:File 是java.io.包下的类,用于代表当前操作系统的文件(可以是文件、或文件夹)3. 主调是一个有内容的文件夹,会把里面的一级文件夹和文件(包含隐藏文件)放到一个File数组中返回;tip: delete 方法默认只能删除文件和空文件夹,删除后的文件不会进入回收站!获取文件大小,文件名,修改时间,判断文件类型,创建文件/文件夹,删除文件/文件夹。1. 当主调是文件,或者是路径不存在,或者没有权限访问该文件夹,返回null;),不能读写文件里存储的数据。

2024-09-06 14:19:14 662

原创 JAVA——JDK8新特性:Stream流

1. 也叫Stream流,是Jdk8开始新增的一套API(java.util.stream.*),可以用于操作集合或者数组的数据。2. Stream流大量的结合了Lambda的语法风格来编程,提供了一种更加强大,更加简单的方式操优势:作集合或者数组中的数据,代码更简洁,可读性更好。

2024-08-17 16:50:18 470

原创 java集合框架(二)——Map集合

Map集合称为双列集合,格式:{key1=value1,key2=value2,key3=value3,…

2024-08-16 17:35:37 2620

原创 java集合框架(一)——Collection补充知识

删除元素的问题:在使用迭代器遍历时,可以直接调用迭代器的 remove 方法来删除当前遍历到的元素,这是安全的,因为迭代器会处理内部状态的更新。2. 由于增强for循环遍历集合就是迭代器遍历集合的简化写法,因此,使用增强for循环遍历集合,又在同时删除集合中的数据时,程序也会出现并发修改异常的错误(没有能够拿到迭代器对象);增强 for 循环是迭代器的语法糖:增强 for 循环背后使用的是迭代器,它自动调用迭代器的next 和 hasNext 方法来遍历集合;好处:常常用来灵活接受数据。

2024-08-16 16:26:13 462

原创 java集合框架(一)—— Set<E>

目录一、 整体概述二、HashSet、LinkedHashSet、TreeSet 的底层原理1. 前置知识2. HashSet 集合的底层原理3. LinkedHashSet的底层逻辑4. TreeSet的底层逻辑5. 总结6. 注意事项:集合的并发修改异常1. 特点:无序:数据的添加顺序和获取出的顺序不一样;不重复;无索引HashSet: 无序、不重复、无索引有序、 不重复、无索引TreeSet:排序、不重复、无索引//多态写法 无序、不重复、无索引。

2024-08-15 00:34:44 1836

原创 java集合框架(一)——List系列集合

4. LinkedList 的应用场景之一:可以用来设计队列(先进先出,后进后出)5. LinkedList 的应用场景之一:可以用来设计栈 (后进先出,先进后出)虽然两者是特点一样,但是底层实现不同,适合场景不同。数据进入栈模型的过程称为: 压/进栈(push)数据离开栈模型的过程称为:弹/出栈(pop)底层采用的数据结构不一样,应用场景不同。分享笔记,查漏补缺,欢迎修改。

2024-08-13 17:26:55 1003

原创 集合框架(一)——Collection集合的遍历方式

1.迭代器(专门用来遍历集合的,数组没有迭代器,java里面迭代器的代表是Iterator)3. Lambda表达式遍历集合。2. 增强for 循环。

2024-08-13 11:23:05 308

原创 java集合框架(一)

集合体系结构:Collection 单列集合——每个元素只有一个值Map 双列集合——每个元素包括两个值(键值对)collection集合体系:Collection<E> (接口)𝐿𝑖𝑠𝑡<𝐸>(接口)𝐴𝑟𝑟𝑎𝑦𝐿𝑖𝑠𝑡<𝐸>𝐿𝑖𝑛𝑘𝑒𝑑𝐿𝑖𝑠𝑡<𝐸>(实现类)𝑆𝑒𝑡<𝐸>接口𝐻𝑎𝑠h𝑆𝑒𝑡<𝐸>——𝐿𝑖𝑛𝑘𝑒𝑑𝐻𝑎h𝑆𝑒𝑡<𝐸>𝑇𝑟𝑒𝑒𝑆𝑒𝑡<𝐸>(实现类)collection集合特点(无特殊说明则按照原特点):1.List系列集合:添加的元素是有序、可重复、有索引。

2024-08-13 00:31:48 174

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除