自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 【读书笔记】分寸的艺术

分寸的艺术》是一本探讨如何在复杂多变的社会环境中,通过精准把握“分寸”来构建和谐人际关系、提升个人修养与职场竞争力的书籍。作者以深入浅出的方式,结合丰富的案例与心理学、社会学理论,阐述了“分寸”在日常生活与工作中的重要性及其运用技巧。

2024-07-02 21:00:34 302

原创 【MySQL】MySQL锁冲突排障纪要

MySQL锁冲突是数据库并发操作中常见的问题,它发生在多个事务或查询同时尝试访问或修改同一数据资源时。

2024-07-02 20:54:44 462

原创 【实战场景】记一次UAT jvm故障排查经历

尽量避免在SQL语句中直接拼接用户输入的数据。使用#{}占位符来传递参数,并确保参数被正确地预编译。对于需要动态拼接SQL的场景(如模糊查询、IN语句、ORDER BY等),使用MyBatis提供的标签和函数来确保安全性。在Java层面进行必要的验证和过滤,确保用户输入的数据符合期望的格式和范围。定期对代码进行安全审计和测试,及时发现并修复潜在的SQL注入漏洞。

2024-07-02 20:20:11 856

原创 【Mybatis】Mybatis存在的sql注入问题

尽量避免在SQL语句中直接拼接用户输入的数据。使用#{}占位符来传递参数,并确保参数被正确地预编译。对于需要动态拼接SQL的场景(如模糊查询、IN语句、ORDER BY等),使用MyBatis提供的标签和函数来确保安全性。在Java层面进行必要的验证和过滤,确保用户输入的数据符合期望的格式和范围。定期对代码进行安全审计和测试,及时发现并修复潜在的SQL注入漏洞。

2024-06-24 11:01:22 391

原创 【MySQL】MySQL中文排序失效解决方法

在mysql中,如果直接order by中文字段,排序结果并非按照自然排序进行,而是根据字符对应的ASCII码排序。所以为了实现按照中文拼音排序,最简单的做法,是在sql语句中加入convert函数。前提得保证 mysql已经引入了gbk字符集,不然会报错哦!

2024-06-24 10:16:35 112

原创 【Git】git rebase和git merge的那些事

最近新来的同事,关于rebase和merge的方式产生了一些分歧,现在就大概总结下这两者的区别和使用场景。

2024-06-20 11:22:06 467

原创 【读书笔记】非暴力沟通

读完《非暴力沟通》这本书,我深感其理念的重要性和实用性。这本书不仅是一本关于沟通技巧的指南,更是一部关于人性、情感和理解的哲学著作。书中提到的“非暴力沟通”并不是指不发出声音、不与人交谈,而是指我们在与他人交流时,能够以一种平和、尊重和理解的态度,去倾听对方的想法和感受,同时也能够清晰地表达自己的需求和期望。这种沟通方式,能够极大地减少冲突和误解,增强人与人之间的联系和信任。我被书中提出的四个核心要素所深深吸引:观察、感受、需要和请求。这四个步骤看似简单,但实际操作起来却需要极大的耐心和同理心。

2024-05-14 09:11:16 147

原创 【数据结构与算法】浅谈动态规划

动态规划(Dynamic Programming,DP)是一种在数学、计算机科学和经济学中使用的,通过把原问题分解为相对简单的子问题的方式来求解复杂问题的方法。它的基本思路是将待求解的问题分解为若干个重叠的子问题,每一个子问题只求解一次,然后将其结果保存在一个表格中,以便在需要时直接引用,从而避免重复计算。值得注意的是,动态规划并不是万能的,它只适用于那些具有重叠子问题和最优子结构性质的问题。对于这类问题,动态规划通常能够显著提高求解效率,避免不必要的重复计算。

2024-03-14 19:26:14 331

原创 【实战场景】新设计一个微服务要考虑哪些方面

设计时可以考虑使用横向扩展和纵向扩展的方式,横向扩展可以通过增加服务器数量来提高微服务的处理能力,纵向扩展可以通过升级硬件资源来提高单个微服务的处理能力。使用合适的安全措施来保护微服务的访问控制和数据安全,例如使用HTTPS、API网关的身份验证和授权机制等。确保微服务是独立的,能够单独部署、升级和扩展,而不会影响其他微服务或系统。明确微服务的业务需求和功能范围,以确保每个微服务都具有明确的目的和职责。设计时需要考虑到API的规范、版本控制、文档化和测试等方面,以确保微服务之间的通信可靠、高效和易于维护。

2024-03-14 18:52:52 379

原创 【实战场景】接口慢如何排查

说起线上接口问题排查,大家肯定不会陌生,目前线上或多或少都会碰到接口响应慢的场景,下面就一起探讨下吧。使用如ab(ApacheBench)、siege、JMeter等工具对接口进行压力测试和性能测试。代码中是否有可以优化的地方,如减少循环、使用更高效的算法等。使用如top、htop、iostat等工具进行检查。如果接口调用了外部服务,检查外部服务的响应时间。CPU、内存、磁盘I/O、网络等是否正常。确定是某个特定接口慢,还是所有接口都慢。如果使用了缓存,检查缓存的命中率。数据库的负载和资源使用情况。

2024-02-17 16:07:11 962

原创 【性能优化】SQL执行过慢,如何优化

例如,InnoDB与MyISAM的性能特点不同,根据应用的需求选择合适的存储引擎。如Memcached或Redis来缓存经常访问的数据,减少对数据库的直接访问。:不断学习和了解最新的数据库技术和最佳实践是持续优化数据库性能的关键。:对于某些不经常变动的查询,可以考虑缓存其结果,减少数据库的负载。:确保JOIN的字段已经被索引,并尽量减少JOIN的数量。对于非常大的表,可以考虑使用分区或分片来提高查询性能。:这不仅可以确保数据安全,还可以保持数据库性能的稳定。:这种查询无法有效地使用索引。

2024-02-01 19:34:14 1868

原创 【读书笔记】人性的弱点

人性的弱点,读书笔记

2024-02-01 19:23:08 359

原创 【MySQL】MySQL的批量插入锁的优化问题

从测试结果可以看到,合并数据+事务的方法在较小数据量时,性能提高是很明显的,数据量较大时(1千万以上),性能会急剧下降,这是由于此时数据量超过了innodb_buffer的容量,每次定位索引涉及较多的磁盘读写操作,性能下降较快。而使用合并数据+事务+有序数据的方式在数据量达到千万级以上表现依旧是良好,在数据量较大时,有序数据索引定位较为方便,不需要频繁对磁盘进行读写操作,所以可以维持较高的性能。mysql如果遇到批量插入耗时过长,该如何去优化呢?

2024-01-30 21:53:51 334

原创 【分布式】分布式事务的解决方案

所谓弱一致性方案是针对强一致性方案所衍生出来的性能和数据一致性平衡的一个方案,简单来说就是损失掉强一致性,数据在某一时刻会存在不一致的状态,但是最终会达成一致,好处是提升了系统的性能,常见解决方案有:第一个分布式消息队列实现最终一致性 、 第二个基于TCC事务,通过演进版本的二阶段提交实现最终一致性 、第三个使用seata事务框架,它使用了多种事务模型,比如AT,XA,Saga,TCC,不同模型提供了强一致性或者弱一致性的支持。一致性较弱,对于转账,可能发生A用户已扣款,最后转账又失败的情况。

2024-01-26 14:00:46 812

原创 【Redis】怎么实现Redis的高可用

哨兵的启动依赖于主从模式,所以须把主从模式安装好的情况下再去做哨兵模式,所有节点上都需要部署哨兵模式,哨兵模式会监控所有的 Redis 工作节点是否正常,当 Master 出现问题的时候,因为其他节点与主节点失去联系,因此会投票,投票过半就认为这个 Master 的确出现问题,然后会通知哨兵间,然后从 Slaves 中选取一个作为新的 Master。自动故障转移:当主节点不能正常工作时,哨兵会开始自动故障转移操作,它会将失效主节点的其中一个从节点升级为新的主节点,并让其他从节点改为复制新的主节点。

2024-01-21 17:52:39 1382

原创 【MySQL】MySQL死锁的那点事

MySQL如何造成死锁?

2024-01-21 17:34:19 752

原创 【Springboot】Spring Boot 的⾃动配置是如何实现的?

【Springboot】Spring Boot 的⾃动配置是如何实现的?

2023-03-03 22:54:13 109 1

原创 【网络编程】浏览器输入 URL 发生了什么?

【网络编程】浏览器输入 URL 发生了什么?

2023-03-03 22:47:12 63

原创 【网络编程】OSI与TCP/IP各层的结构与功能,都有哪些协议?

【网络编程】OSI与TCP/IP各层的结构与功能,都有哪些协议?

2023-03-03 22:39:43 530

原创 【编码心得】编程路上的那些好习惯

编程路上的那些好习惯文章目录前言一、健康的工作和生活1.不要熬夜2.劳逸结合3.办公护具3.护眼软件二、擅于请教1.自己先把问题的前因后果梳理清楚2.遇到阻碍,先去google,自己先琢磨3.时间花费过多,仍无结果,请教别人4.请教问题的方式三、学会整理总结1.有道云笔记2.思维导图3.写写博客总结前言有个好习惯,在编程之路可以少走很多弯路,想必大家多多少都有些体会,下面我就根据这几年的感受,随便唠叨两句(哈哈)一、健康的工作和生活健康的身体才是你创造价值的本钱1.不要熬夜分泌失调,掉发

2021-03-30 10:53:30 111

原创 【编码心得】编写接口时的coding思路

分享下自己编写代码时的习惯前言自己平时的编写习惯1.创建一个常量值,接受方法名2.日志打印入参信息3.创建接收返回值的参数4.直接写上方法的返回值5.进行入参的常规校验6.进行入参的业务上的定制化校验7.try catch,包裹住业务代码8.根据业务需求处理对应的异常9.日志打印出参信息总结我是杰叔叔,一名沪漂的码农,下期再会!前言相信每位程序员都有自己的编码习惯,我也不例外,今天就是随笔畅谈下我平时写代码的习惯(不喜勿喷—哈哈)提示:以下是本篇文章正文内容,下面案例可供参考自己平时的编写习惯

2020-10-26 22:20:04 427 1

原创 【入门基础】20分钟内看完这篇,闭着眼写正则表达式

正则表达式极速入门开篇词:1.正则是什么,能做什么?2.学习正则,我们到底要学什么?3.我是怎么学习和使用正则的?基础篇:1.如何巧妙记忆正则表达式的基本元件?2.小小的正则,也可能把CPU拖垮!3.如何用正则实现更复杂的查找和替换操作?4.一次性掌握正则中常见的4种匹配模式应用篇:1.如何用断言更好地实现替换重复出现的单词?2.正则中转义需要注意哪些问题?3.正则有哪些常见的流派及其特性?4.正则如何处理Unicode编码的文本?5.如何在编辑器中使用正则完成工作?6.如何用正则让文本处理能力上一个台阶?

2020-10-25 17:10:50 1902 1

原创 【开场白】杰哥哥的java之路启程

去年毕业,只身一人来了上海,还算幸运,一个月找到了份平台技术支撑的工作,然后默默的干到了现在。因为工作性质的原因,大半年没有编写过代码了(平时以业务为多),骤然间感觉自己离当开发工程师的梦想愈来愈远,所以趁现在没忘干净,速速重拾梦想。废话不多说直接开干:javaSE也就是java基础,作为面向对象的语言,我们直接从面向对象(oop)开始...

2018-03-22 17:54:03 162

空空如也

空空如也

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

TA关注的人

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