- 博客(63)
- 资源 (41)
- 收藏
- 关注
原创 几款实用的内网穿透工具
nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。一台有公网IP的服务器(VPS)运行服务端(NPS)一个或多个运行在内网的服务器或者PC运行客户端(NPC)图片。
2025-03-29 08:08:09
1002
原创 防止超卖的7种实现方式
在开发中,对于下面的代码,可能很熟悉:在Service里面加上事务注解和Lock锁。控制层:Controller业务层:Service对于上面的代码应该没啥问题吧,业务方法上加事务,在处理业务的时候加锁。但上面这样写法是有问题的,会出现超卖的情况,看下测试结果:模拟1000个并发,抢100商品。这里在业务方法开始加了锁,在业务方法结束后释放了锁。但这里的事务提交却不是这样的,有可能在事务提交之前,就已经把锁释放了,这样会导致商品超卖现象。所以加锁的时机很重要!
2025-03-04 16:53:58
370
原创 xxl-job,彻底告别手动配置任务!
项目的完整代码已经传到了我的github上,小伙伴们如果有需要的可以自行下载,也欢迎来点个star支持一下~
2025-02-05 16:21:27
643
原创 java结合reids 实现并发去重,优雅地处理重复请求!
目前的主流,我们的参数通常是一个JSON。那么针对这种场景,我们怎么去重呢?如下面的例子,请求的其他参数是一样的,除了请求时间相差了一秒。
2024-12-07 09:51:34
200
原创 60个开源项目,简直就是开发、私活儿的神器
个人任务管理工具 源码地址:https://github.com/kesin/taskover.git Taskover 是基于Rails+VueJs的一款开源个人任务管理工具,通过简单易用的任务归纳分类方式,用来帮助高效地追踪管理各项任务,最大化的提升工作效率。主要实现:注入,istio配置和模板(还在开发中)等功能。- 轻量级的在线项目/任务协作系统 源码地址:https://github.com/a54552239/pearProject.git 轻量级的在线项目/任务协作系统,远程办公协作。
2024-02-20 10:29:45
693
原创 SQL 查询优化的 10 个案例!
在应用开发的早期,数据量少,开发人员开发功能时更重视功能上的实现,随着生产数据的增长,很多SQL语句开始暴露出性能问题,对生产的影响也越来越大,有时可能这些有问题的SQL就是整个系统性能的瓶颈。
2023-11-27 15:15:26
809
原创 别再用Mybatis Plus 的伪批量新增了!
先抛出一个问题:假设老板给你下了个任务,向数据库中添加 100 万条数据,并且不能耗时太久!如果你需要添加 100 万条数据,就需要多次执行此语句,这就意味着频繁地 IO 操作(网络 IO、磁盘 IO),并且每一次数据库执行 SQL 都需要进行解析、优化等操作,都会导致非常耗时。和常规的INSERT语句不同的是,VALUES支持多条记录,通过逗号隔开。这样,可以实现一次性插入多条记录。数据量不多的情况下,常规INSERT。
2023-09-11 14:39:45
679
原创 spring boot +Sa-Token优雅的实现项目鉴权!
Sa-Token是一个轻量级Java权限认证框架。主要解决的问题如下:登录认证权限认证单点登录OAuth2.0分布式Session会话微服务网关鉴权等一系列权限相关问题。Sa-Token框架是一个轻量级的登录、鉴权框架,有利于我们开发。
2023-05-24 14:43:23
1517
原创 SpringBoot 生产中 16 条最佳实践
这条实践是我根据实际项目中的经历总结出的。Spring Boot 项目本身使用和集成了大量的开源项目,它帮助我们维护了这些第三方依赖。但是也有一部分在实际项目使用中并没有包括进来,这就需要我们在项目中自己维护版本。如果在一个大型的项目中,包括了很多未开发模块,那么维护起来就非常的繁琐。怎么办呢?事实上,Spring IO Platform 就是做的这个事情,它本身就是 Spring Boot 的子项目,同时维护了其他第三方开源库。
2023-05-19 14:59:42
542
原创 Win10下Docker Desktop+k8s安装
3. 点击“Apply & Restart”按钮完成docker desktop重启,至此完成win10 docker安装。打开kubernetes-dashboard.yaml (在\k8s-for-docker-desktop目录下)安装好了docker环境,必须是desktop 版本,本例子就是以docker decktop版本为基本讲解的。2. 右击托盘图标选择settings,选择Docker Engine菜单,具体docker的安装方法如下。访问网站,输入令牌,成功访问。一、安装docker。
2023-05-09 15:36:52
2075
原创 mysql优化命令
服务器设置最大连接数 和 服务器响应的最大连接数:show variables like 'max_connections';show global status like 'Max_used_connections'; 四、临时表 mysql> show global status like 'created_tmp%'; +-------------------------+---------+ | Variable_name | Value | +-----------------
2022-06-01 16:51:57
200
原创 Arthas java诊断工具使用
Arthas 用户文档 — Arthas 3.6.1 文档cd /data/java -jar arthas-boot.jar选中进程查看线程当前CPU排行
2022-06-01 16:34:43
104
原创 Java 8 新特征,设计模式
Java 8 中提供的很多新特性可以用来重构传统设计模式中的写法,下面是一些示例:一、策略模式上图是策略模式的类图,假设我们现在要保存订单,OrderService接口定义要做什么,而NoSqlSaveOrderStragegy以及MySqlSaveOrderStrategy则提供了二种策略,分别是保存到nosql数据库,以及传统的mysql关系型数据库,最后在OrderServiceExecutor中通过构造函数注入最终要使用的策略。传统写法,这个场景至少得4个类,代码如下: Ord
2022-05-07 16:39:45
162
原创 Squaretest生成单元测试
今天来介绍一款工具Squaretest,它是一款自动生成单元测试的插件,为什么会用到它?主要因为最近公司上了代码质量管控的指标,会考评各个项目的单元测试覆盖率,以及sonar扫描出来的各种问题,很多老项目老代码,或者着急交付的项目,单元测试严重缺失,覆盖率只有5%不到。所以几个小伙伴这几天就在疯狂的堆单元测试,3个人堆了2天才堆到30%,于是我也来上手帮忙写了两个,写到第二个的时候就发现,这个活不应该是人干的,要去看原来的代码,然后根据逻辑写各种Mock,感觉是有迹可循的东西,所以就查了下,发现果然
2022-05-06 17:50:26
3631
1
原创 IDEA 206个快捷键 动图演示,键盘侠标配
本文参考了 IntelliJ IDEA 的官网,列举了IntelliJ IDEA(Windows 版)的所有快捷键。并在此基础上,为 90% 以上的快捷键提供了动图演示,能够直观的看到操作效果。该快捷键共分 16 种,可以方便的按各类查找自己需要的快捷键~~Part1一、构建/编译1Ctrl + F9:构建项目该快捷键,等同于菜单【Build】—>【Build Project】执行该命令后,IntelliJ IDEA 会编译项目中所有类,并将编译结果输出到out目录中。..
2022-04-28 11:39:49
722
原创 SpringBoot 分布式事务的解决方案(JTA+Atomic+多数据源)
首先,到底啥是分布式事务呢,比如我们在执行一个业务逻辑的时候有两步分别操作A数据源和B数据源,当我们在A数据源执行数据更改后,在B数据源执行时出现运行时异常,那么我们必须要让B数据源的操作回滚,并回滚对A数据源的操作;这种情况在支付业务时常常出现;比如买票业务在最后支付失败,那之前的操作必须全部回滚,如果之前的操作分布在多个数据源中,那么这就是典型的分布式事务回滚;了解了什么是分布式事务,那分布式事务在java的解决方案就是JTA(即Java Transaction API);springboot官方提
2022-04-15 17:31:04
617
原创 6 款 Java 8 自带工具,轻松分析定位 JVM 问题
使用 JDK 自带工具查看 JVM 情况JDK 自带了很多命令行甚至是图形界面工具,帮助我们查看 JVM 的一些信息。比如,在我的机器上运行ls命令,可以看到 JDK 8 提供了非常多的工具或程序:接下来,我会与你介绍些常用的监控工具。你也可以先通过下面这张图了解下各种工具的基本作用:为了测试这些工具,我们先来写一段代码:启动 10 个死循环的线程,每个线程分配一个 10MB 左右的字符串,然后休眠 10 秒。可以想象到,这个程序会对 GC 造成压力://启动10个线程Int..
2022-04-15 16:44:08
378
tomcat跨域请求配置
2015-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人