java
文章平均质量分 67
java
JavaNice哥
Learning is like rowing upstream, not to advance is to drop back
展开
-
spring aop聊点不一样的东西
前几篇文章本打算写spring aop的,但是强忍着没有写(旁白:也有可能是没想好该怎么写😝),就是为了今天整个专题,因为它是spring中最核心的技术之一,实在太重要了。关于spring aop的文章网上一搜一大堆,但我想写点不一样的东西,尝试一种全新的写作风格,希望您会喜欢。原创 2024-05-12 14:41:17 · 596 阅读 · 0 评论 -
@Value竟然能玩出这么多花样
对于从事java开发工作的小伙伴来说,spring框架肯定再熟悉不过了。spring给开发者提供了非常丰富的api,满足我们日常的工作需求。如果想要创建bean实例,可以使用@Controller、@Service、@Repository、@Component等注解。如果想要依赖注入某个对象,可以使用@Autowired和@Resource注解。如果想要开启事务,可以使用@Transactional注解。如果想要动态读取配置文件中的某个系统属性,可以使用@Value注解。等等,还有很多。。。原创 2024-05-10 10:05:32 · 779 阅读 · 0 评论 -
@Autowired的这些新姿势,你学会了
最近review别人代码的时候,看到了一些@Autowired不一样的用法,觉得有些意思,特定花时间研究了一下,收获了不少东西,现在分享给大家。也许@Autowired比你想象中更强大。原创 2024-05-10 10:04:40 · 691 阅读 · 0 评论 -
synchronized 锁升级过程
synchronized 锁升级过程Java中的synchronized锁升级过程是JVM为了提高并发性能而引入的一种优化策略,它在JDK 1.6及更高版本中得到了显著的改进。原创 2024-04-10 16:39:15 · 377 阅读 · 0 评论 -
2简单抢红包代码
简单抢红包代码。原创 2024-04-10 16:38:32 · 409 阅读 · 0 评论 -
阿里云效flow流水线构建时内存不足
打开流水线,只有管理员和拥有者才能看到这个菜单。咨询阿里云后建议自己搭建私有化集群。云效flow流水线构建时内存不足。原创 2024-03-20 16:16:59 · 685 阅读 · 0 评论 -
Integer超过-128-127比较问题
也就是说int a1 = 127时,在范围之内,这个时候就存放在缓存中,当再创建a2时,java发现缓存中存在127这个数了,就直接取出来赋值给a2,所以a1 == a2的。查看Integer源码发现,Integer内部有一个静态变量缓存池IntegerCache,里面声明了一个Integer[]数组,范围-128——127,Jvm在运行时创建了一 个缓存区域并创建了一个integer的数组。这个数组存储了-128至127的值。5、6 看起来是一模一样的为什么一个是true,一个是false。原创 2024-02-06 16:23:40 · 382 阅读 · 0 评论 -
解决使用Springboot jpa update数据时报错Executing an update:delete query
解决org.springframework.dao.InvalidDataAccessApiUsageException: Executing an update/delete query;遇到如上情况“执行一个更新/删除查询”后面报错“javax的持久类的事务需求异常”通常情况下讲,是没有书写事务,就是在Service层或者Repository层上必须加@Transactional,来代表这是一个事务级别的操作,增删改查除了查都是事务级别的,就当这是一个规范也是ok的。原创 2024-02-06 09:25:17 · 1222 阅读 · 0 评论 -
spring三级缓存
这个很好理解,多个bean之间相互依赖,形成了一个闭环。比如:A依赖于B、B依赖于C、C依赖于A。B b;C c;A a;原创 2024-02-06 09:24:46 · 864 阅读 · 0 评论 -
AI 春联在线生成 挺有意思的,大家可以体验下。输入关键词,就可以生成春联了。 开源地址:GitHub - YunYouJunai-sfc AI 春联 Spring Festival
体验地址:https://ai-sfc.yunyoujun.cn/ 快过年啦,祝大家: 上联:朝九晚五职场忙 下联:副业多元财源广 横批:事业兴旺。AI 春联在线生成 挺有意思的,大家可以体验下。输入关键词,就可以生成春联了。原创 2024-02-06 09:24:02 · 767 阅读 · 0 评论 -
多线程例子,通过启动三个线程 等三个线程都跑完后打印结果
一个多线程例子,通过启动三个线程 等三个线程都跑完后打印结果。原创 2024-02-04 11:37:28 · 363 阅读 · 0 评论 -
Stream流中将集合转成map,重复key处理,统计最大值,获取某个属性集合等10种最常用方法
Stream流中将集合转成map,重复key处理,统计最大值,获取某个属性集合等10种最常用方法原创 2023-06-09 16:20:05 · 14186 阅读 · 0 评论 -
多线程实例
【代码】多线程实例。原创 2024-02-02 14:38:13 · 372 阅读 · 0 评论 -
Jenkins手把手图文教程[基于Jenkins 2.164.1]
本文基于当前最新的LTS版本2.164.1,理论上适应于Jenkins 2.x所有版本。原创 2024-02-02 14:21:03 · 930 阅读 · 1 评论 -
一个离奇的ArrayIndexOutOfBoundsException异常的排查过程
今天同事遇到了一个离奇的ArrayIndexOutOfBoundsException,找我协助定位,定位的过程很有意思,故而记录一下。原创 2024-02-02 14:20:29 · 866 阅读 · 0 评论 -
手把手教你如何将项目发布到Maven中央仓库(附步骤及常见问题解决方法)
业余时间写了个轻量级的权限控制框架,并发布到了Maven中央仓库。发布时的操作步骤还挺多,我这个记性是记不住的,所以记录一下,便于以后查阅,也希望对大家有帮助。原创 2024-02-02 14:19:45 · 1486 阅读 · 1 评论 -
跨域访问支持(Spring Boot、Nginx、浏览器)
我们的后端使用Spring Boot。Spring Boot跨域非常简单,只需书写以下代码即可。代码非常简单,不做赘述。该代码在Spring Boot 1.5.4中测试通过。原创 2024-02-01 09:33:14 · 674 阅读 · 0 评论 -
将应用的log4j换成logback
考虑到log4j很久不更新、性能相对弱,以及一些项目本身的原因,经过较为谨慎的考虑,决定改用logback。迁移还是比较顺利的,花了1个小时左右就搞定了,做个简单的笔记。原创 2024-02-01 09:32:39 · 942 阅读 · 0 评论 -
Tomcat调优教程
本文基于Tomcat 9.0编写,理论兼容Tomcat 8.x及更高版本。本文来探讨Tomcat的调优。原创 2024-01-31 17:15:24 · 1238 阅读 · 0 评论 -
JWT操作工具类分享
库,这是一个Java圈子最流行的。原创 2024-01-30 17:36:05 · 442 阅读 · 0 评论 -
推荐10款笔者一直在使用的Chrome提效插件
本文推荐的10款插件笔者一直在用,部分插件可能有点冷门,但绝壁是提升效率的好帮手,在我眼里是必备插件。笔者已创建,欢迎分享、讨论。一起打造最强Chrome插件集。原创 2024-01-30 15:02:30 · 557 阅读 · 0 评论 -
手把手使用SonarQube分析、改善项目代码质量(基于SnarQube 8.9.0)
本文基于SonarQube 8.9.0,理论支持6.0及更高版本。SonarQube是一个开源的代码质量管理系统,可用来快速定位代码中的Bug、漏洞以及不优雅的代码。它支持几乎所有的常见编程语言,例如Java、JavaScript、TypeScript、Kotlin、Ruby、Go, Scala等。并且还有插件机制,利用插件,可以让SonarQube更加强大,例如可以整合Findbugs、PMD、Checkstyle等。可以说,SonarQube是一款提升项目代码质量必备的根据。原创 2024-01-29 10:35:09 · 1024 阅读 · 0 评论 -
手把手使用SonarQube分析、改善项目代码质量
本文基于SonarQube 7.9.1,理论支持6.0及更高版本。SonarQube是一个开源的代码质量管理系统,可用来快速定位代码中的Bug、漏洞以及不优雅的代码。它支持几乎所有的常见编程语言,例如Java、JavaScript、TypeScript、Kotlin、Ruby、Go, Scala等。并且还有插件机制,利用插件,可以让SonarQube更加强大,例如可以整合Findbugs、PMD、Checkstyle等。可以说,SonarQube是一款提升项目代码质量必备的根据。原创 2024-01-29 10:34:25 · 1169 阅读 · 0 评论 -
如何在IntelliJ IDEA数据库控制台操作Redis
最近工作中,经常要操作到Redis,尽管市面上的Redis客户端GUI非常多,例如Redis Desktop Manager、AnotherRedisDesktopManager等。但本人是一个IDEA流,更希望能在IDEA控制台上操作Redis,从而获得一致的研发体验,省得在各个窗口切来切去。于是,我尝试寻找有无合适的Redis插件,结果要么收费,要么体验不佳;接着,我又想了解一下官方对Redis支持意向,看到如下的帖子后,新也是凉了半截。原创 2024-01-26 10:43:47 · 871 阅读 · 0 评论 -
常用MQ产品的对比
本文整理了常用MQ之间的对比,旨在帮助大家在实际项目中选择MQ产品。原创 2024-01-25 10:08:20 · 875 阅读 · 0 评论 -
关于做转账操作的思路
3.然后 生成一条提现记录wx_pay_record,总金额40 三条提现明细wx_pay_record_detail 金额是10,20,10,每条wx_pay_record_detail记录中关联上账明细up_account_detail的id。利用上账明细去计算金额转账,对比直接用客户余额进行转账,可以防止高并发上账时客户余额加减错误,导致余额不正常;此时余额就算计算错误也可以通过上账和转账明细去重新计算。建议通过查询关联上账的明细up_account_detail去计算转账金额,原创 2024-01-25 10:07:33 · 339 阅读 · 0 评论 -
Java通过正则表达式 获取中括号【】内的字符串
【代码】Java通过正则表达式 获取中括号【】内的字符串。原创 2024-01-09 13:52:26 · 622 阅读 · 0 评论 -
求求你,别再乱用@Transactional了
求求你,别再乱用@Transactional了原创 2024-01-09 13:51:51 · 1178 阅读 · 0 评论 -
微信getAccessToken限制问题
所以建议使用稳定版接口/cgi-bin/stable_token。错误代码:45009,错误信息:调用分钟频率受限。微信getAccessToken限制问题。接口重复获取不会导致上一个失效。接口重复访问会导致上一个失效。原创 2024-01-08 13:43:15 · 560 阅读 · 0 评论 -
mac修改jar包内容
可以看到配置文件已经是修改后的了,也就是说成功的保存了编辑后的文件,这样我们就达到了修改jar包配置文件的目的。为了验证我们是否成功的保存了编辑后的配置文件,我们再次按下回车,会再次打开搜索后的。包中包含的目录和文件有很多,我们搜索出需要修改的配置文件,输入命令。内容有时候需要自己修改配置来适用不同的服务器所在的一个网络环境。最后我们会返回最初的终端命令窗口界面,这样就达到了编辑。,输入该命令后也是和上面图示一样的搜索结果。在输入模式下,将配置文件编辑修改完成后,按下。将光标移动至要修改的内容处,输入。原创 2023-12-29 09:56:35 · 909 阅读 · 0 评论