- 博客(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——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
空空如也
为什么window更新一直更新不了
2025-03-31
动态规划之活动选择加权问题
2024-10-14
算法学习刷题疑惑之一
2024-09-02
洛谷p1055 问题提问
2024-05-03
搭建博客时候遇到的困难
2024-05-01
搭建个人博客问题求解答
2024-04-29
css为什么遇见这个情况
2024-01-30
一个头疼的围圈C语言 问解答
2023-12-18
为什么第一个输出是2 不是1吗
2023-12-18
为什么*(p+1)和p[1]输出是3
2023-12-16
为什么说正在从'c'读取无效数据和未初始化内存c
2023-12-10
为什么vs说从'c'读取无效数据
2023-12-09
华硕无畏pro15win11怎么解决这个问题,是系统坏了吗
2023-12-04
跟我想要的结果不一样是咋回事
2023-12-02
为什么运行结果都是素数
2023-11-29
为什么在dev和codeblock运行结果不一样
2023-11-12
无论输入什么结果都是0是为啥
2023-11-11
不知道怎么写的一个c语言
2023-11-05
pta一直测试过不了
2023-10-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人