
Java
文章平均质量分 58
一些Java技术分享
matrixlzp
当机器像人一样思考,编程技巧将会过时。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java 生成图形验证码
图形验证码是一种广泛应用于互联网领域的安全验证机制,它通过向用户展示包含字符、数字、图形等信息的图片,要求用户正确识别并输入其中的内容,以此来区分用户是人类还是机器程序。今天,我们来分析一下 vue3-element-admin 前后端代码,以便抽离出一套通用的图形验证码实现。vue3-element-admin 的前后端环境搭建,可以看。让我们致敬开源的力量!原创 2025-03-11 16:46:06 · 815 阅读 · 0 评论 -
Java 调试模式下 Redisson 看门狗失效
前几天在做分布式锁测试:在调试模式下,lock.lock() 之后打上断点,想测试一下在当前线程放弃锁之前,别的线程能否获取得到锁。发现调试模式下,看门狗机制失效了,Redis 上 30 秒后,锁就没了:看门狗失效尝试改为 Thread.sleep 之后就可以了:看门狗正常会现有一个 30 秒的锁,倒计时到 20 秒的时候,又续期为 30 秒,就这样跑了 40 秒以后,锁释放。原创 2025-02-27 13:58:11 · 364 阅读 · 0 评论 -
Java 责任链模式 减少 if else 实战案例
先说缺点:责任链的缺点,是造成类的膨胀。大家仔细观察上面的代码,会发现,责任处理类,好像是把刚开始的 if else 伪代码,分到一个个处理类里面去了而已。而且使用设计模式,它甚至并没有提高代码的执行效率。优点:写代码并不是做外包,写完就扔,它还得考虑可读性、可维护性和可扩展性。可维护性和可扩展性的前提,就是可读性。一段代码如果过几天,连自己都看不明白,那这种代码,它基本就没有什么可维护性了。原创 2024-11-14 10:59:54 · 1165 阅读 · 0 评论 -
Java Iterator 实现杨辉三角
【代码】Java Iterator 实现杨辉三角。原创 2024-11-03 23:59:37 · 444 阅读 · 1 评论 -
Java 用属性名称字符串获取属性对象
java 中没有 python 一样的方法,通过属性名称直接获取属性值。java 中有 Map, 可以实现类似功能,但是如果我们现在有一个对象,要通过Map的方式获取属性值,还得先将对象转成Map,这需要借助一些JSON工具。java 中能依赖的,就只有反射了。java 原生的反射接口都太繁琐,而且还得捕获各种异常。借助 spring ReflectionUtils 工具可以帮我们快速地实现这种功能。原创 2024-10-09 10:49:23 · 622 阅读 · 0 评论 -
IDEA 设置自动定位文件
IDEA 在使用的过程中,发现有时候,打开一个类,它并不能自动帮我们在左侧 Project 树中定位出文件,需要自己手动点击 瞄准 图标。很不方便。原创 2024-10-02 23:03:51 · 2752 阅读 · 0 评论 -
Java 方法前面加 <T> 是做什么?泛型方法 原理、样例
在 Java 中,方法前面加上 表示该方法是一个。允许你在方法签名中指定一个或多个,从而使得该方法可以处理多种类型的对象。这增加了代码的灵活性和复用性。原创 2024-10-02 17:48:05 · 1348 阅读 · 0 评论 -
Java SPI 原理、样例
假设现在有一个权威机构,比如 Java,它需要对数据存储进行规范。它定义了一个数据存储接口,和一个加载实现类的工具类。/*** 数据存储接口*//*** 加载 存储服务 工具*/// 从类路径 resources/META-INF/services 下加载 存储服务提供者步骤:1)用IDEA 新建一个 maven 项目,取名叫 storage-specification2)新建上述两个类。原创 2024-09-28 22:23:34 · 1162 阅读 · 0 评论 -
IDEA 高版本创建 Spring Boot 项目选不到 java 8
现在高版本的 IDEA,创建 Spring Boot 项目时常常会选不到 Java 8: 直接使用 Java 17 新建项目,又会报错:配置 Server URL,在弹出来的对话框中,输入 现在就可以选到 Java 8 愉快地玩耍了。原创 2024-09-28 20:25:53 · 810 阅读 · 1 评论 -
SpringBoot 属性大写无法绑定
假设有如下一个对象,它的三个属性全部大写。在使用 SpringMVC 进行接口调用的时候,会发现入参 member 的属性并没有正确绑定。像这种属性全部大写的情况,也是我们平常可能会遇到的场景。比如,这个接口是开放给第三方回调的,第三方回调的 JSON 报文 的对象属性并不一定都是严格的首字母小写驼峰格式。有时候跨语言系统的相互调用,这种情况就更常见了。原创 2024-09-28 15:14:26 · 592 阅读 · 0 评论 -
Javax Validation 自定义注解校验(身份证号校验)
ConstraintValidator 是 javax validation 规范提供给我们的一个实现数据校验的接口。像 hibernate.validator 就有很多这个接口的实现,像我们常见的等都是它的实现。以上代码,参考 NotNullValidator 的实现。原创 2024-09-26 15:00:45 · 1444 阅读 · 0 评论 -
IDEA Dependency Analyzer 分析 maven 项目包的依赖
javax.validation 是我们 SpringMVC 常用的数据校验框架。但是 javax.validation 是一个规范(Java Bean Validation,简称 JSR 380),它并没有具体的实现,它的常用实现,是hibernate-validator。奇怪的是,我们在使用 SpringMVC 的时候,并没有人为地去引用这两个包,那到底是谁帮我们做了这些事情的呢?谁帮我们引入了 javax.validation 和 hibernate-validator 依赖的呢?原创 2024-09-26 11:56:52 · 2587 阅读 · 0 评论 -
Javax Validation 嵌套对象验证失效
假设有如下两个对象,学生 Student 和 课程 Course,学生对象关联着课程对象。现在我们想校验,学生对象的字段,以及它所关联的课程对象的字段。我们使用了 javax @NotNull 注解。现在有这样一个 Controller,我们在方法入参加上注解 java @Valid,用来校验 Student。我们希望不管 学生 Student 和 课程 Course 凡是加上 @NotNull 注解的属性,都能进行非空校验。访问测试。原创 2024-09-26 10:26:42 · 508 阅读 · 0 评论 -
Java 获取今天周几
【代码】Java 获取今天周几。原创 2024-09-17 22:37:48 · 526 阅读 · 0 评论