Java
文章平均质量分 71
本专栏用于分享关于Java的学习笔记、知识点总结、学习研究、个人思考等内容。
訾博ZiBo
慢慢学,不要停。
展开
-
使用 @ExtensionMethod 注解简化从 Map<String, Object> 中获取 Integer 和 Long 类型的值
通过使用 Lombok 的注解,我们可以为现有类添加扩展方法,从而简化代码并提高可读性。在本文中,我们创建了一个实用的工具类MyMapUtils,并使用将其方法作为的扩展方法使用,使得从 Map 中获取特定类型的值变得更加简单和直观。这种方法不仅减少了代码冗余,还提高了代码的可维护性,是我们在日常开发中可以考虑采用的一种技巧。原创 2024-08-25 12:18:23 · 386 阅读 · 0 评论 -
Java对象转换器:实现多类型转换为Integer和Long
类是一个工具类,旨在通过使用Map和Function接口来提供灵活的对象转换机制。它的主要功能是将不同类型的对象转换为Integer和Long,并使用Optional包装结果,以处理转换失败的情况。类通过使用Map和Function接口,提供了一种灵活且可扩展的方式来处理对象到数值类型的转换。通过返回Optional,有效地处理了转换失败的情况,避免了。原创 2024-08-25 11:22:35 · 299 阅读 · 0 评论 -
探索Java Bean验证:深入理解@Max和@Size注解
Max是一个约束注解,用于验证数值类型的字段或属性的最大值。它确保字段的值不超过指定的最大值。@Size注解用于验证集合、数组、字符串等类型的元素数量或长度。它可以指定允许的最小和最大大小/长度。原创 2024-08-12 11:21:02 · 523 阅读 · 0 评论 -
Java 使用 Lombok 的 @ExtensionMethod 注解实现向现有的类添加新的方法
我学习 Flutter 时发现 Dart 从2.7版本开始引入了扩展方法(Extension Methods)。扩展方法允许我们向现有的类添加新的方法,而无需修改原类或创建子类,这对于增强系统库类特别有用。当时我就想 Java 能否实现这种功能,后面也没想到自己实现的策略,直到今天我发现了Lombok的@ExtensionMethod注解!狂喜!Lombok是一个流行的Java库,通过减少样板代码来简化代码编写。其中一个强大的功能就是注解,它可以增强代码的可读性和简洁性。在本教程中,我们将深入探讨。原创 2024-08-11 13:28:02 · 330 阅读 · 0 评论 -
JSON 提取器:从文本中提取 JSON 内容的实用工具
在现代软件开发中,JSON(JavaScript Object Notation)是一种广泛使用的数据交换格式。无论是前端与后端的通信,还是配置文件的存储,JSON 都扮演着重要的角色。有时,我们需要从文本中提取 JSON 格式的数据,而这可能并不像看上去那么简单。今天,我将分享一个简单而有效的 Java 工具类,它可以帮助我们从文本中提取 JSON 格式的内容。原创 2024-08-10 22:17:33 · 708 阅读 · 0 评论 -
Java的@DateTimeFormat注解与@JsonFormat注解的使用对比
在Spring和Jackson框架中,日期和时间格式化是一个常见需求。注解主要用于Spring的表单绑定,而注解则用于Jackson的JSON序列化和反序列化。了解这两个注解的使用场景和方法,可以帮助开发者更高效地处理日期和时间。和是处理日期和时间格式化的两个重要注解。主要用于Spring MVC的请求参数绑定,而主要用于Jackson的JSON序列化和反序列化。了解它们的使用场景和功能,可以帮助开发者更高效地处理日期和时间格式化需求。通过本文的介绍,希望读者能够更清晰地理解和。原创 2024-07-27 13:31:57 · 828 阅读 · 0 评论 -
Java项目Git提交规范
在Java项目中,遵循良好的Git提交规范有助于提高代码的可维护性、可读性和团队协作效率。原创 2024-06-25 16:25:41 · 594 阅读 · 0 评论 -
为什么 ClassLoader 类的 getResource(String name) 方法能够读取到原本在 src/main/resources 里面的文件?
在 Java 开发中,类是一个关键的组件,用于。其中,方法允许我们在类路径中。一个常见的疑问是:为什么这个方法能够轻松地读取到Maven项目中目录下的文件呢?原创 2023-11-21 22:35:01 · 202 阅读 · 0 评论 -
Java 类之 java.lang.reflect.Field
获取该类及其父类指定名称的公有字段。如果字段不存在,则抛出异常。获取该类及其父类中所有公有字段的数组。返回一个Field对象数组。类是 Java 反射机制中用于表示类的字段(成员变量)的类。它提供了一种在运行时获取和操作类的字段的方式。原创 2023-11-21 18:58:51 · 467 阅读 · 0 评论 -
Java 类之 java.lang.reflect.Method
获取指定名称和参数类型的公有方法。如果方法不存在,则抛出异常。获取该类及其父类中所有公有方法的数组。返回一个Method对象数组。类是 Java反射机制中的一部分,用于表示类的方法。反射是一种在运行时检查或修改类的行为的能力。Method类提供了对类的方法的信息的访问和操作。invoke方法是类中的一个重要方法,用于在运行时动态地调用方法。该方法允许你通过反射机制调用指定对象的特定方法,即使在编译时你可能不知道这个方法的具体存在。原创 2023-11-18 11:59:35 · 366 阅读 · 0 评论 -
Java 类之 java.lang.System
类是 Java 编程语言中的一个核心类,提供了与系统交互的方法和字段。原创 2023-11-18 01:51:00 · 299 阅读 · 0 评论 -
Java 类之 java.util.Properties
是 Java 中用于处理属性文件的一个类。属性文件通常用于存储配置信息,例如应用程序的设置和参数。Properties类提供了一种方便的方式来管理键值对,其中键和值都是字符串类型。它本质上是一个Hashtable,因为Hashtable已经过时了,所以了解即可!Hashtable是不是有点过时了?ChatGPT 回答:是的,Hashtable类在Java中被认为有点过时。虽然它是一个实现了基本的哈希表功能的类,但在 Java Collections Framework 中引入了更先进、更强大的替代类,如。原创 2023-11-18 01:31:17 · 389 阅读 · 0 评论 -
基于 Java 列举和说明常用的外部化配置的实现方式?
这样可以在不同环境(开发、测试、生产)间部署应用时,直接通过命令行传参,然后在Java程序中解析这些参数。来管理所有环境的配置,应用程序在启动时。在Java应用程序中,外部化配置是。的文件来存储配置信息,并使用相应的。中,启动时由应用程序读取。参数定义系统属性,并且可以通过。提供了强大的支持,可以使用。文件来存储配置,然后通过。来加载不同来源的配置。在Java中访问它们。原创 2023-11-14 21:35:05 · 173 阅读 · 0 评论 -
基于 Java 解释一下硬编码和非硬编码?
属性值,而无需更改和重新编译Java代码。这大大提高了应用程序的灵活性,使得维护和配置更新更加简单。例如,如果你在代码中直接指定了数据库的连接字符串,那么当你需要更换数据库服务器时,就。硬编码和非硬编码是指软件开发中配置数据和变量处理方式的概念。在上述非硬编码的示例中,如果数据库URL发生变化,只需修改。硬编码是指在程序代码中直接写入具体的。等方式来设置和获取程序中使用的。这样做的好处是,修改配置时。原创 2023-11-14 21:20:18 · 523 阅读 · 0 评论 -
基于Java解释一下强依赖和弱依赖?
这种解耦使得系统各部分可以独立变化和进化,同时也促进了代码的可测试性,因为可以使用模拟对象(mock objects)来替换实际的依赖。通常情况下,软件架构师会推荐尽可能使用弱依赖以保持系统的灵活性和可维护性。原创 2023-11-14 21:11:56 · 400 阅读 · 0 评论 -
关于使用 Java 反射技术来实现解耦?
Hibernate 和 Spring 等框架也广泛使用了反射机制以提供灵活性和解耦。例如,Spring 框架可以通过配置(XML 或注解)来动态地创建和装配对象,而底层实现则是利用了 Java 的反射技术。加载、探索和使用类和对象。通过反射,我们可以在程序运行期间。然而,需要注意的是反射通常比直接的 Java 方法调用要。在这个例子中,我们使用反射来动态加载和实例化一个。,确保它是解决特定问题的最佳工具。,并且使用不正确可能会导致代码。通过反射,我们可在配置中。因此,在使用反射时要。原创 2023-11-14 20:41:07 · 109 阅读 · 0 评论 -
Java开发中解决紧耦合的方法有哪些?
通常最佳实践是在项目开始阶段就考虑到软件的结构和模块划分,这样可以在后期节约大量的重构成本。在多层架构中,服务层充当业务逻辑和其他层(比如数据访问层和表示层)之间的。面向切面编程将**公共功能(比如日志或事务管理)**模块化为切面,使用上述方法时,我们应该根据具体的应用场景选择合适的策略,,这通常通过使用依赖注入框架(比如 Spring)来实现。例如,使用工厂模式创建对象,可以。应用接口可以降低类之间的依赖性,这样你可以很容易地引入新的。接口,而不是其具体实现。模块化是将系统分解为。组件通过消息队列进行。原创 2023-11-14 20:31:21 · 473 阅读 · 0 评论 -
Java中什么是双检锁
在Java中,双重检查锁定(Double-Checked Locking)是一种多线程编程中用来减少同步的开销的技术。双检锁的主要用途是**在创建单例模式时,确保只有一个实例被创建,尤其是在懒汉式单例模式中,**它被大量使用。原创 2023-11-14 19:32:08 · 570 阅读 · 0 评论 -
双 token 实现无感刷新的基本逻辑
双 token 实现无感刷新的基本逻辑原创 2023-08-28 19:25:16 · 481 阅读 · 0 评论 -
Java 字符串拼接方法及使用场景
Java 字符串拼接方法及使用场景。原创 2023-08-07 01:02:44 · 245 阅读 · 0 评论 -
Spring Boot 使用 Hutool-jwt 实现 token 验证
在类中声明一个静态成员变量,作为默认对象的实例,并将其初始化为默认值。其他代码可以直接访问该静态成员变量来获取默认对象。在类中添加一个静态工厂方法,该方法返回默认对象的实例。静态工厂方法可以在内部创建并返回类的实例,根据需要设置默认的属性和状态。将默认对象的构造函数设置为公共的,并在其中设置默认的属性和状态。其他代码可以直接使用该构造函数来创建默认的对象实例。原创 2023-07-03 19:39:43 · 3572 阅读 · 4 评论 -
Java 中一个类提供一个默认对象的几种方式
在类中声明一个静态成员变量,作为默认对象的实例,并将其初始化为默认值。其他代码可以直接访问该静态成员变量来获取默认对象。在类中添加一个静态工厂方法,该方法返回默认对象的实例。静态工厂方法可以在内部创建并返回类的实例,根据需要设置默认的属性和状态。将默认对象的构造函数设置为公共的,并在其中设置默认的属性和状态。其他代码可以直接使用该构造函数来创建默认的对象实例。原创 2023-07-02 13:43:10 · 515 阅读 · 0 评论 -
Java 中的 `try-catch-finally` 与 `try-with-resource`
是最基本的异常处理机制。trycatch和finally。代码块放在try块中,如果在执行该块时抛出了异常,就会跳转到catch块中进行异常处理。finally块中的代码始终都会被执行,无论是否有异常发生。try块后可跟零个、一个或多个catch块,如果没有catch块,则必须跟一个finally块。finally是从Java 7开始引入的一种异常处理机制。它用于自动关闭实现了接口或的资源,如文件或网络连接,以确保它们正确地关闭,即使在发生异常时也能被关闭。使用时,我们可以在try语句中声明。原创 2023-06-22 18:31:22 · 779 阅读 · 0 评论 -
Java 结合中文分词库 jieba 统计一堆文本中各个词语的出现次数【代码记录】
【代码】Java 结合中文分词库 jieba 统计一堆文本中各个词语的出现次数【代码记录】原创 2023-06-21 14:03:37 · 594 阅读 · 0 评论 -
Java去掉 txt 文件中的空格空行【代码记录】
【代码】Java去掉 txt 文件中的空格空行【代码记录】原创 2023-06-21 13:43:55 · 787 阅读 · 0 评论 -
Apache Commons CSV 基本使用
Apache Commons CSV是Apache软件基金会的一个开源项目,它提供了用于读取和写入CSV(逗号分隔值)文件的Java库。CSV是一种常见的文本文件格式,用于存储以逗号为分隔符的表格数据。Apache Commons CSV提供了简单而灵活的API,使您能够轻松地处理CSV文件。它支持自定义分隔符、引用字符和转义字符,可以处理包含换行符和特殊字符的字段,并提供了方便的方法来读取和写入CSV数据。原创 2023-06-10 22:01:50 · 2778 阅读 · 0 评论 -
【Java 类】002-类、属性、方法、代码块
类的属性也被称为类的成员变量或字段,它们用于存储对象的状态信息。/*** @slogan 真正的大师永远怀着一颗学徒的心。——易大师/*** 名字类的方法定义了可以对对象执行的操作。方法可以看作是类的行为或功能的具体实现。// 将两个数字相加并返回结果 public int add(int num1 , int num2) {} }Java 类中的代码块是指在类中使用大括号{}括起来的一段代码,它们可以是静态的或非静态的,并且可以分为多个不同类型。静态代码块。原创 2023-03-07 15:34:12 · 432 阅读 · 1 评论 -
【Java 类】001-访问修饰符、命名规范
Java访问修饰符是一种关键字,用来控制类、方法和变量的访问权限。原创 2023-03-05 13:52:42 · 376 阅读 · 0 评论 -
Java面向对象回顾
一切皆对象,现实生活中:电脑、耳机、水杯、书等等,相比现实生活,程序中的对象是抽象出来的,要么是基于现实中的对象抽象出来,只包含了现实中对象的部分信息,要么是根本应用程序的需要而抽象出来的,如:职工对象(通常只记录部分与职工相关性较高的信息),学生对象(通常也只记录与学生相关性较高的信息)。职工和学生是一个“角色对象”,因为他们也可能同时是儿子、女儿、父亲、母亲、观众、演员……,但在特定的场景下仅使用他们对应的属性信息等。原创 2023-03-03 17:43:58 · 692 阅读 · 0 评论 -
【commons-lang3专题】005- ObjectUtils 专题
【commons-lang3专题】005- ObjectUtils 专题原创 2022-07-28 00:02:24 · 1249 阅读 · 2 评论 -
【commons-lang3专题】004- NumberUtils 专题
【commons-lang3专题】004- NumberUtils 专题原创 2022-07-27 23:47:40 · 397 阅读 · 0 评论 -
【commons-lang3专题】003- RandomStringUtils 专题
【commons-lang3专题】003- RandomStringUtils 专题原创 2022-07-25 23:22:33 · 625 阅读 · 0 评论 -
【commons-lang3专题】002- RandomUtils 专题
【commons-lang3专题】002- RandomUtils 专题原创 2022-07-25 23:13:39 · 590 阅读 · 0 评论 -
【commons-lang3专题】001-StringUtils 专题
【commons-lang3专题】001-StringUtils 专题原创 2022-07-25 23:01:55 · 358 阅读 · 0 评论 -
【commons-beanutils专题】005- ConvertUtils 专题
【commons-beanutils专题】005- ConvertUtils 专题原创 2022-07-20 19:34:49 · 606 阅读 · 0 评论 -
【commons-beanutils专题】004- BeanUtils 专题
【commons-beanutils专题】004- BeanUtils 专题原创 2022-07-20 19:16:59 · 2202 阅读 · 0 评论 -
Java 根据 HTML 生成 DOM 树
Java 根据 HTML 生成 DOM 树原创 2022-07-19 19:59:28 · 1249 阅读 · 1 评论 -
【commons-beanutils专题】003- PropertyUtils 专题
代码】【commons-beanutils专题】003-PropertyUtils专题。原创 2022-07-14 20:37:16 · 714 阅读 · 0 评论 -
【commons-beanutils专题】002- ConstructorUtils 专题
主要用于通过反射技术操作对象的构造方法:执行构造方法、获得指定构造方法等;普通和精确的区别:普通的会找到兼容类型的方法,精确的只会匹配到确切的参数类型的方法。原创 2022-07-13 19:16:19 · 252 阅读 · 1 评论 -
【commons-beanutils专题】001- MethodUtils 专题
MethodUtils 专题原创 2022-07-12 22:18:41 · 314 阅读 · 0 评论