自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 资源 (17)
  • 收藏
  • 关注

原创 【Spring AOP】@Aspect、 @Pointcut使用@annotation + 五种通知Advice注解

在微服务流行的当下,在使用SpringCloud/Springboot框架开发中,AOP使用的非常广泛,尤其是`@Aspect注解方式`当属最流行的,不止功能强大,性能也很优秀,还很舒心!

2025-04-03 18:33:55 974

原创 记一次Error querying database. Cause: java.lang.NumberFormatException: For input string: “xxx“

在解析单引号+单字符( ‘Y’) 时,默认解析为 char 类型的原因是因为在 Java 中,单引号括起来的字符常量被认为是 char 类型的值。因此,MyBatis 遵循了 Java 语言对于单引号和双引号的解释规则,以便更好地处理表达式中不同类型的常量值。另一方面,当使用单引号+多字符 (‘AA’) 或者双引号+单字符( “A”) 时,这会被解释为 String 类型的值,因为单引号+多字符或者双引号+单字符在 Java 中被视为字符串常量。修改后的sql语句: 采用双引号+单字符的格式。

2025-03-28 18:18:52 242

原创 Mysql 查看数据库各个库表占用空间

【代码】Mysql 查看数据库各个库表占用空间。

2025-02-11 14:16:49 407

原创 Java本地缓存之王Caffeine详解

利用这类缓存足以解决大多数的性能问题了,我们也要知道,这种属于remote cache(分布式缓存),应用的进程和缓存的进程通常分布在不同的服务器上,不同进程之间通过RPC或HTTP的方式通信。这种缓存的优点是缓存和应用服务解耦,支持大数据量的存储,缺点是数据要经过网络传输,性能上会有一定损耗。与分布式缓存对应的是本地缓存,缓存的进程和应用进程是同一个,数据的读写都在一个进程内完成,这种方式的优点是没有网络开销,访问速度很快。在创建缓存对象的同时,可以指定此缓存对象的一些处理策略,比如。

2025-01-06 16:34:36 976

原创 RedisTemplate执行lua脚本及Lua 脚本语言详解

在开发中,我们经常需要与Redis数据库进行交互,而Redis是一个基于内存的高性能键值存储数据库,它支持多种数据结构,并提供了丰富的命令接口。在某些情况下,我们可能需要执行一些复杂的逻辑操作,这时可以使用Lua脚本来实现这些逻辑,而Redis提供了执行Lua脚本的功能。在Spring应用程序中,我们可以使用RedisTemplate来执行Lua脚本。

2025-01-06 11:29:53 1251 1

原创 Jboss EnhancedQueueExecutor 使用案例及源码解读

以上涉及到的代码均在类。

2025-01-03 16:54:13 830

原创 JetCache-Alibaba缓存框架

官方网址:https://github.com/alibaba/jetcache官方文档:https://github.com/alibaba/jetcache/tree/master/docs/CNJetCache对SpringCache进行了封装,在原有功能基础上实现了多级缓存、缓存统计、自动刷新、异步调用、数据报表等功能JetCache设定了本地缓存与远程缓存的多级缓存解决方案。

2024-12-27 14:32:36 1171

原创 Linux 实用命令 grep、wc

wc 命令是一个非常实用的工具,适用于多种文件统计场景。更灵活地使用 wc 命令来统计文件的行数、单词数、字节数和字符数。无论是简单的文件统计还是复杂的文本处理,wc 命令都能提供强大的支持。

2024-12-27 11:04:46 937

原创 MongoDB的常用语句

MongoDB 是免费开源的跨平台 NoSQL 数据库,命名源于英文单词 huus,意思是「巨大无比」,可见开发组对 MongoDB 的定位。文档型的数据存储方式有几个重要好处:文档的数据类型可以对应到语言的数据类型,如数组类型(Array)和对象类型(Object);文档可以嵌套,有时关系型数据库涉及几个表的操作,在 MongoDB 中一次就能完成,可以减少昂贵的连接花销;文档不对数据结构加以限制,不同的数据结构可以存储在同一张表。MongoDB 的文档数据模型和索引系统能有效提升数据库性能;

2024-10-24 11:22:06 597

原创 SpringMvc 之处理器方法参数解析器(HandlerMethodArgumentResolver)

`HandlerMethodArgumentResolver` 是 Spring MVC 框架中的一个关键组件,用于解析控制器(Controller)方法的参数。在 Spring MVC 中,当一个请求到达时,DispatcherServlet 会负责找到对应的处理器(即控制器中的方法)来处理这个请求。在处理之前,需要解析方法的参数,这就是`HandlerMethodArgumentResolver` 的作用。换句话说,它负责将请求中的信息转换成处理器方法所需的参数类型,即它允许开发者将请求参数直接映射到处

2024-09-09 15:33:17 1409

原创 Spring之拦截器(HandlerInterceptor)

在web开发中,拦截器是经常用到的功能,用于拦截请求进行预处理和后处理,一般用于以下场景:1. 日志记录,可以记录请求信息的日志,以便进行信息监控、信息统计、计算PV(Page View)等等。2. 权限检查:如登陆检测,进入处理器检测是否登陆,如果没有直接返回到登陆页面。3. 性能监控:有时候系统在某段时间莫名其妙的慢,可以通过拦截器在进入处理器之前记录开始时间,在处理完后记录结束时间,从而得到该请求的处理时间(如果有反向代理,如apache可以自动记录);4. 通用行为:读取cooki

2024-09-06 10:35:28 1965 1

原创 JAVA之MAC详解以及子线程MDC传递

MDC(Mapped Diagnostic Context)是用于分布式系统中跟踪和诊断日志的重要概念。是一个在Java项目中用于日志跟踪的工具,它允许你在多线程环境下关联和传递特定的上下文信息。MDC是一个线程本地的、可维护的、可传递的上下文环境。在Java中,MDC主要用于在应用程序的不同组件之间传递日志上下文信息,例如用户会话ID,请求ID,用户身份信息等。MDC让你可以将这些信息关联到特定的日志事件中,以便后续的日志处理器(如日志输出器)能够在日志中显示或处理这些信息。

2024-08-23 10:31:47 647

转载 MapStruct 实体类转换工具,看这一篇就够了!

在一个成熟的工程中,尤其是现在的分布式系统中,应用与应用之间,还有单独的应用细分模块之后,DO 一般不会让外部依赖,这时候需要在提供对外接口的模块里放 DTO 用于对象传输,也即是 DO 对象对内,DTO对象对外,DTO 可以根据业务需要变更(只需部分字段或字段名不同等),并不需要映射 DO 的全部属性。这种 对象与对象之间的互相转换,就需要有一个专门用来解决转换问题的工具,毕竟每一个字段都 get/set 会很麻烦。MapStruct 就是这样的一个属性映射工具,只需要定义一个 Mapper 接口

2024-08-16 10:05:31 4333

原创 Java的Duration类:掌握时间间隔的魔法

在Java编程中,处理时间间隔是一项常见任务。Java 8引入了Duration类,提供了方便的方法来处理和计算时间间隔。本文将介绍Duration类的定义、常见用法以及与其他时间类的比较。

2024-08-07 14:46:24 2432

原创 Java LocalDateTime 的常用方法总结

/ 自定义格式化:System.out.println("自定义格式dtf1: " + dtf1.format(LocalDateTime.now()));//自定义格式dtf1: 2024/08/05 17:19:50System.out.println("自定义格式dtf2: " + dtf2.format(LocalDateTime.now()));//自定义格式dtf2: 2024.08.05 17:19:50。

2024-08-05 17:26:17 1186

原创 Java各类日期和时间转换超强总结(Date和LocalDateTime相互转换等)

大家在开发过程中必不可少得和日期打交道,对接别的系统时,时间日期格式不一致,每次都要转换!从 Java1 到 Java8 将近 20 年,再加上 Java8 的普及时间、各种历史 API 兼容过渡时间。我们很多时候需要在旧时间 API 与新时间 API 之间切换,并行使用!!!每次写完就忘记了,小编专门来整理一篇来详细说一下他们转换的方法,方便后面使用!!

2024-08-03 17:44:51 4277 1

原创 【SpringBoot】 定时任务之任务执行和调度及使用指南

本文将着重介绍Spring中的TaskExecutor接口、TaskScheduler接口、Trigger接口以及Spring中定时任务的任务执行和调度以及开发中的正确使用姿势。

2024-08-03 11:36:24 1897

原创 SpringCloud之@FeignClient()注解的使用方式

是 Spring Cloud 中用于声明一个 Feign 客户端的注解。由于SpringCloud采用分布式微服务架构,难免在各个子模块下存在模块方法互相调用的情况。比如订单服务要调用库存服务的方法,@FeignClient()注解就是为了解决这个问题的。Feign 是一个声明式的 Web Service 客户端,它的目的是让编写 HTTP 客户端变得更简单。通过 Feign,只需要创建一个接口,并使用注解来描述请求,就可以直接执行 HTTP 请求了。

2024-07-24 16:54:11 5500

原创 Kafka系列之如何提高消费者消费速度

在实际开发过程中,如果使用Kafka处理超大数据量(千万级、亿级)的场景,Kafka消费者的消费速度可能决定系统性能瓶颈。

2024-07-22 16:17:17 2705 1

原创 绘图工具,可绘制流程图、时序图、UML类图等

可通过以下地址下载客户端:也可直接访问以下地址通过网页版绘图:

2024-07-15 15:15:50 185

原创 SpringBoot使用Redisson操作Redis及使用场景实战

从 spring-boot 2.x 版本开始,spring-boot-data-redis 默认使用 Lettuce 客户端操作数据。

2024-07-11 15:46:34 6246 4

原创 SpringBoot使用RedisTemplate、StringRedisTemplate操作Redis

本文实现了在SpringBoot中集成Redis,使用RedisTemplate对象操作并编写了一些常用方法的工具类。RedisTemplate和StringRedisTemplate的区别:1. 两者的关系是StringRedisTemplate继承RedisTemplate。////this();

2024-07-10 15:03:04 5093

原创 kafka系列之offset超强总结及消费后不提交offset情况的分析总结

消费端如果没有提交offset,程序不会阻塞或者重复消费,除非在消费到这个你没有提交offset的消息时你新增或者减少消费端,此时会发生rebalance现象,即可再次消费到这个未提交offset的数据,产生重复消费问题。如果在消费的过程中有几条或者一批数据数据没有提交offset(比如异常情况程序没有走到手动提交的代码),后面其他的消息消费后正常提交offset至服务端,那么服务端会更新为消费后最新的offset,不会重新消费,就算重启程序或者rebalance也不会重新消费。

2024-07-05 17:37:30 2922

原创 Kafka系列之@KafkaListener常用参数详解

KafkaListener 注解提供了许多可配置的参数,以便更灵活地定制 Kafka 消息监听器的行为。

2024-07-05 11:33:14 2634

原创 Kafka系列之SpringBoot集成Kafka

本文介绍如何在springboot项目中集成kafka收发message。

2024-07-04 18:16:36 1165

原创 Kafka系列之Kafka知识超强总结

Kafka 集群包含一个或多个服务器,服务器节点称为broker。broker存储topic的数据。如果某topic有N个partition,集群有N个broker,那么每个broker存储该topic的一个partition。如果某topic有N个partition,集群有(N+M)个broker,那么其中有N个broker存储该topic的一个partition,剩下的M个broker不存储该topic的partition数据。

2024-07-04 10:05:36 1575

原创 mybatis配置返回boolean类型

在业务开发中,我们可能会遇到这样的需求:在对数据进行操作时,先判断有没有对应的记录,如果有,再进行操作。实现的方式有多种,现针对mybatis的实现进行说明。Mybatis是根据查询到的记录数进行转换的(1表示为true,0表示为false)。然而,如果查询到多条记录(大于1),则返回的布尔值为false。这个和mysql的版本有关系,故为了兼容版本我们可以考虑做如下sql改造使用。

2024-07-02 18:21:21 1284

原创 mybatis之动态标签

有些时候,sql语句where条件中,需要一些安全判断,例如按性别检索,如果传入的参数是空的,此时查询出的结果很可能是空的,也许我们需要参数为空时,是查出全部的信息。这是我们可以使用动态sql,增加一个判断,当参数不符合要求的时候,我们可以不去判断此查询条件。

2024-07-01 19:19:05 1104

原创 MYBATIS大于等于、小于等于的写法

mybatis使用的是xml格式的文件。使用>和<号的时候,会存在与xml的标签的规范冲突。需要写成如下形式,否则会报错。

2024-06-27 11:31:03 4417

原创 apache集合工具类ListUtils

【代码】apache集合工具类ListUtils。

2024-06-18 14:58:48 399

原创 @Value 读取环境变量配置

Value属于spring的注解,在spring-beans包下,可以在 字段 或 方法参数 或 构造函数参数 上使用,通常用于属性注入。使用@Value(“${环境变量名}”)就可以直接读取到操作系统的环境变量,就算在properties或者yaml中指定同名属性值也会被系统环境变量值所覆盖,所以在平常自定义属性时避免与系统环境变量重名,最好加上前缀。比如,本地开发中,一些业务逻辑需要调用第三方代码,但又在本地调不通,怎么办。组件类,@Value必须在SpringBoot的组件中使用。

2024-05-31 14:47:30 1170 2

原创 SpringBoot 项目打印mybatis日志

只用在application.yaml 中配置以下内容,即可将mybatis 的 SQL 日志打印出来。换成自己的mapper接口文件所在的包目录。

2024-05-24 10:34:23 298

原创 @Scheduled注解简介

@Scheduled 定时任务处理

2024-04-17 17:17:08 668

原创 Swagger 详解

Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。总体来说,Swagger提供了一套标准的注解,开发者可以通过这些注解来描述他们的API,然后Swagger可以根据这些注解生成可交互的API文档。swagger2 最常用的5个注解。

2024-04-03 16:35:53 235

原创 史上最全的 Java 面试题和经典技术博文

尼恩公众号史上最全Java技术博文

2024-03-18 11:08:24 162

原创 JSR303参数校验与全局异常处理

我们在日常开发中,避不开的就是参数校验,有人说前端不是会在表单中进行校验的吗?在后端中,我们可以直接不管前端怎么样判断过滤,我们后端都需要进行再次判断, 为了安全。因为请求很容易绕过前端,比如当测试使用 PostMan 来发送请求,如果后端没有校验,不就乱了吗?肯定会有很多异常的。JSR-303规范(Bean Validation规范)提供了对 Java EE 和 Java SE 中的 Java Bean 进行验证的方式。该规范主要使用注解的方式来实现对 Java Bean 的验证功能。

2024-03-14 18:04:40 1041

原创 统一异常处理ControllerAdvice

在我们日常的开发过程中,通常会根据业务定义属于自己的异常,所以通过定制自己的异常处理器,来处理项目中大大小小、各种各样的异常。1、@ExceptionHandler注解标注的方法:用于捕获Controller中抛出的不同类型的异常,从而达到异常全局处理的目的;首先,ControllerAdvice本质上是一个Component,因此也会被当成组件扫描,一视同仁,扫扫扫。3、@InitBinder注解标注的方法:用于请求中注册自定义参数的解析,从而达到自定义请求参数格式的目的;

2024-03-14 16:22:05 563

原创 消息防骚扰方案设计

小时是精确防骚扰,当天的过期时间是自然天,即当前时间到晚上23:59:59,月有大小月之分,大月31天,小月30天,没必要精准区分,都以30天为准。修改可能不会立即生效,等待五分钟之后再起作用。

2024-03-06 10:58:52 210

原创 PA短信通道限额方案设计

客户可以在DA侧充值PA短信通道额度,MA侧要对PA短信通道做限额处理。

2024-03-06 10:54:44 707

原创 MySql的CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP

CURRENT_TIMESTAMP,则无论这个字段有木有set值都插入当前系统时间。在创建新记录的时候把这个字段设置为当前时间,但以后修改时,不再刷新它。在创建新记录的时候把这个字段设置为0,以后修改时刷新它。表示每次更新这条数据的时候,该字段都会更新成当前时间。在创建新记录和修改现有记录的时候都对这个数据列刷新。表示当插入数据的时候,该字段默认值为当前时间。TIMESTAMP的变体。

2024-03-06 10:51:38 541

zepto中文API

Zepto是知名的Locky家族的一个变种,使用AES结合RSA加密文件和保存加密密钥。这个家族的敲诈木马一般通过钓鱼邮件传播,敲诈0.5~3个比特币,其中敲诈3个比特币的样本最为流行,因此中招之后解密成本高昂。

2017-09-14

w3cschool中文API

W3CSchool 每月接受上百万人次的用户访问,并产生数千万的页面浏览量。 W3Cschool是一个专业的编程入门学习及技术文档查询应用,提供包括HTML,CSS,Javascript,jQuery,C,PHP,Java,Python,Sql,Mysql等编程语言和开源技术的在线教程及使用手册,是类国外w3schools的W3C学习社区及菜鸟编程平台。

2017-09-14

css4.0中文API

css是英文Cascading Style Sheets的缩写。 它是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。

2017-09-14

jQuery中文API

jQuery是一套跨浏览器的JavaScript库,简化HTML与JavaScript之间的操作。由John Resig在2006年1月的BarCamp NYC上发布第一个版本。目前是由 Dave Methvin 领导的开发团队进行开发。全球前10000个访问最高的网站中,有59%使用了jQuery,是目前最受欢迎的JavaScript库。

2017-09-14

JavaScript中文API

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

2017-09-14

HTM5中文API

在移动设备开发HTML5应用只有两种方法,要不就是全使用HTML5的语法,要不就是仅使用JavaScript引擎。 JavaScript引擎的构建方法让制作手机网页游戏成为可能。由于界面层很复杂,已预订了一个UI工具包去使用。 纯HTML5手机应用运行缓慢并错漏百出,但优化后的效果会好转。尽管不是很多人愿意去做这样的优化,但依然可以去尝试。 HTML5手机应用的最大优势就是可以在网页上直接调试和修改。原生应用的开发人员可能需要花费非常大的力气才能达到HTML5的效果,不断地重复编码、调试和运行,这是首先得解决的一个问题。现在html5的应用已经相当广泛,未来移动互联网都需要用到html5开发应用[2] HTML5的移植非常简单,但假设每个人都会让这变成一个自动化操作。

2017-09-14

bootstrap中文API

Bootstrap,来自 Twitter,是目前最受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking News都使用了该项目。

2017-09-14

angularJS中文API

angularJS是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入,等等。其API对于开发者来说意义非凡,亲测可用。

2017-09-14

RESTLET IN ACTION(中文版)

Restlet的开发实例,里面有restlet的开发教程以及源码

2017-03-15

RESTLET开发(三)

RESTLET开发实例(三)基于spring的REST服务

2017-03-15

RESTLET开发(二)

RESTLET开发实例(二)使用Component、Application的REST服务

2017-03-15

RESTLET开发

RESTLET开发实例(一)基于JAX-RS的REST服务

2017-03-15

gwt开发插件

gwt的开发插件,可以安装在64位的win7操作系统上进行gwt的开发测试。

2015-11-25

jQuery 1.8.0 API 中文手册

jQuery的中文帮助文档,chm格式,帮助您更有效的使用jQuery。

2015-11-25

Restlet开发实例

资源里面包含了Restlet从入门到高级的开发过程,对学习Restlet有很大的帮助

2015-05-07

SmartGwt4.0.jar

SmartGwt 4.0 的开发jar包,希望对大家有帮助,有额外需要的可以联系我

2015-05-07

pax-construct

Pax-Construct 是用来创建osgi工程的maven的插件,以后创建osgi架构的工程再也不用import一大堆plugin工程了。

2014-09-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除