随笔分类 - Java
摘要:
引言 初次接触 WebSocket 的时候,我对它的理解是持久连接。理论上,一次握手之后,客户端和服务端之间会建立起一条全双工的通信管道,可以持续不断的双向传递数据。 但实际使用时,我发现一个看似持久的 WebSocket 连接如果没有任何数据活动,往往会在一分钟甚至更短的时间内断开。我一开始以为是
阅读全文
引言 初次接触 WebSocket 的时候,我对它的理解是持久连接。理论上,一次握手之后,客户端和服务端之间会建立起一条全双工的通信管道,可以持续不断的双向传递数据。 但实际使用时,我发现一个看似持久的 WebSocket 连接如果没有任何数据活动,往往会在一分钟甚至更短的时间内断开。我一开始以为是
阅读全文
摘要:
目录 基础语法 字段说明 特殊字符说明 常用时间表达式 业务场景案例 复杂表达式示例 注意事项 在线工具 基础语法 Quartz Cron表达式由6个字段组成(从左到右): 秒 分钟 小时 日期 月份 星期 * * * * * * 字段范围 字段 允许值 允许的特殊字符 秒 0-59 , - * /
阅读全文
目录 基础语法 字段说明 特殊字符说明 常用时间表达式 业务场景案例 复杂表达式示例 注意事项 在线工具 基础语法 Quartz Cron表达式由6个字段组成(从左到右): 秒 分钟 小时 日期 月份 星期 * * * * * * 字段范围 字段 允许值 允许的特殊字符 秒 0-59 , - * /
阅读全文
摘要:
一、 背景 在 Java 应用开发中对象之间的转换(如 DTO 与 Entity 的互转)是一项频繁且琐碎的任务。MapStruct 框架极大地解放了开发者的生产力。它通过在编译期生成类型安全、高性能的映射代码,避免了手动编写大量样板代码的繁琐,也规避了其他反射式框架(如 Apache BeanUt
阅读全文
一、 背景 在 Java 应用开发中对象之间的转换(如 DTO 与 Entity 的互转)是一项频繁且琐碎的任务。MapStruct 框架极大地解放了开发者的生产力。它通过在编译期生成类型安全、高性能的映射代码,避免了手动编写大量样板代码的繁琐,也规避了其他反射式框架(如 Apache BeanUt
阅读全文
摘要:
深入理解 Spring Boot 的 @AutoConfiguration 注解 Spring Boot 凭借其“约定优于配置”的理念,极大地简化了 Spring 应用的开发过程。其核心特性之一便是自动配置(Auto-configuration),它能够根据项目 classpath 中的依赖以及开发
阅读全文
深入理解 Spring Boot 的 @AutoConfiguration 注解 Spring Boot 凭借其“约定优于配置”的理念,极大地简化了 Spring 应用的开发过程。其核心特性之一便是自动配置(Auto-configuration),它能够根据项目 classpath 中的依赖以及开发
阅读全文
摘要:
在 Ngbatis 中解析 xml 的工具是 Jsoup,因为之前没有接触过,在这里简要的介绍和编写一下。 查了一些资料,Jsoup 似乎用作爬虫和解析 HTML 的场景比较多, 但是 XML 是一样的,同样是将页面解析为一个 DOM 树,然后使用 Jsoup 提供的方法来查询。因为 Jsoup 的
阅读全文
在 Ngbatis 中解析 xml 的工具是 Jsoup,因为之前没有接触过,在这里简要的介绍和编写一下。 查了一些资料,Jsoup 似乎用作爬虫和解析 HTML 的场景比较多, 但是 XML 是一样的,同样是将页面解析为一个 DOM 树,然后使用 Jsoup 提供的方法来查询。因为 Jsoup 的
阅读全文
摘要:
先说结论。 线程池的创建分为两种: Executors ThreadPoolExecutor Executors 是一个线程池的工具类,而 ThreadPoolExecutor 是 Executors 的具体实现。ThreadPoolExecutor 是 Executor 接口的一个实现,是线程池的
阅读全文
先说结论。 线程池的创建分为两种: Executors ThreadPoolExecutor Executors 是一个线程池的工具类,而 ThreadPoolExecutor 是 Executors 的具体实现。ThreadPoolExecutor 是 Executor 接口的一个实现,是线程池的
阅读全文
摘要:
在学习Ngbatis的源码时,看到了有关xml文件的加载,涉及到了资源的加载,对相关知识进行总结与整理。 1. 相关类 Resource AbstractResource ResourceLoader DefaultResourceLoader ResourcePatternResolver Pat
阅读全文
在学习Ngbatis的源码时,看到了有关xml文件的加载,涉及到了资源的加载,对相关知识进行总结与整理。 1. 相关类 Resource AbstractResource ResourceLoader DefaultResourceLoader ResourcePatternResolver Pat
阅读全文
摘要:
Ngbatis源码阅读之连接池的创建 1. NebulaPool的创建 NgbatisBeanFactoryPostProcessor 这个类实现了 BeanFactoryPostProcessor 后置处理器,Ngbatis 连接池的创建就在 postProcessBeanFactory 中实现。
阅读全文
Ngbatis源码阅读之连接池的创建 1. NebulaPool的创建 NgbatisBeanFactoryPostProcessor 这个类实现了 BeanFactoryPostProcessor 后置处理器,Ngbatis 连接池的创建就在 postProcessBeanFactory 中实现。
阅读全文
摘要:
关于Maven的生命周期与命令 工作的时候对Maven的install和package的使用产生了一些疑问,干脆将Maven的整个生命周期都复习总结一遍。 先看下在IDEA中Maven的生命周期节点: clean clean是清理命令,相当于执行了 mvn clean 命令。 清理当前工程编译后生成
阅读全文
关于Maven的生命周期与命令 工作的时候对Maven的install和package的使用产生了一些疑问,干脆将Maven的整个生命周期都复习总结一遍。 先看下在IDEA中Maven的生命周期节点: clean clean是清理命令,相当于执行了 mvn clean 命令。 清理当前工程编译后生成
阅读全文
摘要:
由BeanFactoryPostProcessor想到 在看Ngbatis源码时看到了对BeanFactoryPostProcessor后置处理器的使用,对其的使用并不是很了解,在此做一些学习和总结。 1. 相关类 BeanFactoryPostProcessor BeanDefinitionReg
阅读全文
由BeanFactoryPostProcessor想到 在看Ngbatis源码时看到了对BeanFactoryPostProcessor后置处理器的使用,对其的使用并不是很了解,在此做一些学习和总结。 1. 相关类 BeanFactoryPostProcessor BeanDefinitionReg
阅读全文
摘要:
ApplicationContextInitializer接口类的使用和原理解读 在看Ngbatis源码的过程中,看到了自定义的ApplicationContextInitializer实现类,对ApplicationContextInitializer接口不是特别的理解,所以趁此机会总结下对其的理
阅读全文
ApplicationContextInitializer接口类的使用和原理解读 在看Ngbatis源码的过程中,看到了自定义的ApplicationContextInitializer实现类,对ApplicationContextInitializer接口不是特别的理解,所以趁此机会总结下对其的理
阅读全文
摘要:
关于maven pom文件的packaging属性 前几天在调试源码运行程序的时候,因为将项目中pom文件的packaging属性用错导致源码包无法引入使用而报Bean注入错误,在此进行总结整理记录。 packaging是maven的pom.xml中的一个标签,用于指定maven项目的输出格式,也就
阅读全文
关于maven pom文件的packaging属性 前几天在调试源码运行程序的时候,因为将项目中pom文件的packaging属性用错导致源码包无法引入使用而报Bean注入错误,在此进行总结整理记录。 packaging是maven的pom.xml中的一个标签,用于指定maven项目的输出格式,也就
阅读全文
摘要:
format string is malformed java 最近在做代码审查,发现很多在使用 String.format 的时候遇到了IDEA报的 Format string 'xxx' is malformed 警告。 顾名思义,错误是标识字符串格式不正确,也就是说由于使用了格式不正确的字符串
阅读全文
format string is malformed java 最近在做代码审查,发现很多在使用 String.format 的时候遇到了IDEA报的 Format string 'xxx' is malformed 警告。 顾名思义,错误是标识字符串格式不正确,也就是说由于使用了格式不正确的字符串
阅读全文
摘要:
GC日志解读解析 示例代码 package jvm.test1; import java.util.Random; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.LongAdder; /** * GC
阅读全文
GC日志解读解析 示例代码 package jvm.test1; import java.util.Random; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.LongAdder; /** * GC
阅读全文
摘要:
关于swap的理解 概念 swap就是内存交换的意思。 计算机内存分为物理内存和虚拟内存。物理内存就是计算机实际内存的大小;虚拟内存是磁盘空间里开辟出一部分,是虚拟出来的内存空间,所以也叫磁盘缓存。 虚拟内存使得计算机在内存不够的情况可以得到部分解决。 程序运行的时候会在虚拟内存与物理内存之间进行替
阅读全文
关于swap的理解 概念 swap就是内存交换的意思。 计算机内存分为物理内存和虚拟内存。物理内存就是计算机实际内存的大小;虚拟内存是磁盘空间里开辟出一部分,是虚拟出来的内存空间,所以也叫磁盘缓存。 虚拟内存使得计算机在内存不够的情况可以得到部分解决。 程序运行的时候会在虚拟内存与物理内存之间进行替
阅读全文
摘要:
BigDecimal与Double的区别和使用场景 背景 在项目中发现开发小组成员在写程序时,对于Oracle数据类型为Number的字段(经纬度),实体映射类型有的人用Double有的人用BigDecimal,没有一个统一规范,为此我在这里总结记录一下。 一般说到BigDecimal与Double
阅读全文
BigDecimal与Double的区别和使用场景 背景 在项目中发现开发小组成员在写程序时,对于Oracle数据类型为Number的字段(经纬度),实体映射类型有的人用Double有的人用BigDecimal,没有一个统一规范,为此我在这里总结记录一下。 一般说到BigDecimal与Double
阅读全文
摘要:
SpringMVC关于@RequestBody加与不加的区别 前两天在做项目的时候遇到了这样一个问题,小组成员为了方便做接口测试,给Controller控制器上加了@RequestBody注解,但是前端请求接口时报错: org.springframework.web.HttpMediaTypeNot
阅读全文
SpringMVC关于@RequestBody加与不加的区别 前两天在做项目的时候遇到了这样一个问题,小组成员为了方便做接口测试,给Controller控制器上加了@RequestBody注解,但是前端请求接口时报错: org.springframework.web.HttpMediaTypeNot
阅读全文
摘要:
EventBus是Guava中的一个处理组件间通信的事件总线,是观察者模式的一种实现。相比于MQ更加简洁,轻量,使事件生产者和事件消费者实现解耦分离。
阅读全文
EventBus是Guava中的一个处理组件间通信的事件总线,是观察者模式的一种实现。相比于MQ更加简洁,轻量,使事件生产者和事件消费者实现解耦分离。
阅读全文
摘要:
# Spring 6.0源码解析之@Configuration 首先写一个启动代码: ```java public class ConfigurationAnnotationTest { private static final Logger LOGGER = LoggerFactory.getLo
阅读全文
# Spring 6.0源码解析之@Configuration 首先写一个启动代码: ```java public class ConfigurationAnnotationTest { private static final Logger LOGGER = LoggerFactory.getLo
阅读全文
摘要:
@Configuration 标注在类上,启动 Spring 会自动扫描@Configuration注解的类,将其注册到IOC容器并实例化bean对象。如果在@Configuration注解的类中使用@Bean注解某个类对象的方法,Spring也会自动将注解了@Bean的方法注册到IOC容器,并进行
阅读全文
@Configuration 标注在类上,启动 Spring 会自动扫描@Configuration注解的类,将其注册到IOC容器并实例化bean对象。如果在@Configuration注解的类中使用@Bean注解某个类对象的方法,Spring也会自动将注解了@Bean的方法注册到IOC容器,并进行
阅读全文

浙公网安备 33010602011771号