![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 83
良月柒
一个不羁的码农,终生学习者。
展开
-
解析Java中1000个常用类:EventObject类,你学会了吗?
是java.util包中的一个类,用于表示所有事件状态的根类。所有具体的事件状态类都应该直接或间接继承自类。// 事件源对象// 构造方法// 获取事件源对象// 返回事件的字符串表示形式通过扩展类,可以创建自定义事件。// 触发按钮点击事件类在 Java 中提供了一个基础的工具,用于表示事件状态和传递事件信息。原创 2024-07-14 21:38:16 · 932 阅读 · 0 评论 -
解析Java中1000个常用类:EventListenerProxy类,你学会了吗?
是java.util包中的一个抽象类,它实现了接口,用于封装另一个事件监听器。// 构造方法// 获取被代理的监听器} };} }} };} }} };} }} };} }} };} }} };} }类在 Java 中提供了一个灵活的工具,用于代理和增强事件监听器的功能。原创 2024-07-14 21:37:17 · 493 阅读 · 0 评论 -
解析Java中1000个常用类:EnumSet类,你学会了吗?
EnumSet是java.util包中的一个抽象类,用于创建具有枚举类型元素的高效集合。// 常用方法省略...EnumSet类在 Java 中提供了一个高效、类型安全的工具,用于存储枚举类型的集合。原创 2024-07-13 22:19:09 · 382 阅读 · 0 评论 -
解析Java中1000个常用类:EnumMap类,你学会了吗?
EnumMap是java.util包中的一个类,它实现了Map接口,并且键必须是枚举类型。// 构造方法// 初始化代码// 常用方法省略...EnumMap类在 Java 中提供了一个高效、类型安全的工具,用于存储枚举类型的键值对。原创 2024-07-13 22:17:44 · 1000 阅读 · 0 评论 -
解析Java中1000个常用类:EnumMap类,你学会了吗?
EnumMap是java.util包中的一个类,它实现了Map接口,并且键必须是枚举类型。// 构造方法// 初始化代码// 常用方法省略...EnumMap类在 Java 中提供了一个高效、类型安全的工具,用于存储枚举类型的键值对。原创 2024-07-07 21:21:18 · 718 阅读 · 0 评论 -
解析Java中1000个常用类:DoubleSummaryStatistics类,你学会了吗?
类是java.util包中的一个工具类,用于收集关于双精度浮点数(double)的统计信息。// 构造方法// 初始化代码// 常用方法省略...类在 Java 中提供了一个强大的工具,用于收集和计算双精度浮点数值流的统计信息。原创 2024-07-07 21:20:42 · 777 阅读 · 0 评论 -
解析Java中1000个常用类:Dictionary类,你学会了吗?
Dictionary是java.util包中的一个抽象类,用于存储键值对数据。它是 Java 1.0 引入的最早的键值对集合类。// 构造方法// 抽象方法Dictionary类在 Java 中提供了一个基础的键值对存储工具,尽管在现代编程中已经被Map接口及其实现所取代,但了解它的历史和用法仍然有助于处理遗留代码和理解 Java 集合框架的演变。原创 2024-07-06 19:49:00 · 612 阅读 · 0 评论 -
解析Java中1000个常用类:Date类,你学会了吗?
Date类是java.util包中的一个类,用于表示特定的瞬时时间,精确到毫秒。// 构造方法// 初始化当前时间// 通过指定的毫秒数初始化时间// 常用方法省略...原创 2024-07-06 19:42:51 · 935 阅读 · 0 评论 -
解析Java中1000个常用类:Collections类,你学会了吗?
类是java.util包中的一个最终类(final),它不能被继承。该类包含了许多静态方法,这些方法可以对集合进行排序、搜索、反转、填充等操作。// 私有构造方法,防止实例化// 常用方法省略...原创 2024-06-30 21:48:27 · 253 阅读 · 0 评论 -
解析Java中1000个常用类:Calendar类,你学会了吗?
Calendar是java.util包中的一个抽象类,用于操作日期和时间字段。它提供了一系列方法来操作特定的日期字段(如年、月、日、小时等),并且可以进行日期计算。Calendar类通过子类实现具体的日期计算逻辑。// 构造方法// 初始化代码// 常用方法省略...Calendar类在 Java 中提供了一个强大的工具,用于操作日期和时间。尽管在 Java 8 之后有了更现代化的日期和时间 API,但Calendar类在许多遗留系统中仍然被广泛使用。原创 2024-06-29 16:18:49 · 876 阅读 · 0 评论 -
解析Java中1000个常用类:BitSet类,你学会了吗?
BitSet是java.util包中的一个类,它实现了一组位(bit)的集合。每个位非真即假,BitSet通过使用位向量的方式高效地存储和操作这些位。// 构造方法// 默认构造方法// 指定初始位数的构造方法// 常用方法省略...原创 2024-06-29 16:18:17 · 495 阅读 · 0 评论 -
探讨 MyBatis 特殊 SQL 执行技巧与注意事项
/MyBatis 作为一个灵活的持久层框架,通过提供丰富的动态 SQL 标签、SQL 片段复用、存储过程调用、复杂结果集处理、分页查询和批量操作等功能,使开发者能够高效地实现各种复杂的 SQL 操作。原创 2024-06-18 14:11:29 · 770 阅读 · 0 评论 -
探索 Spring Boot 集成缓存功能的最佳实践
通过本文的介绍,我们学习了如何在 Spring Boot 项目中集成缓存功能。缓存作为提升系统性能的重要手段,在实际应用中有着广泛的应用场景。Spring Boot 提供了简洁的缓存集成方式,使得我们能够方便地使用缓存来优化系统性能。原创 2024-06-14 14:38:37 · 602 阅读 · 0 评论 -
深入解析JVM之类的生命周期
加载(Loading)验证(Verification)准备(Preparation)解析(Resolution)初始化(Initialization)使用(Using)卸载(Unloading)每个阶段都有其独特的作用和实现机制,这些阶段共同构成了类在JVM中的完整生命周期。本文详细介绍了JVM中类的生命周期,包括类的加载、验证、准备、解析、初始化、使用和卸载等过程。理解这些过程不仅有助于程序员编写高效、稳定的Java代码,还能帮助优化JVM的性能,解决常见的内存管理问题。原创 2024-06-13 17:13:01 · 957 阅读 · 0 评论 -
深入解析JVM的GC过程
垃圾收集(GC)是指JVM自动回收不再被程序引用的对象所占用的内存空间。这一过程旨在释放无用的内存资源,从而避免内存泄漏和内存溢出问题。本文详细介绍了JVM的GC过程,包括GC的基本概念、各类垃圾收集器的工作原理、GC调优以及常见问题的解决方案。通过对GC机制的深入理解,程序员可以更好地优化Java应用的性能和稳定性。原创 2024-06-13 17:08:44 · 1242 阅读 · 0 评论 -
理解JVM中的常量池
本文详细介绍了JVM中的常量池,包括Class文件常量池、运行时常量池和字符串常量池。通过对常量池的深入理解,我们可以更好地优化Java程序的性能和内存使用。常量池在JVM中扮演着非常重要的角色,理解其工作原理对于编写高效、健壮的Java代码至关重要。原创 2024-06-12 15:01:06 · 776 阅读 · 0 评论 -
在Java中使用Spring Boot设置全局的BusinessException
是一种自定义的运行时异常,用于处理业务逻辑中的错误。例如,当用户试图执行一个未授权的操作时,抛出一个BusinessException,可以携带错误信息或错误码。这种异常可以帮助开发者更清晰地分离业务逻辑错误和系统错误。原创 2024-06-12 14:45:47 · 894 阅读 · 0 评论 -
十种经典排序算法——Java实现
快速排序的基本思想是通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序。选择排序是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。桶排序是将数组元素分布到有限数量的桶中,然后对每个桶内的元素进行排序,最后将桶中的元素合并得到有序序列。不同的排序算法有各自的优缺点,选择合适的排序算法取决于具体的应用场景和数据特性。原创 2024-06-11 18:02:38 · 626 阅读 · 0 评论 -
MVC、MVP 和 MVVM 架构总结
负责处理应用程序的业务逻辑,管理数据和状态。负责展示用户界面,向用户展示数据并接收用户的输入。充当模型和视图之间的中介,处理用户输入并更新模型和视图。与 MVC 中的模型类似,负责处理业务逻辑和数据。负责展示用户界面,但不直接与模型交互,而是通过 Presenter 进行间接交互。充当控制器的角色,处理用户输入并更新模型和视图。与 MVC 不同的是,Presenter 不直接操作视图,而是通过接口与视图进行交互。与 MVC 和 MVP 中的模型类似,负责处理业务逻辑和数据。原创 2024-06-07 16:05:39 · 941 阅读 · 0 评论 -
@Configuration注解:在Spring中如何优雅地管理你的Bean
Configuration注解是Spring框架中的一个重要注解,用于表示一个类是一个Java配置类。这个类可以包含一个或多个@Bean注解的方法,这些方法将被Spring容器调用,以生成bean并进行管理。@Configuration注解提供了一种类型安全的、可重构的方式来定义和管理bean。@Bean在上面的示例中,AppConfig类被标记为@Configuration,表明它是一个配置类。原创 2024-06-04 09:52:58 · 594 阅读 · 0 评论 -
计算机字符编码的发展
从早期的Morse码和Baudot码,到ASCII,再到现代的Unicode和UTF-8,字符编码的发展经历了漫长而复杂的过程。每一次演进都解决了前一代编码系统的不足,并为计算机的全球化应用提供了更好的解决方案。字符编码的进步不仅提高了计算机处理文本的效率和准确性,还促进了全球信息的交流与共享。对于开发者来说,理解字符编码的历史和原理,有助于更好地处理多语言文本,提升软件的兼容性和用户体验。原创 2024-06-03 17:53:13 · 1058 阅读 · 0 评论 -
Spring Boot项目中的Controller、Service、Mapper和Entity层的作用与联系
通过本文的介绍,我们详细探讨了Spring Boot项目中的Controller、Service、Mapper和Entity层的作用与联系。了解和掌握这些层次的职责和协作方式,可以帮助开发者设计出结构清晰、职责明确的应用架构,提高代码的可维护性和可扩展性。Entity层:定义数据库表结构的映射实体类。Mapper层:负责数据持久化操作,通过继承Spring Data JPA接口实现。Service层:处理业务逻辑,是应用程序的核心部分,通过依赖注入调用Mapper层方法。Controller层。原创 2024-05-31 19:52:41 · 1019 阅读 · 0 评论 -
为何Java抽象类是代码架构的基石?
在Java中,抽象类是一种特殊的类,它不能被实例化,只能被继承。抽象类可以包含抽象方法(没有方法体的方法)和具体方法(有方法体的方法)。抽象类的设计目的是为子类提供一个公共的接口和部分实现。// 抽象方法,没有方法体// 具体方法,有方法体Java抽象类是代码架构的基石,通过提供公共接口和部分实现,它们在代码复用、扩展性和灵活性方面发挥着重要作用。在实际开发中,合理地选择和应用抽象类,不仅可以提高开发效率,还能显著提升系统的健壮性和可扩展性。原创 2024-05-30 11:25:42 · 985 阅读 · 0 评论 -
基础面试题:在数据库中存储密码?
在本文中,我们讨论了在数据库中安全存储密码的最佳实践,包括选择合适的哈希算法和具体实现方法。正确的密码存储策略可以显著提高系统的安全性,防止用户密码泄露和潜在的安全攻击。无论是使用PBKDF2、bcrypt、scrypt还是Argon2,都需要根据具体的应用场景和硬件条件进行选择和调整。原创 2024-05-28 13:58:22 · 484 阅读 · 0 评论 -
分布式系统中使用traceId链接服务间的日志
traceId是一个唯一标识符,用于标记一条请求在分布式系统中的完整路径。每个请求从进入系统开始,traceId就会被创建,并在整个请求生命周期内传递到每个服务节点。通过traceId,开发人员和运维人员可以轻松地关联和跟踪涉及多个服务的请求日志。在分布式系统中,使用traceId来链接服务间的日志是一项关键的技术。本文介绍了traceId的作用、生成方法、传递方式以及在Spring Boot中的实现方法。通过正确使用traceId,可以更轻松地跟踪和调试分布式系统中的请求。原创 2024-05-24 14:12:16 · 1148 阅读 · 0 评论 -
RedissonClient的配置解析
的默认配置旨在提供一种平衡性能和资源消耗的合理基础配置,适用于大多数应用场景。了解并适当调整这些默认值可以更好地满足特定应用需求。原创 2024-05-22 19:42:02 · 1151 阅读 · 0 评论 -
Redisson的setConnectionMinimumIdleSize配置,设置小一点有什么影响?
设置为 3 意味着将保持至少 3 个空闲连接。这可以在一定程度上减少连接建立的开销,提高响应速度,但同时也会占用一些系统资源。最佳的设置值需要根据应用的具体负载情况和资源情况进行调整和优化。通过监控、测试和调整,可以找到一个平衡点,既能提高性能,又不会浪费资源。原创 2024-05-22 19:40:53 · 796 阅读 · 0 评论 -
Java 将 BigDecimal 类型的值转成 double 类型
在 Java 中,BigDecimal可以转换为double类型,但需要注意的是,这样的转换可能会导致精度损失,因为BigDecimal的精度比double高很多。这里是将BigDecimal转换为double。原创 2024-05-21 14:41:07 · 720 阅读 · 0 评论 -
Java中计算int类型的值,并保留2位小数
这些方法都可以实现计算int类型的值并保留两位小数。如果需要高精度计算,建议使用BigDecimal。如果只是格式化输出,可以使用或。如果需要简单的四舍五入,可以使用Math.round方法。原创 2024-05-21 14:38:25 · 487 阅读 · 0 评论 -
InheritableThreadLocal,你学会了吗?
InheritableThreadLocal 类是 Java.lang 包中的一部分,它提供了一种线程本地变量的机制,并且支持线程之间的继承。通过使用 InheritableThreadLocal 类,程序员可以在多线程环境下轻松地实现线程间数据的传递,并且可以实现线程之间数据的继承传递。InheritableThreadLocal 类是 Java 中用于实现线程本地变量的重要类,它提供了一种线程间数据传递和继承的机制,可以在多线程环境下轻松地实现线程间数据的传递和共享。原创 2024-05-19 19:28:50 · 718 阅读 · 0 评论 -
Module,你学会了吗?
Module 类是 Java.lang 包中的一部分,它是 Java 9 中新增的类,用于定义和管理 Java 程序的模块。模块是 Java 9 引入的一种新的代码组织方式,可以将相关的代码和资源组织成一个独立的单元,从而提供更好的封装性、可重用性和安全性。要定义一个模块,首先需要创建一个 module-info.java 文件,并在其中声明模块的名称、依赖关系和导出的包等信息。原创 2024-05-19 19:28:14 · 233 阅读 · 0 评论 -
Package类,你学会了吗?
在Java中,Package类是用来管理一组相关类和接口的命名空间的。它通过将相关的类和接口放在一个统一的包(Package)中来帮助组织和管理代码。命名空间隔离:Package类允许我们将代码组织在不同的包中,避免命名冲突,确保代码的可维护性和可扩展性。模块化管理:将相关的类和接口放在一个包中,有助于模块化管理代码,提高代码的可读性和可维护性。访问控制:Package类可以设置访问权限,控制包内和包外类的访问权限,实现对代码的封装和保护。原创 2024-05-18 21:38:09 · 919 阅读 · 0 评论 -
Process类,你学会了吗?
Process 类代表一个本地进程,它提供了一系列方法来控制和管理这个进程。通过 Process 类,程序员可以启动、监控和终止系统上的本地进程,并与这些进程进行输入和输出操作。Process 类是 Java 中用于启动和管理本地进程的强大工具。通过本文的介绍,我们了解了 Process 类的基本功能和用法,包括启动进程、获取输入输出流、等待进程结束和终止进程等。此外,我们还讨论了一些常见的最佳实践,以帮助程序员更好地使用 Process 类进行进程管理。原创 2024-05-18 21:33:30 · 508 阅读 · 0 评论 -
ThreadLocal类,你学会了吗?
ThreadLocal 类是 Java 提供的一种用于创建线程本地变量的工具类。每个线程都可以独立地操作自己的变量副本,彼此之间互不干扰,从而避免了线程安全问题。可以通过覆盖 ThreadLocal 类的 initialValue() 方法来为线程本地变量提供自定义初始值。在这个示例中,线程本地变量的初始值被设置为 100。ThreadLocal 类是 Java 提供的一种强大的工具,用于解决多线程环境下的线程安全问题。原创 2024-05-17 22:19:05 · 527 阅读 · 0 评论 -
Redisson分布式Redis锁,tryLock方法详解
在 Java 中,RLock是 Redisson 库中提供的一个分布式锁接口,用于实现基于 Redis 的分布式锁。RLock的tryLock方法用于尝试获取锁,并在特定的时间内等待获取锁。原创 2024-05-16 17:22:30 · 2356 阅读 · 0 评论 -
Bigdecimal类的toString()方法和toPlainString()方法区别
toString(): 返回科学计数法表示的字符串(如适用)。: 返回普通十进制表示的字符串,不使用科学计数法。使用toString()方法时,如果数值比较极端(非常大或非常小),可能会以科学计数法的形式展示。而使用方法时,总是以普通的十进制格式展示数值,不使用科学计数法。这两种方法的选择取决于你如何希望展示BigDecimal的数值。原创 2024-05-16 16:04:07 · 712 阅读 · 0 评论 -
深入探究 Java 虚拟机(JVM)中的栈(Stack)和堆(Heap)
栈和堆是 Java 虚拟机中两个重要的内存区域,它们分别用于存储方法调用和局部变量以及对象实例。栈是线程私有的,由系统自动分配和释放;堆是共享的,由 JVM 的垃圾回收器管理。合理地利用栈和堆可以提高 Java 程序的性能和内存利用率,避免内存泄漏和性能问题的发生。深入理解栈和堆的特点和应用场景,对于理解 Java 程序的内存模型和性能优化具有重要意义。通过本文的介绍,希望读者能够更加深入地理解 Java 虚拟机中的栈和堆,从而更好地设计和优化 Java 程序。原创 2024-05-15 18:50:30 · 1387 阅读 · 0 评论 -
面试题:String,你学会了吗?
String类作为Java编程中不可或缺的一部分,本文介绍了它的基本概念、创建方式、基本操作以及不可变性。希望通过本文的介绍,你对String类有了更深入的理解,并能够更加熟练地在Java程序中编写高效、健壮的代码。如果你有任何疑问或者想要进一步了解,请随时留言或者查阅Java官方文档。祝你编程愉快!原创 2024-04-22 21:58:25 · 404 阅读 · 0 评论 -
Intellij idea 出现错误 error:java: 无效的源发行版: 11解决方法
我的JDK版本是1.8,所以这里改的是8,网上其他博客对你没效果的话,再检查下这里。原创 2020-09-07 15:17:07 · 1034 阅读 · 1 评论 -
记一次jedis错误Could not get a resource from the pool
特别提示:每个人导致的该报错的原因不一样。已经做过的排查:1.排查了地址池初始化问题2.排查了所有调用地方是否都关闭了3.排查了配置参数以上步骤排查完,程序还是会报错。通过 JedisPool 的 getNumActive 方法,知道连接数会一直增加通过在redis控制台输入client list,获得以下信息:每个字段含义如下:addr:客户端的地址和端口...原创 2020-03-25 14:58:27 · 1922 阅读 · 0 评论