自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

捡了芝麻丢了西瓜

好好学习,多多总结.

原创 Mysql 不同实例的表结构字段对比实践

两台实例如果需要进行表结构对比时,一旦涉及的表过多或者字段过多,对比起来非常麻烦。 这时候沿用Mysql SQL问题mysql Illegal mix of collations for operation UNION 排查解决思路 来完成这部分的对比。 这里拿表字段举例 先从主库informat...

2020-06-23 16:44:04 26 0

原创 Mysql SQL问题mysql Illegal mix of collations for operation UNION 排查解决思路

最近在做数据库的迁移的时候发现一个查询SQL执行不了,发生异常: mysql Illegal mix of collations for operation 'UNION’ 头挺大,一番搜索发现是表字段的字符集的问题。 但是联想到我们出错的这个SQL : select count(1)...

2020-06-19 17:13:32 104 0

原创 SpringJdbcTemplate 批量新增返回自增编号功能

因为业务上有些功能是希望批量新增的数据能够返回对应的自增主键,单条的JdbcTemplate实现很简单,但是批量的话,可能需要稍微改造一点点。 因为我们的框架内部是在jdbctemplate上封装了一点点,所以就这一部分上加入了通用的批量添加功能,和批量修改隔离开。 /** * 批量返回新增结果...

2020-05-13 14:59:04 43 0

原创 Spring好用的功能点:ApplicationEvent监听器

Spring整个体系包含着很多有意思的功能点,有可能你还不知道,自己手动去实现一套,不仅麻烦而且耗费时间,可以多了解了解探索发现Spring很多已经弄好的功能点。 ApplicationListener 做什么? 用来监听所修饰的数据,一旦有该类型的数据推送过来,立马被监听到,并且做自己的业务处理...

2020-04-22 15:26:45 40 0

原创 纯干货:大对象导致FullGC频繁的原因及实践思路
原力计划

今天在检查线上环境的时候,发现了在2分钟内出现了2次FullGC。 虽然对线上功能影响不是很大,但还是想一探究竟。 线上监控得到的信息: 可以看到从短时间内有了2次GC,从13次直接飙到15次。 然后看了下老年代的堆情况: 可以看到这两次分别从620M直接下降到了400M然后又下降到了200M...

2020-03-21 15:46:16 509 1

原创 纯干货:线上出现fullGC次数很多的排查思路以及实践总结
原力计划

最近线上发布了一个版本,导致full gc次数忽然就上去了,虽然对线上业务造成的影响还不是很大,但是为了以防万一还是对这个问题做了相关排查。 GC命令排查 一开始还是从堆的变化开始: # 查看每秒的堆发生的变化以及gc的次数 jstat -gcutil pid 1000 相关参数: s0 :...

2020-03-16 20:47:26 346 0

原创 Java读写锁ReentrantReadWriteLock之锁降级案例

之前了解读写锁的时候,只知道读读共享,读写互斥。 当线程先获取到写锁,然后再去获取读锁时,接着再释放写锁。这个过程叫做锁降级。 如果当前线程先获取读锁,然后再去获取写锁,这个时候会出现死锁的情况。 这个时候小脑袋瓜就开始嗡嗡作响了。 锁为什么能够降级,却不能够升级? 在什么场景下会出现锁降级的情...

2020-03-09 19:28:18 55 0

原创 Spring与Mybatis集成的相关实现类流程

一直很喜欢Myabtis功能与Spring集成的非常不错,对开发效率有很大的提高。之前一直很想了解Mabatis的相关流程思路,与Spring是如何去集成的。 下面我们来看一下很多关键的类的相关流程: 注意上图是发生在Spring初始化容器的BeanDefinition阶段 Spring相关...

2020-01-02 16:32:50 65 0

原创 ReentrantLock中Condition的wait方法、signal方法简单场景回顾

这里不讲代码,只是用图大概描述Condition在ReentrantLock中做了一件怎么样的事情。 流程描述 Lock lock = new ReentrantLock(); Condition condition = lock.newCondition(); 当多个线程开始抢占Reentra...

2019-12-16 17:35:34 37 0

原创 SpringMVC篇: 入参出参通过JsonProperty属性转换

工作中会遇到和前端对接的相关事宜,很多时候可能是并行开发,但是很多时候这个数据结构到底是前端定义还是后端给出一直有点模糊不清。 问题: 如果是前端定义,后端把接口开发完成之后,发现数据和你的名称对不上,可能需要进行格式转换,比较麻烦,作为后端人员可能会比较排斥。 如果是后端定义: 前端各种催,接...

2019-12-04 15:12:29 189 0

原创 String的intern理解与实践

String的intern方法 之前遇到过一个问题很值得思考 String s1 = new String("hello"); String intern1 = s1.intern(); String s2 = "hello"; System.out.pri...

2019-11-26 17:27:57 25 0

原创 jenkins远程执行python启动脚本报自定义包找不到:ModuleNotFoundError

最近项目有一个python的项目需要发布环境,想着应该和java的部署流程差不多: 从git上拉取指定分支的代码 上传到指定服务器 运行指定远程服务器上的重启脚本 整个过程想想都觉得没啥大问题. 但是… 转角就是一个模块异常 : 一般看到这个问题,从网上看到有两种方案: 代码中自己指定路径...

2019-10-23 16:53:48 97 0

原创 基于Netty编写的聊天室

基于Netty编写的聊天室 运行方式 启动类 : com.lkx.code.netty.chat.server.ChatServer 访问路径 : http://localhost:8080 运行流程 localhost:8080处理Http请求并且返回页面静态资源渲染页面发送websocket请...

2019-09-04 17:43:40 21 0

原创 手写Netty版本的简易tomcat以及实现部分SpringMVC功能

手写Netty版本的简易tomcat以及实现部分SpringMVC功能 实现思路 首先加载配置文件。 将配置文件中的扫描包进行位置扫描 解析类结构 根据注解将URL以及实例信息进行关联 构建一个Netty的服务端,负责阻塞接收客户端传递过来的请求。 服务端接收到的请求需要解析成对应的Req...

2019-08-27 13:57:51 53 0

原创 获取浏览器具体的下载链接地址,通过迅雷下载

大神绕路,新手拿走。 当我们需要下载一个文件的时候,发现从官网或者其他地址下载下来的速度非常缓慢,如果你是直接暴露的链接地址还好,有的是需要跳转到另一个页面,等上几秒后,才自动给你下载,而这个时候你看不到下载地址!并且速度极其缓慢,非常尴尬。 如何获取到浏览器中下载的具体地址? 友好的可以通过右...

2019-05-23 14:50:28 1955 0

原创 SpringBoot整合Quartz动态执行调度

Spring boot Quartz 相关资料 构建Mysql表:SQL脚本 属性文件参考:quartz.properties 搭建环境 该项目是基于SpringBoot环境搭建,请搭建之前可以将SQL脚本先在数据库中进行执行。 属性文件可以先去了解。 Maven.xml <dependen...

2019-05-22 14:57:02 406 1

原创 第三方接口对接之鉴权

第三方接口对接 鉴权 记录一次和第三方接口对接的过程。 对接要求 对方的接口做了加密验证,需要将参数进行加密生成一个Signature签名。然后对方也会根据参数做一样的步骤来比对签名是否相等来判断参数是否被篡改或者判断身份是否一致。 对方提供了以下几个参数: accessKey : 和参数进行混...

2019-04-24 15:06:47 455 0

原创 linux之Git安装配置

下载最新的git Git-github地址 v2.20.2 目前较新的版本 开始下载 wget https://github.com/git/git/archive/v2.20.1.tar.gz 下载完成之后解压。 tar -zxvf v2.20.1.tar.gz 编译安装git 依赖环境 y...

2019-04-02 10:17:37 29 0

原创 SpringBoot+thymeleaf+thymeleaf-layout-dialect后台页面布局

最近在做针对框架的后台管理系统,涉及到一些技术点做记录。 项目框架 : SpringBoot、Thymeleaf 页面框架:x-admin 布局框架: thymeleaf-layout-dialect SpringBoot pom.xml &amp;lt;dependency&am...

2019-03-05 15:08:27 2814 0

原创 了解Spring之BeanDefinition对象

BeanDefinition 首先我们需要了解BeanDefinition到底是个什么东西? 了解Spring基于BeanDifination对象做了哪些实现? 基于Spring是如何使用Beandifination对象来操作的?基于Mybatis的mapper分析。 首先我们需要了解Bean...

2019-02-25 10:10:28 318 0

原创 CAT消息丢失问题排查Sorry, the message is not there. It could be missing or archived.

当点击CAT的查看LogViews时出现Sorry, the message is not there. It could be missing or archived. 这时候出现这种问题会一头雾水,去github上查看貌似也没有给出明确答复。 这里根据自己的猜想以及源码角度的查看来定位问题...

2019-01-30 14:51:36 552 0

原创 CAT+Feign+hystrix整合消息调用链路

Feign Feign 是一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个接口并对它进行注解,它具有可插拔的注解支持包括Feign注解与JAX-RS注解,Feign还支持可插拔的编码器与解码器,Spring Cloud 增加了对 Spring MVC的注解,S...

2018-07-02 17:38:43 1574 13

原创 IDEA中DEBUGjar包版本切换

当jar包版本出现冲突的时候,会导致debug不到特定版本的源码,这时候需要你通过设置将这个选项给调整出来 将红框部分勾上。 在你查看源码或者debug的时候,可以随意切换,很方便。...

2018-06-04 16:43:56 985 0

原创 SpringMVC的Body参数拦截

SpringMVC对出参和入参有非常友好的拓展支持,方便你对数据的输入和输出有更大的执行权,我们如何通过SpringMVC定义的结果做一系列处理呢? 入参 RequestBodyAdvice : 针对所有以@RequestBody的参数做处理 参考案例 : JsonViewReq...

2018-05-31 16:22:45 1877 0

原创 swagger-bootstrap-ui 一款不一样的API文档

简介 基于swagger-bootstrap-ui做了一些优化拓展,原地址是在 swagger-bootstrap-ui 访问,一些特性功能可以在原地址上进行参考.本项目没有打包到mavne私服中,需要自己本地编译。 github地址 : https://github.com/liukaixi...

2018-05-22 16:42:44 15307 8

原创 日常问题操作汇总

maven idea maven打包的时候,针对SNAPSHOT结尾的jar包从cachecloud-open-client-basic-1.0-20180507.072005-3.jar , 导致运行的时候没有找到jar包 &amp;amp;amp;amp;amp;lt;pl...

2018-05-18 17:42:11 89 0

原创 ArrayList中的sort排序

ArrayList中有一个sort排序方法,只要你实现了Comparator的接口,按照你自己的排序业务进行实现,你只要告诉这个接口按照什么类型进行排序就OK了。这种方式类似于设计模式中的策略模式,把流程划分好,具体的业务逻辑由用户指定。这时候我们需要带着问题去看看里面具体是如何实现的.. 环境描...

2018-01-02 10:38:32 2570 0

原创 ConcurrentHashMap源码阅读笔记

HashMap是我们用的比较多的数据结构,但是它在高并发下面进行put操作时,很有可能会引起死循环,这主要是在它扩容的情况下,导致链表头尾可能存在重复节点,而这时候解决的办法有很多,如Hashtable和Collections.synchronizedMap(hashMap),但是这俩货的性能是存...

2018-01-02 10:37:49 80 0

原创 SpringMVC handleMapping映射过程记录

SpringMVC Mapping映射 记录 初始化IOC容器 Spring初始化的时候会优先初始化自定义的类,下面这个就是 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0...

2018-01-02 10:36:41 2642 0

原创 spring cache 集成 cacheCloud redis

spring cache 集成 cacheCloud redis

2018-01-02 10:35:47 1633 0

原创 Spring Aspect 调用过程

主要想了解一下Spring中如何通过切面去动态在方法前后切入多个切入点去实现的。 需要关注的几个点: 1. 切入点和通知是如何去注册的?(后续补充) 2. 代理过程中是如何植入这些拦截的?布置场景log 日志切入点实现类/** * 日志切面 * * @author Liukx ...

2018-01-02 10:28:36 490 0

原创 回眸Spring - 事物运行原理机制

Spring的事物是如何运作的? 首先带着问题看源码: - Spring的事物是通过哪些原理实现的? - Spring的事物机制是如何提交和回滚的? ==希望你有阅读过Spring源码的经历,不然有的东西可能理解不清楚..== Spring的事物是通过哪些原理实现...

2017-08-10 13:42:01 320 0

原创 Java基础之HashMap阅读总结

工作中常常会遇到常用的类,但是由于封装的太好,一般也不会出现太多的问题,就导致对底层的实现了解的比较少,最近想把这些东西全部都梳理一下,也顺便多学习一些实现思路。欢迎共同探讨 带着几个问题去读源码: 1. HashMap是基于哪种数据结构实现的? 2. HashMap是如何存储的? 3. H...

2017-07-31 18:27:18 110 0

原创 Spring + Jta +JDBCTemplate 分布式事物实现方式

最近项目中需要用到多数据源管,数据访问层采用的是JDBCTemplate去做的,一开始是在数据源这块做了一个多数据源的操作类,通过拦截器注解去动态赋值指定的数据源操作,这种做法在查询中是没有问题的,但是DML操作时,会出现问题:事物中无法动态操作数据源,导致很多操作指针对第一个库。查询资料的时候发...

2017-07-31 16:41:41 691 0

原创 ActiveMQ 发送指定消息

刚刚接触activemq,网上也有很多资料,需要花很多时间去整理资料和自我尝试,有的能成功,有的也可能是因为自己的步骤原因导致调试失败,所以特意总结了一下自己所学习到的知识,与大家分享一下. activemq发送指定消息给指定的人: 1. 消费者代码package com.clgg.job....

2016-01-04 09:53:29 3913 0

转载 activemq 队列消息定时清理

activemq 队列消息定时清理

2015-12-30 13:39:36 7756 0

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