Guava极简教程 – Joiner和Splitter

[toc] Guava 介绍 Guava 是 Google 开发的一个开源 Java 库,提供一系列核心功能增强 Java 的标准库。 它包含许多有用的工具和集合类,使 Java 开发更加高效,代码更加简洁、易于维护。 1. 集合工具 , Immutable Collections: Guava 提供了不可变集合(如 ImmutableList,…

hello hello 发布于 2024-10-23

Java 中 @NotNull 和 @Nonnull 之间的区别

在 Java 中,确保某些变量、参数或返回值不是 ‘null’ 对于防止像 ‘NullPointerException’ 这样的运行时错误至关重要。两种常见的注释 ‘@NotNull’ 和 ‘@Nonnull’ 通常用于此目的,但它们的作用和上下文不同。让我们深入了解这两个 annotation 之间的区别。 ‘@NotNull’ (来自…

hello hello 发布于 2024-10-23

如何处理 Java Stream API 中的 Checked Exceptions?

Java 8 Stream API 方法(如 map 、 filter 和 forEach )不允许直接检查异常。 在 Java Stream API 中处理异常可能很棘手,因为 map 、 filter 和 forEach 等典型方法需要不允许检查异常的函数接口。我们不能处理这些,至少不能直接处理。 例如,下面的代码将导致我们的 Stream…

hello hello 发布于 2024-10-22

为什么要优先使用 try-with-resources,而不是 try-finally

一、背景介绍 try-with-resources 是 JDK 7 中引入的一个新的异常处理机制, 它能让开发人员不用显式的释放 try-catch 语句块中使用的资源 。 比如,我们以文件资源拷贝为示例,大家所熟悉的 try-catch-finally 写法如下: public class ResourceTest1 { public static…

hello hello 发布于 2024-10-17

Java解析命令行参数的神器:JCommander

概述 在日常开发中,我们经常需要通过程序入口传递参数。例如,假设你正在开发一个日志处理工具,运行时需要传入日志文件路径和日志级别: java -jar logprocessor.jar /var/logs/app.log DEBUG…

hello hello 发布于 2024-10-16

Java ArrayList 源码分析(一)

前言 如果想要更深入的去了解集合那就要通过我们去分析它的源码来了解它。希望对集合有一个更进一步的理解! 既然是看源码那我们要怎么看一个类的源码呢?这里我推荐的方法是: 1)看继承结构 看这个类的层次结构,处于一个什么位置,可以在自己心里有个大概的了解。 2)看构造方法 在构造方法中,看做了哪些事情,跟踪方法中里面的方法。 3)看常用的方法…

hello hello 发布于 2024-09-30

Java ArrayList 源码分析(二)

2.4、核心方法 2.4.1、add()方法(有四个) 1)boolean add(E);//默认直接在末尾添加元素 /** * Appends the specified element to the end of this list.添加一个特定的元素到list的末尾。 * * @param e element to be appended to…

hello hello 发布于 2024-09-30

Java Linkedlist源码分析(一)

前言 前文分析了ArrayList的源码,这一篇分享的是LinkedList。我们都知道它的底层是由链表实现的,所以我们要明白什么是链表? 一、LinkedList简介 1.1、LinkedList概述 LinkedList是一种可以在任何位置进行高效地插入和移除操作的有序序列,它是基于双向链表实现的。 LinkedList…

hello hello 发布于 2024-09-30

Java 字符串常量池介绍

本文将介绍 HotSpot 中的 String Pool,字符串常量池。相对是一篇比较简单的文章,大家花几分钟就看完了。 在 Java 世界中,构造一个 Java 对象是一个相对比较重的活,而且还需要垃圾回收,而缓存池就是为了缓解这个问题的。 我们来看下基础类型的包装类的缓存,Integer 默认缓存 -128 ~ 127 区间的值,Long 和…

hello hello 发布于 2024-09-01

面试官:concurrentHashMap读取数据需要加锁么?

平常在需要使用一些简单的本地缓存时会用到ConcurrentHashMap,但一直没深入了解过它的原理,之前面试时也有一定几率碰到,回答的总是一知半解的,最近深入的了解一下ConcurrentHashMap的原理,把它完整的梳理成一篇文章。…

hello hello 发布于 2024-08-29
上一页 下一页