
Java
文章平均质量分 53
关于Java的学习和技术分享
悠然境
采菊东篱下,悠然见南山。
展开
-
Java网络编程
Java网络编程原创 2024-01-17 20:08:58 · 739 阅读 · 0 评论 -
Java多线程
Java多线程原创 2024-01-16 21:32:39 · 510 阅读 · 1 评论 -
Java多线程——并发和并行、实现方法
Java多线程——并发和并行、实现方法原创 2024-01-15 19:57:08 · 632 阅读 · 0 评论 -
Java中的IO流④——解压缩流/压缩流、常用工具包
Java中的IO流④——解压缩流/压缩流、常用工具包原创 2023-12-12 19:45:28 · 434 阅读 · 0 评论 -
Java中的IO流③——转换流、序列化流、反序列化流、打印流
Java中的IO流③——转换流、序列化流、反序列化流、打印流原创 2023-12-11 22:56:58 · 438 阅读 · 0 评论 -
Java中的IO流②——字符集、字符流、缓冲流
Java中的IO流②——字符集、字符流、缓冲流原创 2023-12-10 21:41:10 · 182 阅读 · 0 评论 -
Java中的IO流①——IO流的体系、字节流、try...catch异常处理
Java中的IO流①——IO流的体系、字节流、try...catch异常处理原创 2023-12-09 17:45:45 · 437 阅读 · 0 评论 -
Java中的File详细说明
Java中的File详细说明原创 2023-12-05 16:47:29 · 379 阅读 · 0 评论 -
Java中的异常
Java中的异常原创 2023-12-04 13:25:05 · 251 阅读 · 0 评论 -
Java中的Stream流
Java中的Stream流原创 2023-11-30 21:15:47 · 580 阅读 · 0 评论 -
Java中的不可变集合
/传递参数Map集合,是不可变集合则直接返回,不是则变为不可变集合再返回。Map里面的of方法,参数是有上限的,最多只能穿20个参数,10个键值对。原创 2023-11-29 18:22:01 · 305 阅读 · 0 评论 -
Java的Collections集合工具类
【代码】Java的Collections集合工具类。原创 2023-11-24 22:41:49 · 54 阅读 · 1 评论 -
Java中的可变参数
Java中的可变参数原创 2023-11-24 22:24:27 · 86 阅读 · 1 评论 -
Java中的的Map系列集合(双列集合)及其源码分析
Java中双列集合的详细解读原创 2023-11-24 20:31:06 · 266 阅读 · 1 评论 -
Java双列集合Map接口的方法和遍历
put方法细节: 添加/覆盖:在添加数据时,如果键不存在,那么直接把键值对对象添加到Map集合中,然后返回null。4.键+值这个整体 我们称之为“键值对”或者“键值对对象”,在Java中叫做“Entry对象”在添加数据时,如果键存在,那么会把原有的键值对对象覆盖,然后返回被覆盖的值。Map是双列集合最顶层的接口,在其当中定义了双列集合所有的共性方法。Map是双列集合的顶层接口,它的功能是全部双列集合都可以继承使用的。3.键和值是一一对应的,每一个键只能找到自己对应的值。2.键不能重复,值可以重复。原创 2023-11-19 23:01:01 · 252 阅读 · 1 评论 -
Java中Set系列集合
Java中Set集合学习和源码分析原创 2023-11-14 13:48:54 · 149 阅读 · 1 评论 -
数据结构(树)
数据结构-树详解原创 2023-11-12 20:04:58 · 76 阅读 · 0 评论 -
Java泛型深入
泛型的深入了解原创 2023-11-11 17:06:38 · 77 阅读 · 1 评论 -
Iterator迭代器底层源码分析
结论:如何避免并发修改异常:在使用迭代器或者是增强for遍历集合的过程中,不要使用集合的方法添加或者删除元素即可。获取elementData的i索引元素并返回。= expectedModCount,现在集合修改的次数和创建对象时修改的次数。modCount:集合变化的次数,add或者remove方法中modCount会++int lastRet:上一次操作的索引,例如初始是0,前一个就是-1。2.定义i = cursor:记录当前指针指向的索引位置。int cursor:光标:迭代器中的指针(初始为0)原创 2023-11-11 09:56:57 · 63 阅读 · 1 评论 -
LinkedList底层源码分析
4.此时判断l是否为null,此时不为,进入判断体,l.next = newNode,将第一个Node对象的下一个结点地址值赋值为新Node对象的地址值。2.再次创建一个Node对象,此时存放:尾结点地址值(上述Node对象的地址值)、bbb、下一个结点的地址(此时为null)3.堆中开辟一个空间存放Node对象,空间中存放尾结点的地址值此时为null、添加的元素、下一个结点的地址值此时为null。2.通过add方法(添加的元素),再次进入linkLast(添加的元素)方法,原创 2023-11-11 09:54:41 · 56 阅读 · 1 评论 -
ArrayList底层源码分析
2.添加第一个元素时,底层会创建一个新的长度为10的数组,这个数组有个名字叫:elementData。集合底层会再新建一个原数组长度*1.5倍长度的新数组,将原数组元素拷贝进新数组,再添加。5.如果一次添加多个数据,扩容1.5倍也放不下,则新创建数组的长度以实际为准。例如原数组有10个元素,此时要添加100个元素,则新数组长度为:110。3.如果已经添加了10个元素,数组存满了,此时还要继续存元素,1.利用空参创建的集合,在底层创建一个默认长度为0的数组。size:代表集合中元素个数,下次存入的位置。原创 2023-11-11 09:53:27 · 56 阅读 · 0 评论