
Java
文章平均质量分 62
CnLg.NJ
这个作者很懒,什么都没留下…
展开
-
Java StringUtils.isBlank()方法
方法来自 Apache Commons Lang 库,它是一个非常实用的工具方法,用于判断一个字符串是否为null、空字符串或者仅包含空白字符。原创 2025-04-11 09:39:29 · 364 阅读 · 0 评论 -
Java 判断字符串是否为空或者 null
在 Java 里,判断字符串是否为空或者null是很常见的操作。下面为你介绍几种不同的判断方式。原创 2025-04-11 09:06:47 · 181 阅读 · 0 评论 -
Java 文件内容转换为MD5哈希值
若要把读取到的files列表里的内容转换为 MD5 哈希值,你可以逐个遍历files列表中的元素,将每个元素的内容计算成 MD5 哈希值。原创 2025-04-10 17:15:22 · 290 阅读 · 0 评论 -
泛型介绍和使用
泛型,简单来说就是参数化类型。这意味着在定义类、接口或者方法时,把类型当作参数。这样在使用这些类、接口或方法时,就能明确指定具体的类型。原创 2025-04-12 10:00:00 · 69 阅读 · 0 评论 -
MyBatis 查询数据库操作自定义字段名称
在使用 MyBatis 的Mapper进行数据库操作时,是可以使用SELECT语句的字段 AS xx这种语法的。下面为你详细介绍不同场景下的使用方式。原创 2025-04-09 09:24:38 · 363 阅读 · 0 评论 -
Java 字符串中有多个分隔符,该如何处理
若字符串中存在多个分隔符,你可以使用正则表达式来定义分隔符,从而对字符串进行分割。下面详细介绍几种常见的处理方式。原创 2025-04-09 09:19:56 · 448 阅读 · 0 评论 -
Java List<JSONObject> 中的数据转换为 List<T>
TList<T>T。原创 2025-04-08 10:39:17 · 395 阅读 · 0 评论 -
Java List<JSONObject> 转换为 List<实体类>
可以使用直接转换,无需中间序列化步骤。原创 2025-04-08 10:33:06 · 764 阅读 · 0 评论 -
Java MQTT 退订所有
异常,这样可以在出现异常时输出相关的错误信息。若使用 Maven 项目,要在。原创 2025-04-01 14:21:57 · 245 阅读 · 0 评论 -
Java Optional介绍和用法
Java 的Optional是 Java 8 引入的一个容器类,旨在更优雅地处理可能为null的值,避免显式的null检查和空指针异常(它的核心思想是强制开发者明确处理“值可能不存在”的情况,而不是隐式忽略。:通过类型系统提示调用者需要处理空值。null:提供链式方法替代嵌套的。:通过安全的方法访问潜在的空值。原创 2025-03-31 13:55:31 · 487 阅读 · 0 评论 -
Java 正则-匹配包含小数点的字符串
方法进行转换并输出结果。给出多个测试用例,调用。来验证四舍五入功能。原创 2025-03-31 11:29:13 · 348 阅读 · 0 评论 -
Spring 通过多种方式实现使用线程
实现Runnable接口:定义线程的任务逻辑。启动线程:可以通过或 Spring 的启动线程。线程池配置:使用配置线程池,提高线程管理的灵活性。原创 2025-03-26 09:27:41 · 555 阅读 · 0 评论 -
Spring 管理线程并实现Runnable接口的任务
声明为 Spring Bean(注意作用域),并实现。:根据业务负载和 CPU 核心数动态调整。(默认):直接抛出异常。:丢弃队列中最旧的任务。:由调用线程执行任务。原创 2025-03-26 09:14:13 · 203 阅读 · 0 评论 -
Spring 线程
与 WebFlux 或 Reactor 配合使用 Schedulers。:为不同任务类型分配独立线程池(如 IO 密集型 vs CPU 密集型)实现运行时动态调整参数(需配合监控系统如 Prometheus)。处理跨线程的上下文信息(如安全上下文、Trace ID)。通过 Actuator 或自定义监控暴露线程池指标。:安全、日志跟踪、事务的跨线程传递。结合全局异常处理器和熔断机制。:动态调整、资源隔离、队列策略。:指标监控、异常追踪、熔断降级。:为不同场景指定不同线程池。:避免阻塞、死锁、资源泄漏。原创 2025-03-25 09:03:15 · 424 阅读 · 0 评论 -
Spring 异步方法
将立即返回响应,控制台输出类似:处理数据: test-data, 线程: AsyncTask-1。等待无返回值方法执行(生产环境建议使用 CountDownLatch)确保调用方和被调用方都是 Spring Bean。注解中指定了自定义线程池名称(如。确保在异步方法调用的类上使用。,确保数据库操作在异常时回滚。有返回值方法:异常会包装在。通过日志中的线程名称(如。)确认是否使用自定义线程池。无返回值方法:异常会被。原创 2025-03-30 09:30:00 · 242 阅读 · 0 评论 -
Spring @Bean的管理机制分析
若需要对 Bean 的初始化过程进行自定义操作,如设置特定的属性、调用特定的方法等,就可以使用@Bean注解在方法中编写自定义的初始化逻辑。示例代码@Bean这里通过@Bean注解自定义了MyClass实例的初始化过程。原创 2025-03-25 08:45:00 · 928 阅读 · 0 评论 -
浅谈Java之开源任务调度(Quartz )
实现Job@Override。原创 2025-03-30 09:15:00 · 218 阅读 · 0 评论 -
浅谈Java之线程安全字典
分成多个段(Segment),不同的段可以被不同的线程同时访问,提升了并发性能;在 JDK 1.8 及之后版本,采用 CAS(Compare - And - Swap)和。关键字修饰,以此保证在多线程环境下操作的线程安全性。在 JDK 1.7 及之前版本,它采用分段锁机制,将整个。的基础上添加同步机制来实现的。不过,这种方式的性能通常不如。是 Java 早期提供的线程安全。是 Java 提供的高效线程安全。方法可以将一个非线程安全的。,在高并发场景下性能欠佳。来保证并发操作的安全性。原创 2025-03-24 10:20:07 · 244 阅读 · 0 评论 -
浅谈Java之线程安全集合
Vector实现了List接口,它的所有方法都是同步的,这意味着在多线程环境下对其操作是线程安全的。不过,由于同步操作会带来一定的性能开销,所以它的性能通常不如非线程安全的ArrayList。是List接口的线程安全实现。当执行写操作(如addset等)时,它会复制一份原数组,在新数组上进行修改,最后将原数组引用指向新数组。这种机制使得读操作无需加锁,因此适合读多写少的场景。原创 2025-03-24 10:18:45 · 427 阅读 · 0 评论 -
浅谈Java注解之@Scheduled
Scheduled下面将详细介绍@Scheduled注解的使用。原创 2025-03-18 16:26:06 · 582 阅读 · 0 评论 -
A相电压与电流的相位差角->矢量角 UaUa、UaIa
将-120度调整为360 - 120 = 240度,确保结果在[0, 360)范围内。电流相位由电压相位减去相位差(120度),得到-120度。原创 2025-03-17 09:30:00 · 132 阅读 · 0 评论 -
B相电压与电流的相位差角->矢量角 UaUb、UaIb
在三相正序系统中,B相电压滞后A相120度。由于A相电压为参考点(0度),B相电压相位为。原创 2025-03-16 10:00:00 · 175 阅读 · 0 评论 -
C相电压与电流的相位差角->矢量角 UaUc、UaIc
在三相正序系统中,C相电压滞后A相。通过标准化转换后,其相位为。原创 2025-03-15 09:00:00 · 244 阅读 · 0 评论 -
Java C相相角转化为矢量角UaUc UaIc
在三相电力系统中,通常以 A 相电压作为参考相,B 相滞后 A 相 120°,C 相滞后 A 相 240°(也可看作超前 A 相 120°)。下面将详细介绍如何把 C 相相角转化为矢量角UaUc和UaIc,并给出 Java 实现。原创 2025-03-14 09:45:00 · 187 阅读 · 0 评论 -
Java B相相角转化为矢量角UaUb UaIb
在电力系统中,三相交流系统通常由 A、B、C 三相组成,且各相之间存在固定的相位关系,一般 B 相滞后 A 相 120°。下面为你详细介绍如何将 B 相相角转化为矢量角UaUb和UaIb,并给出 Java 实现。原创 2025-03-13 10:30:00 · 231 阅读 · 0 评论 -
Java A相相角转化为矢量角UaUa UaIa
在电力系统中,A 相相角指的是 A 相电压(Ua)相对于参考相的相位角度。而矢量角通常用于描述电压矢量(如Ua)和电流矢量(如Ia)在复平面上的角度。下面详细介绍如何将 A 相相角转化为矢量角UaUa和UaIa,并给出 Java 实现。原创 2025-03-12 10:27:43 · 151 阅读 · 0 评论 -
Spring Boot @Async注解的介绍
在 Spring Boot 中,@Async是一个非常实用的注解,它允许你以异步的方式执行方法。下面将详细介绍@Async的原理、使用方法以及注意事项。原创 2025-03-01 09:30:00 · 476 阅读 · 0 评论 -
Spring Boot @Component注解介绍
是 Spring 中的一个核心注解,用于声明一个类为 Spring 管理的组件(Bean)。它是一个通用的注解,可以用于任何层次的类(如服务层、控制器层、持久层等)。这些注解的作用是标记类为 Spring 的 Bean,并且可以根据注解的类型提供额外的语义信息(例如,:当一个类不属于特定的层次(如服务层、控制器层等),但需要被 Spring 管理时,可以使用。你可以在其他组件中通过。:当需要将第三方库的类注册到 Spring 容器中时,可以使用。是一个通用注解,但在实际开发中,更推荐使用更具体的注解(如。原创 2025-02-26 14:44:19 · 903 阅读 · 0 评论 -
Spring Boot 与@Bean注解搭配场景
在Spring Boot中,@Bean注解通常与其他注解一起使用,以实现更灵活的Bean管理、依赖注入和配置。原创 2025-02-26 13:39:49 · 324 阅读 · 0 评论 -
浅谈Java MQTT功能
在Spring Boot使用中自身的MQTT功能(通常是通过模块)实现接收MQTT消息的操作,可以通过以下步骤完成。这里我们将重点放在如何接收MQTT消息,并将其处理逻辑集成到Spring Boot应用中。原创 2025-02-18 09:45:00 · 350 阅读 · 0 评论 -
浅谈Spring Boot MQTT功能并实现手动连接操作
在Spring Boot中使用自身的MQTT功能并实现手动连接操作,可以通过以下步骤实现。原创 2025-02-17 11:24:30 · 482 阅读 · 0 评论 -
CPU密集型任务和I/O密集型任务的核心线程数设置有何不同?
CPU密集型任务:核心线程数应接近CPU核心数,以充分利用CPU资源并减少上下文切换的开销。I/O密集型任务:核心线程数可以设置为CPU核心数的2倍或更高,以提高系统的并发能力并减少I/O等待时间。混合型任务:根据任务中计算密集型和I/O密集型操作的比例,适当调整核心线程数。原创 2025-02-14 10:45:00 · 1228 阅读 · 0 评论 -
线程池核心线程数对性能影响大吗?
线程池的核心线程数对性能有显著的影响。合理设置核心线程数可以显著提高程序的性能和资源利用率,而设置不当则可能导致性能下降或资源浪费。以下是核心线程数对性能的具体影响分析:线程池的核心线程数对性能有显著的影响。合理设置核心线程数可以显著提高程序的性能和资源利用率,而设置不当则可能导致性能下降或资源浪费。原创 2025-02-12 11:00:00 · 708 阅读 · 0 评论 -
如何设置线程池的核心线程数?
在Java中设置线程池的核心线程数,可以通过的构造方法来完成。原创 2025-02-10 10:15:00 · 276 阅读 · 0 评论 -
线程池能处理多少并发任务?
线程池能够处理的并发任务数量取决于多个因素,包括线程池的配置、系统的硬件资源(如CPU核心数、内存大小)、任务的性质(计算密集型、I/O密集型等)以及应用程序的设计。原创 2025-02-11 09:30:00 · 294 阅读 · 0 评论 -
Java 多线程处理UDP数据包时,如何确保线程安全?
在Java中处理UDP数据包时,确保多线程环境下的线程安全是至关重要的。原创 2025-02-09 09:15:00 · 150 阅读 · 0 评论 -
浅谈Java和C#UDP通信
【代码】浅谈Java和C#UDP通信。原创 2025-02-08 14:20:35 · 319 阅读 · 0 评论 -
JAVA异步的UDP 通讯-服务端
为了优化性能,可以设置接收超时时间以及调整接收和发送缓冲区的大小。在异步处理中,可以设置超时机制,以便在长时间未收到响应时进行处理。,可以实现非阻塞的UDP通信,从而高效地处理多个客户端的请求。通过线程池可以高效地处理多个客户端的请求,避免阻塞主线程。原创 2025-02-06 13:22:24 · 574 阅读 · 0 评论 -
JAVA异步的UDP 通讯-客户端
通过线程池来处理UDP数据的发送和接收,可以避免阻塞主线程,提高程序的响应性。选项来启用非阻塞模式。这样可以在发送和接收数据时避免线程阻塞。等参数,可以优化UDP客户端的性能。默认是阻塞模式,但可以通过设置。,从而实现更高效的异步通信。可以用于同时监控多个。原创 2025-02-06 13:20:25 · 515 阅读 · 0 评论 -
JAVA异步的TCP 通讯-客户端
方法:异步连接到服务器,连接成功后开始读取服务器数据并发送初始消息。创建一个固定大小的线程池,用于处理业务逻辑,避免阻塞 I/O 操作。方法:关闭客户端通道并关闭线程池,处理关闭过程中可能出现的异常。方法:异步发送消息到服务器,处理可能的未发送完的数据。方法:异步读取服务器发送的数据,使用。并初始化一个固定大小的线程池。原创 2025-02-05 13:54:21 · 401 阅读 · 0 评论