![](https://img-blog.csdnimg.cn/direct/acecc492d7934cf29ad403ac3c7ffaad.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java篇
文章平均质量分 65
分享Java相关知识
程序员王小黑
Java | 大模型 | 架构设计 | 工程项目管理 | 思考感悟
展开
-
Spock单元测试框架使用介绍和实践
Spock是一款国外优秀的测试框架,基于BDD(行为驱动开发)思想实现,功能非常强大。Spock结合Groovy动态语言的特点,提供了各种标签,并采用简单、通用、结构化的描述语言,让编写测试代码更加简洁、高效。原创 2024-07-17 19:13:05 · 1325 阅读 · 0 评论 -
【Springboot】事件机制发布与订阅的使用实践
在Springboot中,事件机制(Event Mechanism)是一种强大的工具,**用于解耦组件之间的通信**。通过事件机制,组件可以通过发布和监听事件来进行交互。本文将介绍Springboot的事件监听机制的概念原理、其使用场景,并通过一个实践例子展示其使用过程。原创 2024-07-16 11:00:56 · 917 阅读 · 0 评论 -
开发常用的一种鉴权方案-JWT实践教程
JWT(JSON Web Token)是目前最流行的跨域认证解决方案,被广泛应用于认证和授权场景,尤其是在无状态的 RESTful API 中。本文将主要介绍 JWT 的概念、原理,并通过 Java 示例展示其实际应用。并通过微信小程序登录的场景,实战演练JWT在项目中的应用。原创 2024-06-24 16:22:01 · 909 阅读 · 0 评论 -
使用阿里开源的Spring Cloud Alibaba AI开发第一个大模型应用
前段时间看到Spring推出了SpringAI,可以方便快速的接入ChatGPT等国外的大模型,现在阿里巴巴也紧追脚步推出了Spring Cloud Alibaba AI,本文通过Spring Cloud Alibaba AI开发第一个大模型应用。原创 2024-06-21 16:58:50 · 1243 阅读 · 0 评论 -
mybatis-plus使用教程
MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上进行了很多扩展和优化,旨在减少开发人员的工作量。原创 2024-06-03 16:53:51 · 186 阅读 · 0 评论 -
Maven全局排除依赖用法
项目中有很多依赖,某些Jar之间是有冲突的,有些冲突只有在运行时才会报出错误,直接部署到线上会很危险。原创 2024-06-02 18:01:09 · 359 阅读 · 0 评论 -
不同的Git仓库单独设置用户名和邮件地址
给不同的git仓库设置不同的用户信息,区分公司和个人的仓库原创 2024-03-20 09:23:12 · 473 阅读 · 0 评论 -
建议收藏,Java Optional如何使用的最佳实践
Optional是Java8提供的为了解决null安全问题的一个API。善用Optional可以使我们代码中很多繁琐、丑陋的设计就可以变得十分优雅。本篇文章还介绍了如何使用Optional,以及推荐的方法。原创 2024-02-01 09:00:00 · 1986 阅读 · 0 评论 -
日期处理第四篇(终)- Java日期时间处理大总结
本文在前三篇的基础上,着重介绍日期时间的原理和概念以及经常用到的一些名词解释。最后把项目中经常遇到的一些问题记录下来,后续如果再遇到其他的问题,也会补充到这里,记得收藏关注。原创 2024-01-21 16:19:28 · 1251 阅读 · 0 评论 -
日期处理第三篇:Hutool的日期时间工具-DateUtil使用
Hutool中的日期和时间API大量考虑中国时间格式,有着方便的方法可以直接使用,提高了我们的开发效率。如果你要处理农历时间,推荐直接使用hutool这个就行了,但是鉴于Java8中的API其实已经很方便了,所以尽量使用jdk8内置的即可。毕竟额外的包也会带来额外的负担,大家可以按需选择。原创 2024-01-19 14:22:02 · 1981 阅读 · 0 评论 -
日期处理第二篇:Java8新时间和日期API,看完你就全明白了
本篇主要介绍新增加的时间和日期API,它们被包含在java.time包中,它们的设计目标是提供更简洁、更可靠、更易用的日期和时间处理方式,避免了旧的Date和Calendar类的一些问题。通过这篇文章可以快速掌握Java里的日期和时间处理原创 2024-01-18 21:30:14 · 1032 阅读 · 0 评论 -
日期处理第一篇:优雅好用的Java日期工具类Joda-Time
日常开发中,处理时间和日期是很常见的需求。基础的java内置工具类只有Date和Calendar,但是这些工具类的api使用并不是很方便和强大,于是就诞生了Joda-Time这个专门处理日期时间的库。原创 2024-01-17 22:30:28 · 1759 阅读 · 0 评论 -
还在为crontab表达式发愁吗,快使用这个工具
是不是每次要定义cron表达式的时候,都去百度翻找资料,cron表达式难写难记真是苦天下程序员久已。有没有什么不拥记的办法就轻松掌握呢?最近发现这个**CrontabGuru**神器,强烈推荐,真是广大程序员的福音了。原创 2024-01-17 09:20:35 · 328 阅读 · 0 评论 -
cron表达式大全
Cron表达式是一种用于指定定时任务的时间表达式,常用来指定任务的执行时间、执行频率和执行间隔。它由6~7个字段组成,分别表示秒、分、时、日期、月份、星期、年份(可省略)。原创 2024-01-16 21:39:39 · 491 阅读 · 0 评论 -
了解<![CDATA[ ]]>的使用
通过使用CDATA标签,我们可以在XML文档中包含不需要解析的文本数据,确保其中的特殊字符或大段文本得到正确处理。这是XML中一个强大且常用的特性,对于处理各种类型的数据都非常有帮助。原创 2024-01-16 14:12:21 · 4488 阅读 · 0 评论 -
Apache StringUtils:Java字符串处理工具类
在我们的代码中经常需要对字符串判空,截取字符串、转换大小写、分隔字符串、比较字符串、去掉多余空格、拼接字符串、使用正则表达式等等。如果只用 String 类提供的那些方法,我们需要手写大量的额外代码,不然容易出现各种异常。现在有个好消息是:org.apache.commons.lang3包下的StringUtils工具类,给我们提供了非常丰富的选择。原创 2024-01-15 09:14:43 · 1660 阅读 · 1 评论 -
搞定 Excel 繁琐操作:轻松掌握 EasyExcel 的使用技巧
本文简单介绍EasyExcel的使用技巧,以及实际工作中总结的最佳实践。无论是读取Excel文件、写入Excel文件还是填充Excel文件,EasyExcel都提供了非常简单、易用且高效的解决方案。原创 2024-01-14 10:00:00 · 1817 阅读 · 0 评论 -
使用Guava Retrying优雅的实现业务异常重试
Guava Retryer 工具与 Spring Retry 类似,都是通过定义重试者角色来包装正常逻辑重试。然而,Guava Retryer 在策略定义方面更优秀。它不仅支持设置重试次数和重试频度控制,还能够兼容多个异常或自定义实体对象的重试源定义,从而提供更多的灵活性。这使得 Guava Retryer 能够适用于更多的业务场景,比如网络请求、数据库访问等。原创 2024-01-10 09:00:28 · 1249 阅读 · 0 评论 -
IntelliJ IDEA 如何编译 Maven 工程项目
通过这篇文章,你不仅学会了如何在IntelliJ IDEA中基本地编译Maven项目,还了解了一些高级技巧。IntelliJ IDEA为Maven项目提供了强大而灵活的支持,让Java开发者能够更加高效地构建和管理项目。希望这些指南能够帮助你更好地利用IntelliJ IDEA进行Java项目的开发和构建。原创 2024-01-08 10:16:09 · 2896 阅读 · 2 评论 -
Springboot和Spring有什么区别
简单来说,Spring Boot不是替代Spring的解决方案,而是用于加速Spring应用开发的工具,通过减少配置和开发工作量,使得开发者能够更快速地搭建和开发Spring应用程序。原创 2024-01-05 10:36:22 · 1020 阅读 · 0 评论 -
使用Spring Retry优雅的实现业务异常重试
你还在用for循环重试业务逻辑吗,来看看Spring Retry如何优雅的实现重试机制原创 2024-01-02 17:45:56 · 452 阅读 · 0 评论 -
JVM常用参数配置
记住这十个常用参数,就可以进行JVM性能调优和问题排查了原创 2024-01-02 14:57:08 · 477 阅读 · 0 评论 -
使用jmap排查内存
使用jmap导出内存快照分析原创 2023-12-29 10:30:31 · 449 阅读 · 0 评论 -
使用SpringBoot开发一个API网关
使用SpringCloud GateWay来满足我们业务的需求,即使需要在网关层实现一些具体的业务逻辑,我们也可以在开源的基础上进行二次开发。但如果我们只需要使用API网关核心的能力,同时需要在API层实现一些业务逻辑,我们基于SpringBoot自己来实现API网关。我们可以怎样来实现呢?通过结合实际业务需求以及对开源API网关的的学习。原创 2023-11-21 18:00:09 · 243 阅读 · 0 评论 -
Maven仓库配置
maven仓库配置原创 2023-01-18 13:58:11 · 640 阅读 · 1 评论 -
java线程池拒绝策略的使用
现实中,我们设置的队列长度会更长,或者用无界队列(LinkeBlockingQueue,默认长度是Integer.MAX),但即使如此不可以否认还是会超出长度,而执行拒绝策略,而且线程池太大,也容易影响机器性能,而拖垮机器。方法一比较简单易懂,但其实线程池内部的原理大概类似,如果超出queue了,其实会临时开辟了临时线程执行,再执行拒绝策略。往线程池里提交的时候,我们判断一下,是不是超出长度了,超出了, 就歇一会,等会再提交。那我们就搞点东西,让他不要超出queue的长度就好了,其实有很多种方式。原创 2022-10-26 09:20:08 · 271 阅读 · 0 评论 -
Java解析带有时间单位的字符串
时间单位解析原创 2022-10-19 10:24:46 · 505 阅读 · 0 评论 -
Git第一次推送到远程空仓库
远程已经建好git仓库了,但是什么也没有,我们需要在本地建好项目,再推送到远程仓库原创 2022-09-22 09:56:31 · 1096 阅读 · 3 评论 -
由Equals与==的区别所引发的问题
1、equals与==的区别(1)如果通过String str = "kingsea"这样对String变量赋值,两种方式比较的结果是一样的。因为这样赋的内容一样时,系统就会直接从地址池里取出“kingsea”给str2,所以str1与str2的地址是一样的。但是如果通过String str = new String("Kingsea");这样对String对象赋值,两种比较的结果就不一样了。原创 2013-10-06 19:44:22 · 866 阅读 · 0 评论 -
推荐Java博客
给大家推荐一个很好的博可站,里面的内容很好,虽是英文但很容易读懂的。http://www.programcreek.com/原创 2013-11-03 20:35:58 · 605 阅读 · 0 评论 -
length & length()
1、第一个问题:如何获取一个数组的长度,如何获取一个字符串的长度?length是数组的一个属性,length()是字符串的一个方法,分别用来获取他们的长度。2、第二个问题:为什么数组有length属性?数组一旦被创建,数组的长度就是不可变的,是一个final类型的变量,所以它可以被作为数组的属性。3、第三个问题:为什么String有length()方法?String对象背后翻译 2013-11-24 22:05:09 · 1112 阅读 · 0 评论 -
为什么string是不可变的
这只是对原文章的一个简单翻译和总结,建议看原文章:http://www.programcreek.com/2013/11/start-from-length-length-in-java/#more-10287翻译 2013-11-25 22:19:11 · 779 阅读 · 0 评论 -
关于List里存放对象的一个问题
下图是我在编程中遇到的一个wen原创 2014-08-08 10:34:01 · 1738 阅读 · 0 评论 -
java与javac版本不一致问题
java与javac版本不一致问题问题描述:设置了环境变量JAVA_HOME为jdk1.5.0_14的安装目录,并且在PATH变量中加入了%JAVA_HOME%\bin,但在Windows命令行下, 执行java -version却显示:java version “1.6.0_13” 而执行javac -version显示:javac 1.5.0_14原因分析:同时安装了jdk1.5.0_14和转载 2015-02-26 11:26:04 · 2233 阅读 · 0 评论 -
Eclipse一飘而过的解决办法
解决方式: 1. 通过在命令行中输入“where java”,找到除jdk目录下的所有java相关程序,直接删掉(一般会在C:\WINDOWS\system32下) 2. 内存不足,打开Eclipse目录下的eclipse.ini,把里面的-Xmx512m改成-Xmx256m 3. 检查环境变量,path变量中将jdk路径放在最前边(开头的“.;”直接后边) 4. 检查环境变量,path变量转载 2015-10-20 09:40:51 · 458 阅读 · 0 评论 -
JAVA 压缩文件和解压文件
JAVA 压缩文件和解压文件 使用到Apache的一个开源Jar包ant-1.9.4.jarJava 压缩文件 public void zip(List<File> files, String zipFilepath) throws BuildException, RuntimeExceptioan { Zip zip = new Zip(); fo原创 2015-08-11 10:17:34 · 777 阅读 · 0 评论 -
将eclipse编码格式改为utf-8的方法
打开eclipse目录下的文件eclipse.ini在最后添加-Dfile.encoding=UTF-8原创 2013-11-15 21:35:48 · 981 阅读 · 0 评论