自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 相同的 key, Nacos 配置一定会覆盖 application.yaml 吗?

同样的 key,在 Nacos 配置了,在 application 也配置了,到底会有哪个呢?Nacos 不会因为是后加载的,就覆盖原来的 application 的值。

2023-10-11 19:35:24 843

原创 Centos 7 Kubernetes-1.23 Kubesphere v3.3 Docker Harbor Git 安装过程

Centos 7 Kubernetes-1.23 Kubesphere v3.3 Docker Harbor Git 安装过程

2022-09-23 16:30:56 629 1

原创 Redis Centos 7 安装过程

Redis Centos7 安装过程

2022-07-28 17:51:52 222

原创 Nexus 私服上传 jar 包 Connection rest

上传 jar 包 至 Nexus 私服 报 Connection reset 错误,排查过程,问题原因及最终解决办法。

2022-07-27 19:01:46 1177

原创 Centos 基础配置

Centos基本设置

2022-07-22 14:36:11 1534

原创 Nacos - Spring Boot - 版本问题记录

nacos-config-spring-boot-starter:0.2.10 及 org.springframework.boot.context.properties.ConfigurationBeanFactoryMetadata' that could not be found 引发的“血案”!使用 gRPC 及 NIO 方式替换 HTTP 长连接

2022-07-21 22:49:11 3873 4

原创 Kotlin okhttp3 HttpClient

Kotlin 使用 okhttp3 为日常工具类的封装

2022-06-22 17:38:10 1163

原创 Docker 安装 GitLab、 Artifactory、Jenkins

全部使用 Docker,完成 GitLab、Artifactory、Jenkins,并完成代码提交自动构建过程基于 Centos 虚拟机,Docker 版本:20.10.4目录一,安装 GitLab1,Docker 语句及虚拟机变量2,运行好之后编辑 GitLab 的配置文件3,参数解释说明二,安装Artifactory三,安装 Jenkins1. 运行 Docker 镜像2. 安装 Jenkins 插件3,在 Jenkins 中安装 Maven 插件...

2022-04-16 21:22:02 978

原创 一次Jackson和泛型的优化和抽象

一次Jackson和泛型的优化和抽象起因最近在对接供应商的api,由此衍生出了这次优化记录分层:contrller-业务service-gysApiService以下所有的优化都基于gysApiService层的代码:供应商的接口返回的json{"status":200,"msg":"成功","data":null,"stackTrace":null}data数据返回,分两种:返回单个对象(query方法),返回list(queryList方法)。返回单个对象publ

2022-03-10 10:34:52 926

原创 Jenkins和gitlab有关token问题的总结

1,原因:私人账号被禁用现象:审批应用后,没有在jenkins上创建项目,查询日志得知:java代码通过Jenkins的api创建的Jenkins项目接口报错了,403,account forbidden2,大致背景和流程:公司自动化构建项目流程: 创建gitlab代码库 申请应用,审批应用 系统创建Jenkins在gitlab上的webhooks,保证gitlab有变动事件时,提醒Jenkins触发构建任务 系统自动创建Jenkins项目 3,初步解决:

2021-10-08 17:36:23 4452

原创 Mysql数据库一级缓存对业务双重检查锁的影响

Mysql数据库一级缓存对业务双重检查锁的影响背景介绍业务上,会有多人可能同时对同一笔申请进行审核的情况发生,为了防止出现重复审批的情况,我首先想到了单例模式的双重锁检查。然后就套用,一直没有出现问题。直到某项功能测试准备上线时发生的一个诡异问题,才让我意识到,基于Mysql数据库的状态检查,是业务的双重检查与单例模式的双重锁检查的最大不同。而恰恰就是微小这个的,一开始并没有引起我注意的不同,差点导致线上重大问题的发生。场景还原类似的业务双重检查代码如下://审核方法 @Transactiona

2020-09-13 19:26:34 259

原创 一次偶发项目循环依赖引发的spring循环依赖简析

一次偶发项目循环依赖引发的spring循环依赖简析spring可以自行帮你解决循环依赖,当然前提是,不能使用构造器注入法来注入属性,否则在项目启动时,spring会直接抛出循环依赖的错误,无法启动。但是当使用@Autowired或者是setter注入时,spring却可以帮你解决循环依赖。那spring到底是如何帮助你解决循环依赖的呢?假如我构造器注入和setter注入混合使用时,spring会不会也乱了呢?一,问题重现:一个项目写久了,产品不停的加功能,不停地催促上线,没有时间重构,那在重用某些se

2020-09-07 22:07:03 1198 1

原创 Jackson反序列化Date格式源码分析

Jackson反序列化Date类型时,需要在Date属性上指定@JSONFormat或者@JsonDeserialize注解,来指定格式或者自定义的反序列化器。这多多少少会带来些许不便,有没有什么好的方法呢?本文来浅显讲解一下。

2020-07-30 22:26:07 911 1

原创 SPI简介及源码简析

SPI简介及源码简析一,背景介绍数据库连接驱动JDBC大家都知道,我们在初学JAVA的时候,加载数据库驱动的方式一定是:Class.forName(“com.mysql.jdbc.Driver”)。但是后来慢慢不这么写了,甚至于在后来的项目中,都已经不关注这它了,只要把mysql或者oracle的驱动放在maven文件的依赖中,就可以正常的加载到数据的连接驱动。项目可以正常运行了,随着紧凑的项目进度安排,可能后续因为时间紧任务重,也就不会再去关注它了。但是我们是什么时候开始,不再去写Class.for

2020-07-21 22:33:22 509 1

原创 记录一次网件r6300v2 wan口失效依然可以上网的改动

一,事情起因:我的疏忽,塞翁失马焉知非福闲鱼上收购了一台R6300V2,据说可玩性比较高,可以有各种玩法,然后入手一台二手。拿到手后,第一时间发现wan口失效,就在和卖家沟通过程中,wan口突然可以了,就放弃了退货的想法。然后拆开,开始安装风扇(这是一个错误的决定,应该多重启几次,确定靠谱之后,再拆开,不过,也由此开启了这次修复的行动),风扇装好了,然后启动,结果wan口还是失效,不断重启,不...

2019-11-30 01:17:52 2888 1

原创 Mysql数据库update语句的执行返回结果,是匹配行数?还是修改行数?

前段时间偶然听说这个问题,甚为好奇,于是花了很久的时间来看源码,抓包。分析如下:一,update语句的结果到底是匹配行数?还是影响行数?先说结果:如果数据库的url为:jdbc:mysql://gitlab.fzghjx.com:3306/cron则,返回结果为匹配行数(Rows matched)。若为:jdbc:mysql://gitlab.fzghjx.com:33...

2019-04-07 23:26:28 10323

原创 数据库连接池C3P0、DruidCP、HikariCP、Tomcat Jdbc Pool测试数据比对

目前常用的数据库连接池有四种:C3P0、DruidCP、HikariCP、Tomcat Jdbc Pool。网上都是说HikariCP很好,Druid也很好,两个侧重点不一样。今天我在我的笔记本上,就这四个连接池的性能做了一个小的测试,结果仅供参考。分了两个场景进行了测试:场景一:每个线程查询10次,分别有10、100、500、1000、5000个线程场景二:100个线程并发,...

2019-03-24 16:22:32 2016 1

原创 查找MySql中不连续的ID

select id from (select id from Test order by id asc) t where not exists (select 1 from Test where id=t.id-1)select id from (select id from Test order by id asc) t where (select 1 from Test wher...

2019-03-05 13:13:46 5194 4

原创 Mysql主从备份实践

master主服务器:ip:192.168.5.112  sudo vi /etc/mysql/my.cnf[mysqld]server-id=1log-bin=mysql-bin#一定要把下面的一句话注销,否则无法远程登录服务器 #bind-address = 127.0.0.1 #这里可以设置哪些库需要备份,哪些不需要,我在这里没有设置 #binlog...

2019-01-22 22:45:22 188

原创 动手实践五:安装MySQL

之前的突然忙碌,一直没来得及更新。八,安装mysql1,搜索:sudo apt-search mysql | grep server找到要下载的版本的详细名称,就可以直接安装了:sudo apt-get install mysql-server-5.7 -d命令结尾加  -d  意思是单纯的下载,而不进行安装。等下载完之后,我用命令安装。这种方式适用于其他的软...

2019-01-22 22:35:37 159

原创 动手实践四:gitlab代码备份恢复

先说我的问题,给大家一个经验:1,备份和恢复两个操作的gitlab版本必须一致才可以。2,恢复操作一开始,就应该以root权限操作的。3,备份的文件,默认要放在/var/opt/gitlab/backups七:由于之前是从gitlab上备份了一下,然后重装了虚拟机,所以,现在得恢复到新的gitlab上1,备份的命令:gitlab-rake gitlab:backup:cr...

2018-12-08 12:26:37 482

原创 动手实践三:设置Artifactory、使用git上传代码

六、配置Artifacatory1,登陆页面:$ip:8081,进行一系列引导操作之后,包括设置密码,就要开始设置远程仓库的地址了按照之前的来,设置aliyun、Spring和Center中央仓库。仓库的类型有五种,我只用其中三种,vritual,remote,localvritual是虚拟的,类似于聚合,将本地和远程的仓库聚合在一起,统一访问出入口remote是远程仓库,例如...

2018-12-08 12:04:52 1869 2

原创 动手实践二:虚拟机配置JDK环境、maven、安装Artifactory及无法访问页面的问题解决

接昨天的继续:三、JDK1.8环境配置1,从官网上下载jdk1.8,放到虚拟机中。2,设置环境变量:sudo vi /etc/profile#set java environmentexport JAVA_HOME=/usr/local/javaDevelopment/jdk1.8.0_25export JRE_HOME=/usr/local/javaDeve...

2018-12-05 21:48:41 1012

原创 动手实践一:虚拟机安装Gitlab

之前安装过一次,奈何没记录。导致现在系统崩溃,重新安装。这次要记录下过程。一,安装虚拟机:我是在win10系统上,安装VMware12,Ubuntu 16.04.3 LTS虚拟机和Ubuntu系统安装过程略。1,Ubuntu系统安装好之后,配置好静态IPauto ens33iface ens33 inet staticaddress 192.168.0.220net...

2018-12-03 22:56:03 1704

原创 idea2018及以后版本可以直接在spring boot项目中的controller方法前调用该接口

自从升级了idea2018,发现了挺多好用的功能,changelist是最常用的,但是另外一个很重要的,特别好用的,就是httprequest了。上图像这个接口,启动项目之后,需要运行fiddler或者postman输入地址,输入参数,请求接口,这是之前的方式。自从升级了idea2018,可以不用这么麻烦了,直接用httprequest,再上图这张图就很明...

2018-09-11 17:59:01 5853 8

原创 日常思考嵌套事务之spring的事务传播行为简述及举例

前段时间比较忙,一直没来得及记录问题。难得周末,静下心来。前端时间搬砖的过程中,突然想到了一个问题,执行类A中调用a方法,a方法是在一个事务里,由于业务逻辑较为复杂,在a方法里又调用了类B的b方法,同时b方法也处于一个事务的中。这时候问题产生了:1,如果,b方法实行失败,则b方法回滚,那a方法会回滚吗?2,如果,a方法里调用b代码被try catch包住了,此时,b异常,回滚,同时这个...

2018-09-01 18:46:23 1377 2

转载 数据库的四大特性和隔离级别

纪念里程碑式的今天,把《java并发编程的艺术》第一遍,很多的知识,还是需要第二遍看,甚至第三边看,才能彻底领悟。同时最近也是感觉,很多的知识,并不应该停留在,我知道它,但是具体细节忘记了,我百度查一下。这样并不能说明什么。反而,会觉得你是个半瓶子。现在感觉,特别想去记住一些东西。来吧,今天复习的主题——数据库的四大特性和隔离级别;1,数据库的四大特性,我记得是ACID,实际上是:A:...

2018-08-07 22:17:20 544

原创 BeanPostProcessor自定义bean加载后属性注入

在合理的范围内,经常给自己加戏,才能得到锻炼和被指导的机会。前段时间,看到公司的大牛用到了注解,来将从配置中心获取配置文件中的属性在bean加载后注入到bean的属性中去,于是自己尝试了一下,代码如下:1,先写配置项,使得springboot加载的时候,能够将该配置加载进去。2,具体实现的TestBeanPostProcessor,需要实现BeanPostProcessor接口,在...

2018-07-28 22:57:26 3984 2

原创 双重检查锁,真的靠谱吗?

先说答案,不靠谱!一般说,单例模式加载的时候,使用了饿汉式,类一加载就初始化;使用了懒汉式,调用的时候才初始化。懒汉式,一般又有几种线程安全的方式。其中有一种就很著名:双重锁检查。至于由来,百度就好了~上代码:public class Test{private static Singleton singleton;public static Singleton get...

2018-07-27 10:11:19 487

原创 总结CURD系列之将pdf显示为图片缩略图

面试造航母,工作CURD,又是一天。今天遇到了一个小需求,页面上上传一个pdf,要求上传成功之后,显示出该pdf的图片缩略图,至于需求,不想说什么,来,看代码:Controller的方法:public ApiResponse<String> displayBack(@RequestParam("src") String path) { String src...

2018-07-23 23:04:33 801

原创 java锁之偏向锁、轻量级、重量级锁

最近在恶补知识,也是发现了,知识看一遍理解不完全,也记不住,是需要多次重复,多次熟悉,每次都有新发现。java锁分为4中:无锁状态、偏向锁、轻量级锁、重量级锁,四种锁只能升级不能降级,竞争程度也随之升级。1,无锁状态,顾名思义;2,偏向锁,HotSpot的作者经过研究发现,多数情况下,锁不仅不存在多线程竞争,而且总是由同一线程多次获得。因此为了让线程获得锁的代价降低,因此有了偏向锁。太...

2018-07-23 22:54:57 332

原创 继6-26日索引

今天偶然发现了一个mysql的in语句,没有使用索引。背景:建表语句:CREATE TABLE `BillPlus` (  `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT,  `feeRate` decimal(4,4) NOT NULL DEFAULT '0.0000' COMMENT '服务费率',  `billDownloadKey` var...

2018-06-28 22:50:00 164

转载 mysql索引原理及博客开启仪式

最近公司开始查项目的数据库慢查询,正好看到了几篇关于mysql索引的文章,在此总结一下,做个记录首先,了解一下,什么是索引,有哪些索引索引:如果没有特别指明,都是指B+树结构组织的B-Tree索引。其中聚集索引,次要索引,覆盖索引,复合索引,前缀索引,唯一索引默认都是使用B+树索引,统称索引。索引分类:从数据结构角度1、B+树索引(O(log(n))):关于B+树索引,可以参考 MySQL索引背后...

2018-06-26 22:45:27 116

空空如也

空空如也

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

TA关注的人

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