自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【spring】spring常用接口分析,看完等效提升几年工作经验

我们知道spring有很多对外提供的接口,在使用时会不会分不清呢?什么时候该用什么接口,什么接口是干嘛用的,如果缺乏相关知识的整理或思考,很多时候我们的技术都是止步不前的。本文博主盘点一些spring中的常用接口:

2024-02-26 15:11:06 1392 3

原创 【java】 java开发中 常遇到的各种难点 思路方案

作为一个开发人员 总会遇到各种难题 本文列举博主 遇见/想到 的例子 ,也希望同学们可以在评论区举例交流 共同进步~

2023-03-10 11:54:48 20310 1

原创 【linux】记一次linux(centos)被暴力破解事件,从修改linux默认登录端口为普通账号授权到linux基础操作命令

/var/log/btmp 记录登录失败信息/var/log/secure 一般用来记录安全相关的,授权或登录信息。如果上述两个文件很大,或者大小一直在增长,说明有人在 爆力破解密码。基本命令及教程:# 查看阶段------------------------------------------------------------------------------------# 列出登入系统失败的用户相关信息lastb # 查找恶意登录的前十个IPsudo lastb | awk '

2021-09-07 10:58:13 2287 5

原创 【spring】Spring事务相互调用失效分析,事务回滚失败原因,事务的传播机制

1.第一种情况 :调用方加上@Transactional 注解,被调用方未加上注解 (同一个service类)Exp:@Transactionalvoid methodA(){// insert table1methodB(Object obj);}void methodB(){// insert table2}结论:methodB()出现异常,抛给methodA,A中捕获到异常,进行回滚处理,table1,table2都未插入2.第二种情况:调用方未加上注解,被调用方加上注解(同

2021-01-07 15:41:30 4730 6

原创 【stream流】jdk8特性 list stream流操作合集,optional操作合集

jdk抢先版都出到23了 , jdk8的stream流用法 熟悉了嘛?

2021-01-04 14:30:05 2953

原创 【idea】idea教程 小技巧总结 idea有哪些强大的功能 总有一个你能用上

注意: 不同idea版本 菜单、目录可能有细微差别,自己稍加分析都能找到1.查看代码历史版本鼠标在需要查看的java类 右键 找到Local History >> Show History 点开即可看到历史版本,常用于自己忘记代码改了哪些内容 或需要恢复至某个版本2. 调整idea的虚拟内存:尽管本质都是去改变 .vmoptions配置文件,但推荐使用Change Memory Settings去调整,选择Edit Custom VM Options 或者在本地磁盘目录更改,很可能造成

2020-10-22 11:00:02 10398 7

原创 【cache】浅析四种常用的缓存淘汰算法 FIFO/LRU/LFU/W-TinyLFU

本文简要浅析淘汰策略与工作中结合使用、选取,并非针对算法本身如何实现的。

2024-09-27 11:55:26 443

原创 【线程安全】如何区分线程安全还是线程不安全? 一文解释清楚线程安全问题,解释什么是锁重用、锁竞争、分段锁

线程安全问题 是一个重难点,编程就是这样,有的时候自己无论如何苦思冥想也弄不明白,但如果有人指点一二就能豁然开朗,希望本文可以给各位同学带来帮助

2024-09-23 13:54:03 740

原创 【script】java武魂技展示:在java中使用不同的脚本语言 一文体现java生态的强大

我们经常听到java强大在于它的生态,对于生态的理解我们一般可能想到的是spring家族、微服务那一套中间件;其实java生态的强大也体现在它能使用各种脚本语言,博主最近在项目中考虑使用脚本语言以达到动态效果,因此顺带例举了常用的脚本语言方式。

2024-09-20 10:35:43 1255

原创 【mysql】mysql查询机制 调优不止是索引调优

说到mysql调优 我们第一反应都是想到索引调优 应该这是最基本的 也是至关重要的;一般工作个两年 索引调优都可以掌握的八九不离十,相关数据结构特点也都能说个一二出来,所以本文重点是讲述其它机制。

2024-09-02 14:32:12 1345

原创 【springboot】springboot接口参数全局加解密,解决request内容修改后如何重新设置回去的问题

这个时候就需要打个断点调试了,博主经过调试后发现 最后是动态代理传的参改变了,servlet到controller层的过程中 虽然一开始确实是传的reqeust 但在某一步时 它去获取了parameterValues!我们先把锁打开后,往map里面修改了内容,还需要把锁关上, 我们看ParameterMap类的源码也能看到 它有很多地方是通过判断是否锁了 我们不能改变原来的逻辑。所以我们在过滤器中进行解密,并将request的值修改后传递,这样可以保证每个过滤器拿到的都是解密后的值。

2024-08-19 18:45:17 974 2

原创 【redis】springboot 用redis stream实现MQ消息队列 考虑异常ack重试场景

redis stream是redis5引入的特性,一定程度上借鉴了kafka等MQ的设计,部署的redis版本必须 >= 5本文主要讲的是思路,结合简单的源码分析(放心,无需深入大量源码);讲述在redis stream文档缺乏,网上资料欠缺,gpt回答不上来的情况下,博主是如何用两三天的时间 从没接触过redis stream 到分析完成了redis stream mq功能。博主始终认为 有明确的思路 才能知道什么代码是正确的 能复制拿来用,什么代码只是单纯跑起来demo的 绝对达不到生产级别。

2024-08-06 18:25:25 883 2

原创 【redis】redis高可用 哨兵模式 一主二从三哨兵部署教程

哨兵模式:自动主从同步、自动选举主节点;基本可以满足大部分业务场景;在针对大规模数据和高并发请求的场景、数据不能丢失,才需要用到集群模式。本文教程基于redis3 , centos 8 stream操作系统,理论上来说 redis3也好 redis6也罢 都通用。

2024-07-31 18:23:59 827

原创 【jdk】jdk11 jdk17 jdk21 springboot3 的新特性 虚拟线程创建方式

一般来说 除了jdk8时代 说jdk8的新特性是特指jdk8这一个版本的特性,之后例如jdk11 jdk17新特性 都是泛特性什么意思呢?比如jdk11新特性,一般是指jdk9——jdk11 这一个泛版本的所有新特性,就jdk9引入的 List.of Map.of等api 我们也统称是jdk11的新特性为什么我们很少听到jdk9,jdk10…等其它版本呢。

2024-06-21 17:16:27 1461

原创 【minio】linux集群部署minio,springboot整合教程,解决Response code: 502, Content-Type: null, body:问题

linux部署minio,java sdk调用操作minio教程

2024-05-22 10:52:18 885

原创 【idea】idea插件 通过文档注释生成swagger,easyexcel注解

​实际场景:vo返回类或者excel导入导出实体类的代码 很多时候都是复制dto/do类进行修改的,而dto/do类基本都通过别的工具生成的 已经带好了文档注释 ,通过插件可以一键生成注解 注解value即为文档注释内容。当然,授人以鱼不如授人以渔 有需要的同学 可以在github搜索博主的项目 自行拓展其它注解(例如xmlelment等), 按照已有代码规范继承拓展 难度不大。实体类中 属性已有了文档注释,安装插件后 我们可以按alt+ins 选择生成swagger注解(或easy excel注解)

2024-05-15 14:04:48 747 2

原创 【java】java中常用的代码技巧 教你如何编写优雅代码

博主之前写了一篇博客 :【java】 java开发中 常遇到的各种难点 思路方案上述博客主要描述的是该如何解决疑难场景,接下来博主带来姊妹篇,将针对用常规方式写出来的代码不太好看、效率不太高的场景 阐述该如何编写一些更加优雅的代码。

2024-03-21 16:20:44 587

原创 【安卓】Android开发入门 你的第一个apk应用

一个入门的安卓应用,应用功能:打开百度首页。在实际应用中,我们可以将网址替换成我们自己的网页ip地址、域名等;这样就可以在手机端 无需手动输入网址, 直接打开网站

2024-03-13 17:03:14 1892

原创 【springblade】springblade(bladeX) 数据权限失效原因分析

最近博主在按照bladeX官方文档 配置数据权限 结果发现失效了,网上搜了一下没找到合适的答案,本着求人不如求己的精神,自己调试了一下发现了问题所在,也大致看了一下bladeX的权限逻辑。

2024-02-22 17:53:13 1696 1

原创 【spring】 ApplicationListener的使用及原理简析

ApplicationListener 是spring提供的一个监听器,它可以实现一个简单的发布-订阅功能,用有点外行但最简单通俗的话来解释:监听到主业务在执行到了某个节点之后,在监听器里面做出相应的其它业务变更。下面我们具体看段代码,则能很快的理解

2024-02-22 16:51:47 5046 4

原创 【idea】idea插件编写教程,博主原创idea插件已上架idea插件市场 欢迎下载

经常使用Objects.equals(a,b)方法的同学 应该或多或少都会因为粗心而传错参, 例如日常开发中 我们使用Objects.equals去比较 status(入参),statusEnum(枚举), 很容易忘记statusEnum.getCode() 或 statusEnum.getVaule() ,再比如 我们比较一个订单code时 orderCode(入参),orderDTO(其它业务对象) 很容易忘记orderDTO.getCode()

2024-01-09 15:55:21 1552 2

原创 【fiddler】fiddler抓包工具的使用

以上是针对http操作,如果是加密的https 需要进行以下操作(https博主未实测)前言:我们可以通过fiddler软件,捕获到http请求,并修改请求参数 修改返回内容。启动fiddler软件,点击file 选择 Capture Traffic。此时会出现一个向上的箭头,点击后出现右侧面板,2红框可以自由编辑参数。(注:在Inspectors选项卡下)(我们以谷歌浏览器发起请求为例)fiddler下载,官网如下图。

2024-01-05 18:07:11 612

原创 【python】python基础教程 java转python快速入门

很多同学估计和博主一样,照葫芦画瓢 写点python是没问题的,理论上只要懂一门语言 学其它语言的基本语法都是很容易的,难点在于针对什么场景 用什么框架, 如何针对并发做设计等。虽说我们画瓢都能画,但是基础的入门语法 还是要熟练的,博主是java开发 ,所以本文有时会以java的语言来阐述。

2023-12-25 17:32:47 1515

原创 【seata】 seata整合nacos+springcloud alibaba+openfeign+fallbackFactory保姆级教程 解决openfeign降级 seata失效问题及各种坑点

本文环境采用的是2021.x中最新的版本,也是springboot 2中 最新的版本对应关系,亲测可行,阅读教程前请先核对自己的版本。(2022.x与springboot3对应,而springboot3又和高版本jdk关联,博主暂没研究)nacos版本:2.2.0seata版本:1.6.1springboot: 2.6.13spring-cloud: 2021.0.5spring-cloud-alibaba: 2021.0.5.0其它:mybatis plus: 3.5.1openfeig

2023-12-15 14:48:43 2989 4

原创 【lombok】从easyExcel read不到值到cglib @Accessors(chain = true)隐藏的大坑

easyExcel读不到值?原来是开启了chain=true , 这只是easyExcel才有的问题吗 ? 这背后竟然隐藏着一个惊天秘密...

2023-12-12 18:25:50 1008

原创 【powerjob】定时任务调度器 xxl-job和powerjob对比

powerJob有后发优势 调度任务配置更加灵活, 截至目前仍在维护,功能更全面,但相应的内存占用约为xxl-job的2-3倍,xxl job用户量会比powerJob庞大,内存占用较小可以结合实际业务以及服务器资源空闲情况 考虑是否需要使用到灵活配置特性,如服务器资源紧张 在可预见范围内 仅需要基本的定时任务执行功能 推荐 xxl-job, 如服务器资源不紧张 为后续项目灵活性考虑 可选择powerjob。

2023-12-04 18:43:39 6252

原创 【java】编译时bug 项目启动前bug 框架bug合集

项目没跑起来就遇到了疑难bug? 看看本文中 有没有你遇到的场景

2023-11-27 14:30:22 1324

原创 【shardingjdbc】sharding-jdbc分库分表入门demo及原理分析

由一个分库案例 引发的思考

2023-11-14 12:27:23 678

原创 【mysql】关于mysql的数据结构特点 索引特点 InnoDB机制

翻自己博客 发现缺少mysql数据结构和索引相关内容两年前整理的mysql知识点 一直存在于博主的笔记本里面(是的 纸质的那种笔记本 不是程序员吃饭用的笔记本)

2023-10-18 01:47:27 446 1

原创 【必备】计算机行业、程序员必备的工具软件;必备小技巧

博主并不是广告推销 只是分享自己接触的好用的软件和工具,所以一切从简 不会用长篇大论去介绍优点。博主自己的笔记本是在用来办公的,所以不会去下载一切乱七八糟的东西,这些软件或工具 要么有自己的官方下载安装渠道 要么是开源的。

2023-04-23 16:19:28 1124 1

原创 【java】深入分析try with resouce的原理 java如何通过方法句柄的方式进行方法调用

那这行代码将会报错。而方法句柄的调用性能相对较高,因为方法句柄是在编译期就已经确定了调用的目标方法的签名和位置,避免了运行时的解析和检查。首先,使用反射 invoke() 方法调用方法是一种比较灵活的方式,可以调用任何类和任何方法,但是它的性能相对较低,因为每次调用方法都需要进行一定的运行时检查和解析。在运行时,JVM会根据提供的方法句柄和方法类型动态地选择需要调用的方法,并且可以在运行时生成新的方法。是Java虚拟机中一个重要的概念,它可以看作是一个方法的引用,用于在运行时动态地选择需要调用的方法。

2023-04-17 18:13:24 902

原创 【java】java中进制、byte、String转换问题

在博主之前的文章中,有简单介绍过二进制,除了二进制,16进制也是常用的,例如在博主接触的tcp(modbus)协议中 16进制就经常出现。

2023-04-06 18:14:27 973

原创 【netty】java如何作为websocket客户端 对服务端发起请求

为什么会使用java作为websocket客户端?虽说websocket协议 本意是web与服务端之间的通讯协议,那假设有一天 我们的供应商 或者是甲方大爷 只提供了websocket接口呢?如果直接让前端去对接,再把数据传给后端,那从前端对接到后端入库的步骤,万一出现数据丢失呢?总之把数据处理放在后端,是相对可靠的长链接有两点值得注意的,一是心跳机制 二是重连机制如果不发送心跳包,可能过会儿连接就断开了;重新机制就比较好理解了,不管是服务端还是客户端的断开,作为客户端都需要能够重连。

2023-03-14 19:17:47 5846 7

原创 【java】java天气消息推送至微信公众号详细教程

谁说程序员不懂浪漫?将的关心 推送至微信公众号 给女朋友及时的关怀~(这位同学 你女朋友呢)

2023-03-03 15:37:53 1539

原创 【flink】 flink入门教程demo 初识flink

flink是一个流式处理框架,且高性能。说通俗点就是把数据转成流的形式进行处理,可以在多进程中执行,而且是分布式架构 支持集群部署那么实际应用场景是怎么样的呢?还是通俗点举例,我们可以将文本文件中的内容,通过flink流式读取、统计等操作,这是最基础的操作;也可以监听服务器端口,不断从端口获取数据 并进行处理;还可以把消息队列中的消息进行读取;此外,用于IOT场景也是没有问题的。换句话说,有数据的地方,都可以用flink处理。flink是基于内存的,所以高效;

2023-03-02 17:34:01 1499 2

原创 【java】java sftp访问文件夹,java smb访问共享文件夹 按时间过滤查找文件 集成springboot

本文介绍了java中如何进行sftp传输及smb传输访问共享文件夹 ,复制代码前 请先认真看注意事项。

2023-02-21 17:20:13 2957 2

原创 【go】结合一个go开源项目分析谷歌浏览器cookie为什么不安全 附go项目导包失败怎么解决教程

本文创作背景 源于谷歌浏览器提示密码被泄露 并且某站很快收到了异地企图登录的提醒。当即怀疑是不是谷歌浏览器保存的密码不安全,最后查阅诸多资料 并找到一个go语言编写的开源项目进行研究,虽然最终不能确定密码是如何泄露的 但研究结论还是让人不由感慨互联网的不安全。

2023-02-16 15:22:16 854

原创 【swagger】spring security中 swagger和knife4j集成 无法访问 返回结果没有内容

作为一个强迫症重度的程序猿 不想多导一个jar包,本文创作背景是鉴于网上大多数是旧版本swagger2的教程,且没有针对2和3区别描述,话不多说 直接步入正题。

2023-01-31 10:40:29 5275

原创 【jackson】jackson全局配置方式 因为JsonDeserializer全局配置优先级导致@JsonFormat失效的问题

我们知道jackson的序列化 反序列化 配置方式较多,本文介绍常见的几种。当然,本文重点难点是在于文章目录中 最后一种配置 通过JsonDeserializer方式 导致@JsonFormat失效的问题。避开问题的方式有很多 一条路行不通就换一条路,但总会有想解决问题的人 偏要一条路走到黑 ,一个程序员最无助 无非遇到bug 百度谷歌Stack Overflow都搜不到答案的时候, 希望本文可以帮助到有需要的同学。

2023-01-13 12:00:25 5156

原创 【springboot】 通过jdk8特性 优雅的写入日志(非常推荐) 解决@valid失效问题

valid 可以帮助我们节省很多代码 比较方便 但操作失误时 可能会失效 达不到我们预期效果;@valid会有个问题 因为注解过于方便 反而会导致拦截后 错误日志的收集会比较麻烦 ,以及在面对有时需要拦截 有时不需要拦截的特定场景下 显得无计可施 此时我们还是要回归手写校验本文将从解决@valid失效问题 及提供更灵活的方案两个方面进行简述。

2022-12-26 11:44:35 3383

空空如也

空空如也

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

TA关注的人

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