![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaSE基础
文章平均质量分 76
双非鼠不想输
盲目的引入新的组件,系统会变得更加脆弱
展开
-
常用的函数式接口(Supplier、Consumer、Predicate、Function)
常用的函数式接口(Supplier、Consumer、Predicate、Function)原创 2024-02-23 22:04:39 · 1165 阅读 · 0 评论 -
PriorityQueue优先队列使用的注意事项
PriorityQueue优先队列使用的注意事项原创 2024-01-14 21:08:59 · 441 阅读 · 0 评论 -
List集合遍历过程中修改元素(有坑)
List集合遍历过程中修改元素(有坑)原创 2024-01-14 19:48:38 · 669 阅读 · 0 评论 -
迭代器Iterator和增强for
GOF给出的定义是,提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。迭代器通常被称为“轻量级”对象,因为创建它的代价小。当集合/数组元素存储的是基本类型或String类型时(String类比较特殊,有不可变性),遍历修改元素是不生效的。x 相当于是对所遍历的集合/数组元素的一个拷贝,因为java是值传递,所以。迭代器在Java中的类是 Iterator,迭代器是集合专用的遍历方式。当集合/数组元素存储的是引用类型时,遍历修改元素是生效的。原创 2023-10-22 15:12:33 · 177 阅读 · 0 评论 -
反射、代理模式、注解
二十三种设计模式中的一种,属于结构型模式。它的作用就是通过提供一个代理类,让我们在调用目标 方法的时候,不再是直接对目标方法进行调用,而是通过代理类间接调用。让不属于目标方法核心逻辑 的代码从目标方法中剥离出来——解耦。意义:目标对象只需要关心自己的实现细节,通过代理对象来实现功能的增强,可以扩展目标对象的功能。体现了非常重要的编程思想:不能随便修改源码,如果需要修改源码,通过修改代理的方式来实现功能的拓展。原创 2023-10-18 14:44:04 · 422 阅读 · 0 评论 -
BIO、NIO和AIO
涉及计算机核心(CPU和内存)与其他设备间数据迁移的过程,就是I/O。数据的过程即,反之的过程即。原创 2023-08-15 15:03:51 · 1693 阅读 · 0 评论 -
再谈Java泛型
我们可以对泛型传进来的参数做一些约束,比如说但是在类的泛型声明中不能使用super因为泛型擦除后变为,Object又是所有类型的父类型,所有类型就都可以作为T,这是没有意义的事情二.泛型方法在返回类型的前面加上泛型就可以定义泛型方法,泛型方法参数中可以使用泛型需要注意下面的并不是泛型方法,只是使用了类中的泛型而已。原创 2023-10-12 22:23:29 · 500 阅读 · 0 评论 -
List 集合遍历过程中删除元素
第2次循环时i的值为1,也就是取到了元素”掘金“,这样就导致元素"CSDN"被跳过检查了,所以删除完元素后,我们要修正下下标,这也是上面代码中。第2次循环时i的值为1,也就是取到了元素”CSDN“,不会导致跳过元素,所以不需要修正下标。然后再来看下ArrayList类的Iterator是如何实现的呢?由此可以看出,foreach循环在实际执行时,其实使用的是。看下removeIf()方法的源码,会发现其实底层也是用的。方法获取下一个元素时,第一行代码就是调用了。异常了,翻译成中文就是:并发修改异常。转载 2023-08-24 18:32:59 · 384 阅读 · 0 评论 -
Java8函数式编程(Lambda表达式,Stream流,Optional)
lambda表达式是Java8的一个新特性,从本质上来讲是一个匿名函数可以使用这个匿名函数实现接口中的方法,并且非常简洁。通常来讲,使用 lambda表达式 是为了。关于接口实现,可以有很多种方式来实现。例如L设计接口的实现类、使用匿名内部类。但是lambda表达式比这两种方式都简单。原创 2023-04-23 16:49:48 · 3042 阅读 · 0 评论 -
IO流学习
IO流学习原创 2022-04-14 00:12:11 · 497 阅读 · 1 评论 -
Java网络编程
网络编程可以让程序与网络上的其他设备中的程序进行数据交互。 实操:端口连接和通信数据的规则被称为网络通信协议 实操 UDP通信(服务器可收到多个客户端发的消息,但客户端之间不相通):服务端 客户端TCP通信 TCP通信实操(服务器可收到多个客户端发的消息,但客户端之间不相通,利用线程池优化):服务端 客户端 服务器接受消息的具体实现...原创 2022-04-14 21:58:40 · 3762 阅读 · 0 评论 -
File,字符集基础知识
File类提供了诸如:定位文件,获取文件本身的信息、删除文件、创建文件(文件夹)等功能。File类在包java.io.File下、代表操作系统的文件对象(文件、文件夹)。File封装的对象仅仅是一个路径名,这个路径可以是存在的,也可以是不存在的。在GBK编码中一个汉字占2个字节,在UTF-8编码中一个汉字占3个字节。File对象可以定位文件和文件夹。乱码原因:即编码和解码方式不一致。原创 2022-04-12 21:20:27 · 1074 阅读 · 0 评论 -
Java多线程
Java多线程有关基础知识,从入门到入土原创 2022-04-11 15:15:43 · 1875 阅读 · 0 评论 -
Java异常处理
1.try-catch语句 在Java中,异常通过try-catch语句捕获。其一般语法形式为:2. try-catch-finally语句 try-catch语句还可以包括第三部分,就是finally子句。它表示无论是否出现异常,都应当执行的内容。try-catch-finally语句的一般语法形式为:7.抛出异常1. throws抛出异常如果一个方法可能会出现异常,但没有能力处理这种异常,可以在方法声明处用throws子句来声明抛出异常。 throws语句用在方法定义...原创 2022-04-03 11:06:44 · 1521 阅读 · 0 评论 -
Java集合详解(含JDK8源码)
Java集合底层源码讲解原创 2022-03-29 15:42:36 · 3883 阅读 · 2 评论