- 博客(58)
- 资源 (41)
- 收藏
- 关注
原创 60个开源项目,简直就是开发、私活儿的神器
个人任务管理工具 源码地址:https://github.com/kesin/taskover.git Taskover 是基于Rails+VueJs的一款开源个人任务管理工具,通过简单易用的任务归纳分类方式,用来帮助高效地追踪管理各项任务,最大化的提升工作效率。主要实现:注入,istio配置和模板(还在开发中)等功能。- 轻量级的在线项目/任务协作系统 源码地址:https://github.com/a54552239/pearProject.git 轻量级的在线项目/任务协作系统,远程办公协作。
2024-02-20 10:29:45 530
原创 SQL 查询优化的 10 个案例!
在应用开发的早期,数据量少,开发人员开发功能时更重视功能上的实现,随着生产数据的增长,很多SQL语句开始暴露出性能问题,对生产的影响也越来越大,有时可能这些有问题的SQL就是整个系统性能的瓶颈。
2023-11-27 15:15:26 672
原创 别再用Mybatis Plus 的伪批量新增了!
先抛出一个问题:假设老板给你下了个任务,向数据库中添加 100 万条数据,并且不能耗时太久!如果你需要添加 100 万条数据,就需要多次执行此语句,这就意味着频繁地 IO 操作(网络 IO、磁盘 IO),并且每一次数据库执行 SQL 都需要进行解析、优化等操作,都会导致非常耗时。和常规的INSERT语句不同的是,VALUES支持多条记录,通过逗号隔开。这样,可以实现一次性插入多条记录。数据量不多的情况下,常规INSERT。
2023-09-11 14:39:45 517
原创 spring boot +Sa-Token优雅的实现项目鉴权!
Sa-Token是一个轻量级Java权限认证框架。主要解决的问题如下:登录认证权限认证单点登录OAuth2.0分布式Session会话微服务网关鉴权等一系列权限相关问题。Sa-Token框架是一个轻量级的登录、鉴权框架,有利于我们开发。
2023-05-24 14:43:23 1373
原创 SpringBoot 生产中 16 条最佳实践
这条实践是我根据实际项目中的经历总结出的。Spring Boot 项目本身使用和集成了大量的开源项目,它帮助我们维护了这些第三方依赖。但是也有一部分在实际项目使用中并没有包括进来,这就需要我们在项目中自己维护版本。如果在一个大型的项目中,包括了很多未开发模块,那么维护起来就非常的繁琐。怎么办呢?事实上,Spring IO Platform 就是做的这个事情,它本身就是 Spring Boot 的子项目,同时维护了其他第三方开源库。
2023-05-19 14:59:42 507
原创 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 1754
原创 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 194
原创 Arthas java诊断工具使用
Arthas 用户文档 — Arthas 3.6.1 文档cd /data/java -jar arthas-boot.jar选中进程查看线程当前CPU排行
2022-06-01 16:34:43 91
原创 Java 8 新特征,设计模式
Java 8 中提供的很多新特性可以用来重构传统设计模式中的写法,下面是一些示例:一、策略模式上图是策略模式的类图,假设我们现在要保存订单,OrderService接口定义要做什么,而NoSqlSaveOrderStragegy以及MySqlSaveOrderStrategy则提供了二种策略,分别是保存到nosql数据库,以及传统的mysql关系型数据库,最后在OrderServiceExecutor中通过构造函数注入最终要使用的策略。传统写法,这个场景至少得4个类,代码如下: Ord
2022-05-07 16:39:45 143
原创 Squaretest生成单元测试
今天来介绍一款工具Squaretest,它是一款自动生成单元测试的插件,为什么会用到它?主要因为最近公司上了代码质量管控的指标,会考评各个项目的单元测试覆盖率,以及sonar扫描出来的各种问题,很多老项目老代码,或者着急交付的项目,单元测试严重缺失,覆盖率只有5%不到。所以几个小伙伴这几天就在疯狂的堆单元测试,3个人堆了2天才堆到30%,于是我也来上手帮忙写了两个,写到第二个的时候就发现,这个活不应该是人干的,要去看原来的代码,然后根据逻辑写各种Mock,感觉是有迹可循的东西,所以就查了下,发现果然
2022-05-06 17:50:26 3199 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 651
原创 SpringBoot 分布式事务的解决方案(JTA+Atomic+多数据源)
首先,到底啥是分布式事务呢,比如我们在执行一个业务逻辑的时候有两步分别操作A数据源和B数据源,当我们在A数据源执行数据更改后,在B数据源执行时出现运行时异常,那么我们必须要让B数据源的操作回滚,并回滚对A数据源的操作;这种情况在支付业务时常常出现;比如买票业务在最后支付失败,那之前的操作必须全部回滚,如果之前的操作分布在多个数据源中,那么这就是典型的分布式事务回滚;了解了什么是分布式事务,那分布式事务在java的解决方案就是JTA(即Java Transaction API);springboot官方提
2022-04-15 17:31:04 587
原创 6 款 Java 8 自带工具,轻松分析定位 JVM 问题
使用 JDK 自带工具查看 JVM 情况JDK 自带了很多命令行甚至是图形界面工具,帮助我们查看 JVM 的一些信息。比如,在我的机器上运行ls命令,可以看到 JDK 8 提供了非常多的工具或程序:接下来,我会与你介绍些常用的监控工具。你也可以先通过下面这张图了解下各种工具的基本作用:为了测试这些工具,我们先来写一段代码:启动 10 个死循环的线程,每个线程分配一个 10MB 左右的字符串,然后休眠 10 秒。可以想象到,这个程序会对 GC 造成压力://启动10个线程Int..
2022-04-15 16:44:08 306
原创 Spring注解使用
通过组件扫描和自动注入已经大大简化了我们的开发,然而,Spring仍然不满足于此,经过版本的迭代,现在我们已经可以完全抛弃配置文件使用Spring进行开发了,一起来看看吧。@Configuration & @Bean现在我们不创建Spring的配置文件,那么如何将一个组件注册到容器中呢?其实,我们仍然是需要一个配置文件的,不过这个配置文件能够以一个类的形式存在:@ConfigurationpublicclassMyConfiguration{}@Configuratio...
2022-03-30 18:24:37 443
原创 解决Long返回前端精度丢失
方式一:属性序列化注解@JsonSerialize可以将对象中的指定属性以文本的方式进行序列化@DataclassUser{@JsonSerialize(using=ToStringSerializer.class)Longid;Stringname;@JsonSerialize(using=ToStringSerializer.class)Integerage;Shortgender;}测试数据:{...
2022-03-30 18:11:49 464 2
原创 一键生成数据库文档大利器
简介在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,从业以来,待过几家企业,关于数据库表结构文档状态:要么没有、要么有、但都是手写、后期运维开发,需要手动进行维护到文档中,很是繁琐、如果忘记一次维护、就会给以后工作造成很多困扰、无形中制造了很多坑留给自己和后人,于是萌生了要自己写一个插件工具的想法。但由于自己前期在程序设计上没有很多造诣,且能力偏低,有想法并不能很好实现,随着工作阅历的增加,和知识的不断储备,终于在2020年的3月中旬开始进行编写,4月上旬完成初版,想完善差不多在开源..
2022-03-30 18:06:13 211
原创 Guava中这些Map的使用
Guava是google公司开发的一款Java类库扩展工具包,内含了丰富的API,涵盖了集合、缓存、并发、I/O等多个方面。使用这些API一方面可以简化我们代码,使代码更为优雅,另一方面它补充了很多jdk中没有的功能,能让我们开发中更为高效。今天Hydra要给大家分享的就是Guava中封装的一些关于Map的骚操作,在使用了这些功能后,不得不说一句真香。先引入依赖坐标,然后开始我们的正式体验吧~<dependency><groupId>com.google.guav...
2022-03-20 18:27:43 484
原创 springboot2.x缓存使用
之前说过Guava Cache,他的优点是封装了get,put操作;提供线程安全的缓存操作;提供过期策略;提供回收策略;缓存监控。当缓存的数据超过最大值时,使用LRU算法替换。这一篇我们将要谈到一个新的本地缓存框架:Caffeine Cache。它也是站在巨人的肩膀上-Guava Cache,借着他的思想优化了算法发展而来。本篇博文主要介绍Caffine Cache 的使用方式,以及Caffine Cache在SpringBoot中的使用。1. Caffine Cache 在算法上的优点-W-Tin
2022-03-20 18:18:51 445
tomcat跨域请求配置
2015-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人