Java开发
文章平均质量分 65
你这个代码我看不懂
以后我们就是朋友了,请多关照!
展开
-
Collectors.groupingBy
假设我们有一个学生列表,每个学生有姓名、年级和分数三个属性,我们希望按照年级对学生进行分组,并且在分组后计算每个年级学生的平均分数。通过一个具体的例子来说明。原创 2024-07-30 14:15:50 · 304 阅读 · 0 评论 -
Java异步
你还可以使用自定义的线程池来执行异步任务,而不是使用默认的。// 创建自定义线程池 ExecutorService executor = Executors . newFixedThreadPool(2);// 使用 supplyAsync 在自定义线程池中异步执行任务 CompletableFuture < String > future = CompletableFuture . supplyAsync(() -> {// 模拟耗时操作 try {原创 2024-07-24 19:36:36 · 541 阅读 · 0 评论 -
.collect(Collectors.groupingBy(dto -> dto.getId()));
是 Java Stream API 中的一个操作,用于将流中的元素根据某个条件进行分组。属性进行分组,分组的结果是一个。:这段代码的作用是将流中的。对象被分组到了一起。原创 2024-07-24 19:19:23 · 139 阅读 · 0 评论 -
设计模式-策略模式
在Java中实现策略模式,可以通过定义一个策略接口和多个具体策略类,然后在上下文类中使用这些策略。原创 2024-07-22 17:17:42 · 585 阅读 · 2 评论 -
Object和?
是一个通配符类型,表示未知的具体类型,它可以匹配任意类型。表示一种不确定的类型,而。,而不能匹配其他类型的。在写法上有什么区别吗?原创 2024-07-19 00:23:16 · 125 阅读 · 0 评论 -
自定义RuntimeException
在 Java 中,自定义异常类是一个常见的需求,特别是当你需要创建特定的业务逻辑异常时。自定义可以让你创建一个不需要显式捕获或声明的异常(即非受检异常)。以下是如何自定义一个继承:创建一个新的类并继承。定义构造函数:根据需要定义不同的构造函数,例如默认构造函数、带消息的构造函数、带消息和原因的构造函数等。try {// 模拟一个异常情况通过自定义,你可以创建特定的业务逻辑异常,使代码更加清晰和易于维护。自定义异常类可以包含额外的信息和方法,以便更好地描述和处理异常情况。不调用。原创 2024-07-18 09:38:01 · 895 阅读 · 0 评论 -
序列化和反序列化
在 Jackson 中,自定义序列化器和反序列化器可以通过继承和类来实现。以下是如何定义和使用自定义序列化器和反序列化器的详细步骤。定义自定义序列化器继承类并重写serialize方法。原创 2024-07-17 14:54:45 · 804 阅读 · 0 评论 -
@SuperBuilder
Lombok 的注解会自动生成构造函数,并在构造函数中为final字段赋值,因此你不需要显式地在代码中为final字段赋值。这是 Lombok 提供的便利之一,使得代码更加简洁和易于维护。原创 2024-07-17 09:38:43 · 263 阅读 · 0 评论 -
Interface中的方法被default修饰
默认方法可以不被重写。如果不重写,类将使用接口中提供的默认实现。如果需要,可以选择重写默认方法以提供特定的实现。原创 2024-07-16 19:00:36 · 262 阅读 · 0 评论 -
@NonNull
是 Spring Framework 提供的一个注解,用于指示某个元素(如字段、方法返回值或参数)不能为。它通常用于提高代码的可读性和可维护性,并帮助工具(如静态分析器)检测潜在的。如果你使用其他注解库(如 Lombok),可以使用 Lombok 提供的。方法,编译器或静态分析工具将会发出警告或错误。以下是一个完整的示例,展示了如何在方法中使用。以下是一个完整的示例,展示了如何在类中使用。虽然不常见,但你也可以在局部变量上使用。在这个示例中,Lombok 的。注解,并在方法中显式地进行。原创 2024-07-16 18:43:52 · 394 阅读 · 0 评论 -
MapUtils.getString
是 Apache Commons Collections 库中的一个方法,用于从Map中安全地获取字符串值。这个方法可以避免直接从Map中获取值时可能出现的,并且可以提供一个默认值。原创 2024-07-16 16:59:41 · 160 阅读 · 0 评论 -
Java String split
Java 中的方法用于将字符串分割成子字符串,并将结果作为字符串数组返回。原创 2024-07-16 16:51:45 · 255 阅读 · 0 评论 -
CopyOnWriteArrayList
线程安全是线程安全的,适用于多线程环境。读写分离:读操作高效,写操作通过复制数组实现线程安全。适用场景:适用于读多写少的场景,写操作频繁的场景下性能较差。通过合理使用,可以在多线程环境中实现高效的读操作,同时保证线程安全。写操作中的锁在执行写操作时使用内部的锁来确保线程安全。每次写操作都会获取锁,复制底层数组,并在修改完成后释放锁。读操作中的无锁机制:读操作不需要加锁,因为读操作直接访问的是一个稳定的、不可变的数组。适用场景适用于读操作频繁、写操作较少的场景,如缓存、白名单等。通过这种设计,原创 2024-07-16 15:00:52 · 1207 阅读 · 0 评论 -
Java线程池
在 Java 中,线程池是并发执行任务的一种有效方式,它通过重用一组现有的线程来执行任务,减少了线程创建和销毁的开销。Java 的 java.util.concurrent 包提供了强大的线程池实现,例如 ThreadPoolExecutor。理解线程池的关键参数,如核心线程数、最大线程数和阻塞系数,对于合理配置和使用线程池至关重要。核心线程数(Core Pool Size)最大线程数(Maximum Pool Size)阻塞系数(Blocking Coefficient)配置建议。原创 2024-07-15 20:21:59 · 741 阅读 · 0 评论 -
CompletableFuture
提供了丰富的 API 来处理异步任务,包括任务的创建、组合、异常处理、超时处理等。通过这些 API,你可以轻松地实现复杂的异步编程逻辑。原创 2024-07-15 16:54:32 · 932 阅读 · 0 评论 -
单例模式场景模拟和问题解决
【代码】单例模式场景模拟和问题解决。原创 2024-07-12 11:34:28 · 403 阅读 · 0 评论 -
Java枚举类
【代码】Java枚举类。原创 2024-07-12 10:40:17 · 111 阅读 · 0 评论 -
Java开发学习笔记
ikun(菜),但java原创 2022-08-23 16:54:31 · 377 阅读 · 0 评论