摘要: 前言 大年初二,大家新年快乐,我又开始码字了。写这篇文章,源于在家和基友交流的时候,基友问到了,我猛然发现还真是这么回事,多线程启动调用的都是start,那么为什么没人掉用run呢?于是打开我的idea,翻一波代码,带大家一探究竟。 继承thread类实现多线程 我们知道java有三种方式实现多线程 阅读全文
posted @ 2021-02-13 11:16 经典鸡翅 阅读(397) 评论(0) 推荐(0) 编辑
摘要: 前言 最近用了公司某框架,部署到现场后,现场运维开始维护现场数据,在不断操作的过程中,系统崩溃,查看后台日志,druid连接池已经获取不到连接。于是开始了排查之旅。在此记录。 排查开始 首先后台的报错是这样的。 exception=org.mybatis.spring.MyBatisSystemEx 阅读全文
posted @ 2020-08-22 16:26 经典鸡翅 阅读(944) 评论(0) 推荐(0) 编辑
摘要: 前言 大家好,这里是经典鸡翅,今天给大家带来一篇基于SpringAop实现的操作日志记录的解决的方案。大家可能会说,切,操作日志记录这么简单的东西,老生常谈了。不! 网上的操作日志一般就是记录操作人,操作的描述,ip等。好一点的增加了修改的数据和执行时间。那么!我这篇有什么不同呢!今天这种不仅可以记 阅读全文
posted @ 2020-05-27 09:38 经典鸡翅 阅读(762) 评论(3) 推荐(1) 编辑
摘要: 前言 上篇文章我们介绍了国产SM4加密算法的后端java实现方案。没有看过的小伙伴可以看一下这篇文章。 https://www.cnblogs.com/jichi/p/12907453.html 本篇文章将介绍前端vue的解决方案,和java后端互相辉映。 说起前端的vue,真的是一个非常好用的框架 阅读全文
posted @ 2020-05-19 08:42 经典鸡翅 阅读(1890) 评论(1) 推荐(2) 编辑
摘要: 前言 今天给大家带来一个国产SM4加密解密算法的java后端解决方案,代码完整,可以直接使用,希望给大家带来帮助,尤其是做政府系统的开发人员,可以直接应用到项目中进行加密解密。 画重点!是SM4哦,不是SM。哈哈,各位要在知识里遨游,不要想歪。正文开始~ 国产SM4加密解密算法概念介绍 SMS4算法 阅读全文
posted @ 2020-05-18 08:38 经典鸡翅 阅读(7314) 评论(0) 推荐(7) 编辑
摘要: 背景 之前做数据抽取的时候,搭了一个mybatis动态数据源切换的架子。方便他们写抽取的代码。今天同事问我,架子里面的mybatisplus的IPage失效了是什么问题。想了一下,应该是写动态数据源的时候,我自定义的mybatis的配置覆盖了已有的配置。于是我让他先把我写的配置进行删除,看是否正常。 阅读全文
posted @ 2020-01-07 21:15 经典鸡翅 阅读(5028) 评论(0) 推荐(2) 编辑
摘要: 背景 最近让我做一个大数据的系统,分析了一下,麻烦的地方就是多数据源切换抽取数据。考虑到可以跨服务器跨数据库抽数,再整理数据,就配置了这个动态数据源的解决方案。在此分享给大家。 实现方案 数据库配置文件 我们项目使用的是yml形式的配置文件,采用的是hikari的数据库连接池。第一步我们自然是配置多 阅读全文
posted @ 2019-12-09 19:33 经典鸡翅 阅读(844) 评论(0) 推荐(1) 编辑
摘要: 一、前言 数据库的数据量达到一定程度之后,为避免带来系统性能上的瓶颈。需要进行数据的处理,采用的手段是分区、分片、分库、分表。 二、分片(类似分库) 分片是把数据库横向扩展(Scale Out)到多个物理节点上的一种有效的方式,其主要目的是为突破单节点数据库服务器的 I/O 能力限制,解决数据库扩展 阅读全文
posted @ 2021-09-16 22:23 经典鸡翅 阅读(412) 评论(0) 推荐(1) 编辑
摘要: 前言 最近打算出jdk源码的博客,想在源码基础上加注释,在此把方法分享给大家。 处理方法 打开project structures,选择sdk。 根据上方的路径,找到zip包,进行解压。 然后删除掉zip包,重新加入到解压后的包。 再次打开jdk源码。此时随便输入一个字母,会弹出如下框。 选择第三个 阅读全文
posted @ 2021-09-16 22:04 经典鸡翅 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 今天mac非正常重启后,项目内大面积报红。解决方案如下: idea->file->Invalidate Cache 勾选clear cahce 确定后重启,即可。 阅读全文
posted @ 2021-07-12 23:19 经典鸡翅 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 前言 最近被问到了这个问题,原题目应该是mysql的int(1)和int(10)有什么区别。当时没答好,也确实没注意过,故在此研究记录下。 探究 mysql中int所能设置的长度范围是1255。当你输入小于1的数字的时候,会自动给你置为11。当你输入的数值是大于255的时候,会提示你最大为255。 阅读全文
posted @ 2021-03-25 12:38 经典鸡翅 阅读(65) 评论(0) 推荐(0) 编辑
摘要: #查看日志中,包含“表名:”或者“包含SQL:”的行! cat pro.log | grep "^\(表名:\|SQL:\).*$" #查看日志中,包含“表名:”或者“包含SQL:”的行!,但是还需要过滤掉select语句 cat pro.log | grep "^\(表名:\|SQL:\).*$" 阅读全文
posted @ 2021-02-19 16:43 经典鸡翅 阅读(536) 评论(0) 推荐(0) 编辑
摘要: 从thread类中,我们可以看到类中预先定义了三个优先级。 通过getpriority可以看到新建线程的默认等级。 public class ExtendsThread { public static void main(String[] args) { MyThread c = new MyThr 阅读全文
posted @ 2021-02-13 11:37 经典鸡翅 阅读(533) 评论(0) 推荐(0) 编辑
摘要: 在我们的Thread类中,我们可以看到多线程有六种状态。 NEW:初始状态 RUNNABLE:运行状态 BLOCKED:阻塞状态 WAITING:等待状态 TIMED_WAITING:超时等待状态 TERMINATED:终止状态 六种状态之间的转化关系如下: 1、NEW 表示线程创建成功,但没有运行 阅读全文
posted @ 2021-02-13 11:29 经典鸡翅 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 前言 大年初二,大家新年快乐,我又开始码字了。写这篇文章,源于在家和基友交流的时候,基友问到了,我猛然发现还真是这么回事,多线程启动调用的都是start,那么为什么没人掉用run呢?于是打开我的idea,翻一波代码,带大家一探究竟。 继承thread类实现多线程 我们知道java有三种方式实现多线程 阅读全文
posted @ 2021-02-13 11:16 经典鸡翅 阅读(397) 评论(0) 推荐(0) 编辑
摘要: 在执行git pull的时候,提示当前branch没有跟踪信息: 解决方案一 指定远程master git pull origin master 解决方案二 先指定本地master到远程的master,然后再去pull git branch --set-upstream-to=origin/mast 阅读全文
posted @ 2021-02-10 10:52 经典鸡翅 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 进入要推送的项目文件位置 码云上新建一个项目 在要推送的文件夹执行git bash 使用 git init 命令,初始化一个 git 本地仓库 添加远程仓库 拉取远程仓库 提交文件 推送文件到仓库 阅读全文
posted @ 2021-02-10 10:50 经典鸡翅 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 配置如下,增加了连接池相关 redis: host: localhost port: 6379 database: 7 lettuce: pool: max-active: 20 max-idle: 20 max-wait: -1 min-idle: 0 启动报错。 解决方案 引入如下依赖 <dep 阅读全文
posted @ 2021-02-03 09:11 经典鸡翅 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 背景 最近往自己的框架里集成swagger,发现一个奇怪的问题,当我的tag是中文的时候。发现点击展开不生效,只能点击全部展开,这就十分不方便了。如下图只能点击expand operations。 解决方案 第一种方案:如果说我们将tags改为英文,那么发现界面展开好使。 第二种方案:如果我们不使用 阅读全文
posted @ 2021-02-02 09:05 经典鸡翅 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 未解决之前的效果 可以看到都是红色的。 解决方法 设置为none,点击ok。 解决后的效果 阅读全文
posted @ 2021-02-02 08:44 经典鸡翅 阅读(1093) 评论(0) 推荐(0) 编辑
摘要: 在建立项目版本库时,可首先建好项目文件夹,并在其中建立trunk, branches, tags三个空的子目录。这样在trunk中开始进行开发: trunk是主分支,是日常开发进行的地方。 branches是分支。一些阶段性的release版本,这些版本是可以继续进行开发和维护的,则放在branch 阅读全文
posted @ 2021-01-19 22:55 经典鸡翅 阅读(678) 评论(0) 推荐(0) 编辑
摘要: 前言 有的时候,我们需要修改一个变量的值,但变量也许存在于 Jar 包中或其他位置,导致我们不能从代码层面进行修改,于是我们就用到了下面的场景,通过反射来进行修改变量的值。 定义一个实体类 class Bean{ private static final Integer INT_VALUE = 10 阅读全文
posted @ 2021-01-16 22:32 经典鸡翅 阅读(835) 评论(0) 推荐(0) 编辑
摘要: 前言 最近发现带的小伙伴写sql对于空值的判断方法不正确,导致程序里面的数据产生错误,在此进行一下整理,方便大家以后正确的判断空值。以下带来示例给大家进行讲解。 建表 create table test (colA varchar(10) not null,colB varchar(10) null 阅读全文
posted @ 2021-01-14 22:44 经典鸡翅 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 前言 最近买了新服务器,准备开始弄一些个人的开源项目。有了服务器当然是搞一波svn啦。方便自己的资料上传和下载。于是在此记录搭建svn的方式,方便以后直接使用。 安装 使用yum源进行安装,十分的方便。 yum install subversion 配置svn 创建仓库 我们这里在/home下建立一 阅读全文
posted @ 2021-01-13 21:54 经典鸡翅 阅读(347) 评论(0) 推荐(1) 编辑
摘要: 最近遇到一个神奇的问题,在往数据库中插入聊天表情的时候,离奇的报错,我的客户端、服务器、数据库都是UTF-8 编码的,所以应该不会出现问题。最终发现根本的原因在于MySQL 的“utf8”实际上不是真正的 UTF-8。 Mysql的utf-8的问题 MySQL 的“utf8”实际上不是真正的 UTF 阅读全文
posted @ 2021-01-09 23:11 经典鸡翅 阅读(79) 评论(0) 推荐(0) 编辑
摘要: varchar的存储规则 4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节)。 5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节。 v 阅读全文
posted @ 2021-01-08 22:11 经典鸡翅 阅读(846) 评论(1) 推荐(2) 编辑
摘要: 前言 我们都知道在java中进行日期格式化使用simpledateformat。通过格式 yyyy-MM-dd 等来进行格式化,但是你知道其中微小的坑吗? yyyy 和 YYYY 示例代码 @Test public void testWeekBasedYear() { Calendar calend 阅读全文
posted @ 2021-01-07 22:54 经典鸡翅 阅读(299) 评论(0) 推荐(0) 编辑