自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

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

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

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

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

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

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

2021-09-07 10:58:13 1283 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 3724 6

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

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

2021-01-04 14:30:05 2503

原创 【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 7780 6

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

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

2024-03-21 16:20:44 263

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

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

2024-03-13 17:03:14 547

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

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

2024-02-22 17:53:13 1037

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

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

2024-02-22 16:51:47 1510

原创 【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 1424 2

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

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

2024-01-05 18:07:11 562

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

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

2023-12-25 17:32:47 1137

原创 【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 1023 3

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

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

2023-12-12 18:25:50 681

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

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

2023-12-04 18:43:39 2050

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

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

2023-11-27 14:30:22 1199

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

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

2023-11-14 12:27:23 275

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

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

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

原创 【必备】计算机行业、程序员必备的工具和软件 拒绝标题党

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

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

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

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

2023-04-17 18:13:24 738

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

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

2023-04-06 18:14:27 865

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

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

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

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

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

2023-03-03 15:37:53 1303

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

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

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

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

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

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

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

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

2023-02-16 15:22:16 751

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

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

2023-01-31 10:40:29 4458

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

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

2023-01-13 12:00:25 3869

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

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

2022-12-26 11:44:35 2620

原创 【圣诞快乐】如何用代码画一颗圣诞树?

如何通过不同的姿势 用代码画一颗圣诞树?

2022-12-25 11:49:49 1555

原创 【redisTemplate】redisTemplate操作小结 redis获取指定前缀的key

hash和list,除了特定的业务应用场景,它们有一个共同特点,可以将key做成类似数据库里面table的形式。如下图 AREA就类似于一张表,里面包含所有地区的key和value,这么设计有利于我们观察、维护redis的数据,地区的key不会平铺在最外层。题外话,不知道刚接触redis的同学会不会弄不清楚五大格式,感到很迷惑,我记得几年前自己刚接触的时候就会犯迷糊。,比如上面图中,我们的value是hash格式的,理解了这点后,其它几种格式的数据 也知道怎么操作了。

2022-12-14 11:08:45 4172 3

原创 【TDengine】 TDengine时序数据库的快速入门总结 TDengine教程总结

本文记录一些有效文档,其中很多不乏是官方文档的地址,主要目的是快速定位,节省找文档的时间。

2022-12-01 17:09:10 1623

原创 【schedule】立即手动执行定时器任务

将所有定时任务放在com.xxx.task包目录下,并用@Component注解修饰定时任务类, 当然这不是很严谨的做法,更正确的做法应该是再配合自定义注解,并将方法名作为参数传入。等到定时器的时间再测试 显然很浪费测试人员的时间,如果每个定时任务提供一个手动接口,那也很浪费开发人员的时间,修改cron 测完后再改回去也是比较麻烦的事情。当我们将代码放到测试环境时,测试如何快速测定时任务功能呢?反之,如果不是spring的环境,则用该代码。在我们日常开发中,相信定时器都用的不少。推荐使用@Lazy懒加载。

2022-11-21 16:47:23 1723 2

原创 【lombok】equals相等返回false contains包含返回false? lombok注解的一个天坑

明明重写了equals 内容相等却返回false?

2022-11-17 15:39:54 783

原创 【递归】java递归算法及替代方法

递归会造成压栈 栈帧变多 容易Stack Overflow,所以递归一般用于有限且数量可控范围内个人是很讨厌递归的,一般要用到递归的实际场景,代码就是又臭又长了,但这也是最简单粗暴的算法了,所以记录几个工作中遇到的递归案例,平常也需要加强练习,遇到才不会不知所措。

2022-11-16 10:24:41 1481

原创 【springboot】 springboot项目如何在项目启动时传入参数 系统启动时执行任务

如果只需要初始化一些项目内部的数据,方法不带参数 我们比较熟悉的 @PostContruct 注解可以做到。 那如果有的时候 我们需要外部传入参数 该如何处理呢?

2022-10-25 10:57:04 2306

原创 【redis】从高并发场景下超卖问题到redis分布式锁

从超卖问题到主从锁失效解决方案

2022-10-19 19:15:18 1181

原创 【JVM】jvm相关知识总结

jvm的内存划分及jvm调优小技巧

2022-10-17 16:28:16 782 2

原创 【二进制】 java中的二进制位运算 与或异或运算

注意: 如果二进制最高位是负的 转十进制会出现问题,int可以用 BigInteger 解决,或者Long.parse 再强转成int (因为涉及强转,就没写在上面教程,也不推荐) ,但如果是long 那就不好办了,所以符合业务前提下 二进制的首位,最好不要使用1。或运算: 1个1 则为1。异或: 值不同则为1。与运算: 都为1 则为1。

2022-09-23 14:44:39 1116

空空如也

空空如也

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

TA关注的人

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