- 博客(33)
- 收藏
- 关注
原创 解决中小型项目定时任务调度的利器
通过分片 + 随机延迟方案,我们可以将任务的触发时间均匀分布到不同的时间段,从而有效降低系统压力,提高任务执行效率。这一方案特别适用于中小型项目中的定时任务调度。如果你有任何疑问或建议,欢迎在评论区留言讨论!
2025-01-24 11:04:24
406
原创 Spring Boot 中高并发场景下的数据一致性问题与解决方案
在高并发场景下,保证数据一致性是一个重要的挑战。数据库唯一约束:确保数据的一致性。自定义业务异常:区分业务逻辑错误和其他系统异常。全局异常处理:捕获异常并返回统一的错误响应。统一的错误响应格式:提供友好的错误提示。前端处理错误响应:根据后端返回的错误信息,显示友好的提示。
2025-01-20 09:58:32
1153
原创 MySQL无限极分类表设计:实战项目中的高效解决方案
无限极分类表设计在实战项目中具有较高的实用性和效率性,能够很好地满足复杂层级关系数据的存储和查询需求。虽然存在一些缺点,但通过合理的数据维护和业务规划,可以有效降低其带来的影响。在实际应用中,我们可以根据具体的业务场景和数据特点,对这种设计进行适当的调整和优化,以达到最佳的使用效果。
2025-01-17 11:00:22
681
原创 AI 写作+办公提效
无论你是刚接触AI的新手,还是想让AI助手更懂你的进阶用户,这篇文章都能让你收获满满。它们就像28把开启AI宝藏的钥匙,希望能帮你在工作中事半功倍。好了,这28个专业级提示词就是我的私藏!首先,编写大纲(总-分-总 结构)14.比喻:抽象概念的具象化表达。朋友圈文案二:“我要减肥”15.比喻:深度联结与情感共振。13.内心独白和情感深度挖掘。其次,根据大纲分步骤出文。朋友圈文案四:日常生活类。12.人物行动反应描写。18.用词更书面化和专业。3.复杂任务解决方案专家。朋友圈文案三:宣传类。
2025-01-08 09:02:38
519
原创 开发人员如何深入了解业务:从基础到实践
随着科技的飞速发展,IT行业不断涌现新的技术和应用场景,开发人员面临的业务挑战也日益复杂。开发人员必须深刻认识到业务理解的重要性,将其贯穿于整个开发过程。通过不断提升业务理解能力,开发人员能够更好地应对各种业务需求,开发出更具竞争力的产品,为企业创造更大的价值。同时,这也有助于开发人员自身的职业发展,使其在激烈的市场竞争中脱颖而出,成为既懂技术又懂业务的复合型人才。在未来的工作中,开发人员应积极主动地学习业务知识,不断实践和积累经验,以适应行业的快速发展和变化。
2025-01-06 16:31:18
557
原创 从土木到编程:走出舒适区,探索AI带来的职业新机遇
2011 年,我从大学土木工程专业毕业,怀揣着对未来的憧憬,走进了一家央企,开始了我的 “铁饭碗” 生活。那时的我,和许多刚毕业的年轻人一样,满怀理想,充满了对职场的渴望和对未来的好奇。然而,随着岁月流逝,现实慢慢磨平了我的锋芒,工作内容的重复性和生活的单调感开始让我对未来产生了疑虑。尤其在2014年结婚后,频繁的两地分居让我开始深刻意识到,自己的生活似乎已经进入了一个被预设好的轨道。
2024-12-19 13:17:28
918
原创 MySQL安全批量delete数据行及数据归档(一)大部分场景
随着业务量的增长,存储在 MySQL 中的数据日益剧增达到千万及上亿数据量,这就导致跟其 Join 的表的 SQL 变得很慢,对应用接口的 response time 也变长了,影响了用户体验。一般常见增长量巨大的表都是一些记录、日志类型数据,只需要保留 2 到 3 月。此时需要对表做数据清理实现瘦身。那么这么大的数据如何进行删除,而不影响数据库的正常使用呢?删除历史数据主要用到的参数--analyze指定工具完成数据归档后对表执行'ANALYZE TABLE'操作。
2024-10-30 18:00:33
756
原创 深入分析-MySQL中的死锁问题排查与解决(二)
死锁是数据库并发控制中的一个复杂问题。通过详细的日志分析和正确的解决策略,我们可以有效地减少死锁的发生,提高数据库的性能和稳定性。在处理死锁问题时,需要综合考虑事务的并发性、隔离性、一致性和持久性,以达到最佳的系统性能和数据安全性。
2024-10-25 16:50:45
571
1
原创 解决 MySQL 中的死锁问题排查攻略(一)
死锁发生在两个或多个事务互相等待对方持有的锁,导致所有相关事务无法继续执行。例如,事务 A 持有资源 X 的锁并在等待资源 Y,而事务 B 则持有资源 Y 的锁并在等待资源 X,从而形成循环等待。死锁是数据库管理中的常见问题,但通过有效的监控和优化,可以最大程度地避免其发生。识别死锁、分析原因、手动干预及优化查询逻辑是处理此类情况的关键。希望这篇博客能帮助你更好地理解和解决 MySQL 中的死锁问题。欢迎留言讨论!
2024-10-25 16:49:49
654
1
原创 Kafka 和 RabbitMQ用哪个?一篇文章告诉你他们的区别
可以看到,如果我们要做消息队列选型,有两件事是必须要做好的:列出业务最重要的几个特点深入到消息队列的细节中去比较等我们对这些中间件的特点非常熟悉之后,甚至可以把业务分解成不同的子业务,再根据不同的子业务的特征,引入不同的消息队列,即消息队列混用。这样,我们就可能会最大化我们的获益,最小化我们的成本。说了这么多,其实还有很多 Kafka 和 RabbitMQ 的比较没有说,比如二者集群的区别,占用资源多少的比较等。以后有机会可以再提提。
2024-05-14 10:34:37
7506
3
原创 为什么有人不推荐使用spring官方推荐的@Transactional声明式注解
最后,相信本文的观点很多人都并不一定认同,很多人会说:Spring官方都推荐无侵入性的声明式事务,你有啥资格出来BB。说实话,刚工作的前几年,我也热衷于使用声明式事务,觉得很干净,也很”优雅”。觉得师兄们使用编程式事务多此一举,没有工匠精神。但是慢慢的,线上发生过几次问题之后,我们复盘后发现,很多时候你自己写的代码很优雅,这完全没问题。但是,优雅的同时也带来了一些副作用,师兄们又不能批评我,因为我的用法确实没错…所以,有些事,还是要痛过之后才知道。
2024-05-10 17:18:06
849
原创 入职腾讯三年,我学到了什么?
16.绩效、晋升都是人打的,人打的就不乏主观,于你而言,就会出现你认为的“不公平”,但要明白,即使结果不如意,并不一定代表你这个人不行。不要过度依赖职场的绩效和晋升这个单一的评价体系,一定要构建对自己多维度的评价体系,这个需要自己去探索和挖掘,这样才不会因为绩效不好、晋升不过而郁郁寡欢,值得你用心做的事有很多,职场只是其一。15.晋升或绩效考核的衡量标准如果不明确,与上级的人情关系很重要,所以一定要关注与上级的人情关系,最好别抱有“老子技术好,此处不留爷自有留爷处”的心态,前几年可能还行,现在可别。
2024-04-10 13:31:25
504
原创 spring cloud gateway 不生效
自定义过滤器需要实现和Ordered。其中中的这个方法就是用来实现你的自定义的逻辑的示例:统计某个服务的响应时间。
2024-03-08 14:19:13
2587
原创 Mybatis Plus实体类属性与表字段不一致解决方法
1、 主要用来解决实体类的字段名与数据库中的字段名不匹配的问题(数据库user_addr,字段useraddr未驼峰)当在使用plus开发过程中,有时候关联属性字段与表结构不一致,导致使用plus时报错。如不指定,出现以下的异常:BadSqlGrammarException。当数据库名与实体类名不一致或不符合驼峰命名时,需要在此注解指定表名。2、 实体类中的属性字段在表中不存在的问题。
2024-03-08 14:17:05
745
原创 [sublime xftp插件] Host key verification failed ,错误处理
2、删除HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys下的@22:www.xxxx.club。原因:因为sublime 在windows的注册表中把www.xxxx.club的值注册,不能重新注册。2、在windows上安装sublime 3,然后保存代码通过xftp保存到centos7虚机上面。4、然后时间sublime 下载新目录的代码,然后就报错了。3、Centos重装系统后,把代码保存的目录调整了一下。
2024-03-08 14:16:28
412
原创 mysqldump是MySQL数据库备份工具
mysqldump是MySQL数据库备份工具,可以将数据库中的数据导出为SQL文件,方便进行数据备份和迁移。其中,username和password是连接MySQL服务器的用户名和密码,是要备份的数据库名称,backup.sql是备份文件的名称。例如,如果要备份名为mydatabase这将在当前目录下创建一个名为的文件,其中包含整个数据库的备份数据。其中,username和password是连接MySQL服务器的用户名和密码,是要备份的数据库名称,table_name是要备份的表名称,
2024-03-01 13:36:17
719
原创 JRebel 破解最简单的使用(一)入门使用篇
RebelJRebel是一款JVM插件,它使得Java代码修改后不用重启系统,立即生效。IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费时间浪费生命。目前对于idea热部署最好的解决方案就是安装JRebel插件。
2024-03-01 09:25:24
5235
原创 SVN解决不能查看最近提交日志的问题
TortoiseSVN-setting-Log Caching-Cached Repositories => Cached Repositoried,删除对应的url记录(已测可行)现象:在show log的时候,不能看到截止到几天前的日志,也不能看到最近几天的日志 , 出现原因不明,感觉像是修改了系统的时间后,进行了更新/提交的操作。
2024-03-01 09:22:51
660
原创 Docker安装运行Mysql 5.7.31容器并修改数据库密码
绑定一个卷,主机的目录/data/mysql 映射到容器的 /var/lib/mysql。4.进入界面后更改root密码(123456为我的新密码 ,此处密码由您决定)docker exec -it [容器ID] /bin/bash。: 指定端口映射,格式为:主机(宿主)端口:容器端口。7.然后重进mysql,用修改后的密码登录。: 设置环境变量,密码设置为123456。:使用镜像mysql:5.7.31。: 后台运行容器,并返回容器ID。: 为容器指定一个名称。可以看到容器正在运行。
2024-03-01 09:20:42
561
原创 kafka-tools工具这样使用更方便1
根据不同的系统下载对应的版本,我这里kafka版本是1.1.0,下载kafka tool 2.0.1。设置完了,点击Test测试是否能连接,连接通了,然后点击Add,添加完成设置。注释:更改完Content Types,要点击Update和Refresh按钮。打开kafka tool安装目录,点击exe文件。双击下载完成的exe图标,傻瓜式完成安装。或者通过如下界面配置。
2024-03-01 09:19:34
320
原创 kafka-tools工具这样使用更方便
根据不同的系统下载对应的版本,我这里kafka版本是1.1.0,下载kafka tool 2.0.1。设置完了,点击Test测试是否能连接,连接通了,然后点击Add,添加完成设置。注释:更改完Content Types,要点击Update和Refresh按钮。打开kafka tool安装目录,点击exe文件。双击下载完成的exe图标,傻瓜式完成安装。或者通过如下界面配置。
2024-02-29 10:04:57
463
原创 MYSQL按中文汉字拼音排序规则
使用GBK排序不是简单的按照拼音字母,例如安徽(anhui)、鞍钢(angang)和俺测试(anceshi),这三个排序后顺序依次是 安徽>鞍钢>俺们可以发现首个字都是an,但是从第二个字开始h在g和c前面了。MYSQL复制代码SELECT * FROM sys_user ORDER BY CONVERT(user_name USING gbk)中文需要转码为GBK格式后才可以排序,若数据库字符集为GBK可以直接排序。
2024-02-28 15:21:05
1917
原创 利用idea断点调试打印sql
mybatis 数据库配置场景,有时需要查看具体生成mybatis sql以方便调试。可以开启日志的方式打印,但最方便方式还是直接断点查看。下面介绍具体断点位置以及查看生成sql的方式。2、执行到断点时,在idea的调试窗口中如图变量 cache的key值最右侧的view,打开可看到生成的sql。1、在SqlSessionTemplate的invoke函数图中位置打上断点。
2024-02-26 13:37:07
1025
原创 记录微服务nacos中使用Feign 报feign.FeignException: status 404 reading
这篇文章只是笔者做的一个BUG解决记录,每个人遇到的问题来源可能不同,参考价值不大。
2024-02-26 13:32:22
312
原创 java运行jar命令提示没有主清单属性
更详细的MANIFEST.MF文件定义说明,请参考官方MANIFEST.MF文件定义手册。参考:https://www.cnblogs.com/shaosks/p/9984350.html。用来配置程序的一些信息。quickstart-1.0-SNAPSHOT.jar中没有主清单属性。1、在java中编译JAR文件的时候我们都会用到,jar这个命令。这里说明一下MANIFEST.MF就是一个清单文件,2、这样的问题是因为,jar包中的。文件缺少定义jar接口类。为什么会出现这个报错?文件中添加一个入口类。
2024-02-23 15:35:28
432
原创 Java8 中 List 转 Map(Collectors.toMap) 使用技巧
new User().setId("B").setName("张三"),new User().setId("A").setName("李四"),new User().setId("C").setName("王五")// 输出结果:A-> 李四B-> 张三C-> 王五// 输出结果:A-> 李四B-> 张三C-> 王五。
2024-02-23 15:34:44
602
原创 当编程java或者php遇到排序时,用mysql来解决可能更方便
这篇文章主要向大家介绍PHP/MYSQL UTF8 中文排序,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。对比java排序时,用Mysql一条语句更简单,换一种方式,可能更方便。
2024-02-22 16:07:54
400
原创 MySQL中or用法及mybaits or用法总结
列表中的值,生成的查询语句将包含相应的条件表达式,用于筛选符合条件的记录。列表中的值生成一个SQL查询语句的条件部分。这段代码的作用是根据。
2024-02-21 18:03:21
1952
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人