自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

极客中年的博客

时人莫小池中物,浅处不妨有卧龙。

  • 博客(135)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 搭建Grafana+Prometheus监控Spring Boot应用

Dashboards模板下载地址:https://grafana.com/grafana/dashboards//opt/docker/prometheus/config目录下创建prometheus.yml。targets配置目标java应用的ip端口,例如10.10.10.10:9090。访问http://xxxxxxxxxx:9090即可。访问http://localhost:3000。

2024-04-09 18:52:14 418

原创 Docker安装mysql并且设置主从

docker安装启动mysql,并且进行主从配置。

2024-04-04 01:28:03 237

原创 【系统技术演进】2018-2023

2018年至2023年,我们经历的技术变化和演进。

2024-04-03 00:45:18 654

原创 记一次由gzip引起的nginx转发事故

一个gzip引发的案件,原因是因为过waf的时候,waf会自动引入gzip压缩处理,导致前置应用没有处理,解决此问题的方案有2。

2024-03-28 01:46:07 1070

原创 【Spring Cloud】SpringCloud接入SOFARegistry

由于我们的SpringCloud版本是2020.x.x是无法和上面的trace兼容,tracer-enterprise-sofa-boot-starter使用的负载是ribbion,但是高版本的Spring Cloud使用的loadbalance是。instanceId是一个固定的值,我理解类似于Nacos的namespace,由于当时我们理解错了instanceId,我们当时理解为就是一个实例id,约等于spring.application.name。2.引入官方提供的pom,当前最新版本为1.2.8。

2024-03-19 02:30:12 377

原创 SM4对称加密算法

涉及到128bits的密钥生成出现了岔子,导致前端生成的密钥后端无法解密了,报的错误就是:密钥不是128bits。这就是说:随机来128比特的二进制,得到16字节数组,再用Hex把16字节的数组转化为32长度的字符数组,注意1字节=2个十六进制字符,所以到此生成了32长度的字符串。通常用数字0、1、2、3、4、5、6、7、8、9和字母A、B、C、D、E、F(或其大写形式A。问题就在这里,随机生成的字符串超过了F,用到了其他的字母,导致无法反推,改为按照十六进制的正常表示生成随机字符串就没问题了。

2024-03-19 02:04:06 1081

原创 【SOFARPC】SOFA入门实战

SofaBoot+Sofarpc+zk使用案例

2024-03-11 01:03:06 420

原创 基于LinkedHashMap实现简单LRU缓存

基于LinkedHashMap实现一个简单的lru策略缓存

2024-02-13 00:27:10 98

原创 【Spring Cloud】OpenFeign与全局异常处理

原理基于请求头传递错误消息,利用aop和全局异常拦截机制实现。

2024-01-04 13:59:50 1095

原创 微信支付调用逻辑

微信支付直连商户接入

2022-07-14 14:17:37 578 1

原创 【Spring Cloud】开篇

引最近金融行业进入了“萧条期”,我们的公司也开始转入科技输出的套路中去,不可避免的会走向技术中台,业务中台,搭建一些云平台的系统,以租户或者什么其他形式提供服务或者交付代码。在这个变化的过程中,主要是写一写东西来分享记录这段时期,经历的事情。现状我们公司一直是基于rpc(DUBBO)来构建微服务的,所以整套底层代码也是基于此来开发维护,现在我们会基于SpringCloud去构建我们的技术中台,所以变化的点在于框架体系和生态的变化。我们需要干什么构建我们的架构底层我们需要考虑或者解决的问题思考,抛出

2022-04-15 10:30:19 529

原创 Tomcat学习笔记(一)源码本地编译运行

学习阅读《Tomcat内核设计剖析》源码编译参考文章idea编译运行tomcat,本地搭建请参考下面文章:https://www.jianshu.com/p/a6a2ab59da25eclipse的请参考文章:https://blog.csdn.net/google2606/article/details/52529829源码下载https://github.com/apache/tomcat由于项目文件挺多,再加上github是国外,一般很难下载成功!所以建议大家下载zip源码压缩包。实践

2021-06-20 23:38:22 1018 2

原创 Docker基本操作

导入导出:

2021-06-20 23:34:33 115

原创 Maven常用命令集合

1.升级项目版本号命令:mvn versions:set -DnewVersion=1.0.0-SNAPSHOT父项目pom文件所在目录下执行:

2021-06-20 23:32:43 142

原创 异常:org.springframework.dao.InvalidDataAccessApiUsageException: Error attempting to get column

org.springframework.dao.InvalidDataAccessApiUsageException: Error attempting to get column 'CREATE_TIME' from result set. Cause: java.sql.SQLFeatureNotSupportedException; null; nested exception is java.sql.SQLFeatureNotSupportedException at org.spr

2020-11-13 11:21:04 4174

原创 HTTPS请求握手失败javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failu

报错信息:main, handling exception: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure错误解析:https请求时三次握手失败分析原因:因为我司使用jdk1.8,而对方对接公司使用jdk7什么操作都不做的情况下报错如下图:main, handling exception: javax.net.ssl.SSLException: Received fatal alert:

2020-09-05 13:08:04 7960

原创 【RocketMQ】消息回溯实践

RocketMQ消息回溯实践

2020-07-29 11:54:07 2878 1

原创 【RocketMQ】事务消息实践

rockemq事务消息实践学习

2020-07-29 11:30:24 460 1

原创 栈实践:括号匹配问题

括号匹配问题,使用到了栈(先进后出)的相关知识,这里再熟悉一下压栈出栈的过程:package com.hovel.algorithm.stack;import java.util.Stack;public class BracketsMatchTest { public static void main(String[] args) { String content = "(上海))"; System.out.println(isMatchBrackets

2020-06-28 13:38:48 186

原创 循环链表:约瑟夫问题

约瑟夫问题大意:在罗马人占领乔塔帕特后,39个犹太人与约瑟夫及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而约瑟夫和他的朋友并不想遵从,约瑟夫要他的朋友先假装遵从,他将朋友与自己安排在第16个与第31个位置,于是逃过了这场死亡游戏。循环链表解法:public class JosephTest { /** * 记录首

2020-06-28 13:19:34 431

原创 Deepin安装docker记录

Deepin官方提供方案:https://wiki.deepin.org/wiki/Docker会报下面的错误:需要在下面文件中加一行数据即可:编辑加入:然后继续执行下面安装就可以了:安装完查看docker version:

2020-06-12 16:45:31 336

原创 【Skywalking】分布式链路追踪Skywalking过滤Url

问题当系统集成了SpringbootAdmin等,健康监测的Url会不停的传到Skywalking的收集器,展示到控制台页面。我们需要进行过滤。解决好在这个问题Skywalking已经为我们提供好了插件,我们只需要按照规则使用即可。我们需要将上述的可选插件里的过滤jarcopy到下面的路径下:然后我们在agent的config目录下创建配置文件:trace.ignore_path=${SW_AGENT_TRACE_IGNORE_PATH:/actuator/**}如此,再重新启动项目后

2020-06-04 16:21:03 2397 1

原创 【Skywalking】分布式链路追踪Skywalking集成log4j对现有系统改造

系统框架Springboot + DUbbo + Mybatis-plus日志框架为:log4j2.x问题描述目前项目中都是log.info(“xxxxxxxx”)或者log.error,但是由于探针埋点的包都是特定的,所以尤其是我们在项目中的这些日志信息就无法体现在Skywalking的UI链路上,甚至异常由于我们会自己抛出相应的异常,而原始的异常堆栈信息无法打印到Skywalking里。这不是我们想的要效果,我们希望开发的过程中,只需要用traceId即可查询出所有需要看到的信息,大家才能快速

2020-06-04 16:13:39 3307 1

原创 【Skywalking】分布式链路追踪Skywalking集成记录

分布式链路追踪框架Skywalking使用记录

2020-06-02 15:44:56 1069 1

原创 【Dubbo】Dubbo线程池问题思考Thread pool is EXHAUSTED!

问题前几天,我们的生产上突然出现了这样一个问题,调下面的查询方法报错,线程池满的问题,如下图:问题思路简单思考:我们都知道线程池的参数都包含什么含义!核心线程数,可建线程数,存储任务队列,拒绝策略!这块,大家不熟悉或者忘记的可以再补习补习!了解这几个参数我们不禁会问,任务处理不了,不是还有队列存储么?存储不了不是还有拒绝策略么?再者,怎么两百个线程就同时都被占用了?理论我们的场景没有这种量啊!带着这些问题,我们从源码中得到一些答案!根据上面的问题,我找到了Dubbo相关源码,看一下生产版本2.6.

2020-05-22 15:24:22 1015 1

原创 maven工程引入外部jar包

参考:https://blog.csdn.net/zqs305082800/article/details/80695675

2020-05-15 14:01:10 188

原创 使用Spring AOP进行参数预校验

参考:https://blog.csdn.net/zyp112/article/details/79020231 背景:参数预校验,常用与对excel导入等,避免在程序中写入大量的判断,导致程序不够简洁。1.定义一个用于方法上的注解类import java.lang.annotation.Documented;import java.lang.annotation.ElementT...

2020-05-13 10:00:29 164 1

原创 Future案例一直阻塞问题探究

本案例是学习自《Java并发编程之美》第十一章第九小节整理总结而来!推荐大家学习此书!代码案例我们设定一个单线程线程池并且队列设置为只能容纳一个任务,否则就执行DiscardPolicy的拒绝策略!然后开始执行下面代码,看看问题所在!public class FutureDemo { public static void main(String[] args) throws Exe...

2020-05-07 13:57:25 1457

原创 Unsafe使用案例

public class UseUnsafeClassDemo { static Unsafe unsafe = Unsafe.getUnsafe(); private static long offset; private static volatile int state = 0; static { try { off...

2020-05-06 15:48:37 229

原创 sleep和wait方法区别

方法区别sleep方法sleep让出cpu资源,但是不会释放锁,不干涉锁行为;哪里都可以使用wait方法wait是既让出cpu资源,又会释放锁资源;一般使用在同步方法或者同步代码块中案例分析public class WaitSleepDemo { public static void main(String[] args) throws InterruptedExce...

2020-05-03 23:00:18 206 1

原创 【Android】1.初步学习

熟悉一下Android开发菜鸟教程:https://www.runoob.com/android/android-tutorial.html微信读书搜一波 《Android Studio开发实战:从零基础到App上线(第二版)》一通骚操作之后,我们基本也有点概念了,尤其对于java开发来说,那还不是换个Api的事?!当然是夸张了。开发工具下载android sdutio : https:...

2020-05-02 23:19:48 392 1

转载 Redis跳表学习

参考:http://redisbook.com/preview/skiplist/datastruct.htmlRedis 的跳跃表由 redis.h/zskiplistNode 和 redis.h/zskiplist 两个结构定义, 其中 zskiplistNode 结构用于表示跳跃表节点, 而 zskiplist 结构则用于保存跳跃表节点的相关信息, 比如节点的数量, 以及指向表头节点和表尾...

2020-04-30 16:41:09 196

原创 Redis事务机制

Redis提供的事务机制,有别于关系型数据库,它更像是执行一组命令,下面两种情况错误的处理机制稍有区别:运行时执行错误:语法错误:执行下面代码: @Test public void multiNotSafe() { Jedis anotherJedis = new Jedis(); jedis.set("mu","hello"); Transactio...

2020-04-30 16:33:04 164

原创 Java线程的状态学习

Java中线程的状态Java线程状态共有6种,它就在Thread类中公共枚举类State中,并且同一时刻,线程只处于一个具体状态.这只是虚拟机状态,不映射任何系统线程的状态!代码如下:public enum State { NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, T...

2020-04-29 11:19:28 161

原创 记录一次mysql查询问题

mysql的版本:8.0.11表信息大约600w的数据量的表:表结构:原始sql执行经过执行n次,缓存之后还是需要4-5s:执行计划如下:下面是数据为390w的表查询时间和计划:同等语义改造后的sql改造后的语句执行计划如下:执行时间如下:总结目前只能总结下这些现象,不能从更深层次的原理去解释这些现象。希望有更多的时间学习mysql相关理论知识再来补充。1....

2020-04-27 13:37:34 166

原创 分布式事务框架TX-LCN(三)TM启动流程

TM(事务协调器)服务启动流程源码追踪

2020-04-22 12:52:09 868

转载 分布式事务框架TX-LCN(二)原理学习

TX-LCN原理及各种模式特点介绍

2020-04-20 17:01:58 576 1

原创 【Seata】框架学习记录

我的项目实践地址:spring-cloud-seata学习参考:1.seata官网地址2.seeta代码案例3.seata github地址

2020-04-19 19:12:39 332 1

原创 有序的Map之LinkedHashMap、TreeMap

示例有序Map,分析他们的数据结构,简单清晰红黑树的原理

2020-04-16 10:54:45 421

原创 并发容器之CopyOnWriteArrayList

CopyOnWriteArrayList并发同步集合,适合读多写少的场景

2020-03-28 21:19:45 159

IoC原理的最基础实现

此项目是对spring ioc原理的简单实践,主要是对xml配置的解析完成依赖注入;此项目依赖于 Dom4j 、common-beanutils、common-logging、jaxen的jar包。希望可以帮助大家更轻易的理解spring ioc部分原理

2017-09-22

spring+springmvc+mybatis项目框架整合

自己有时在网上看别的东西,down下来都能用的实在不多,所以就自己整合了一下,希望可以帮助到一些初学者吧,和大家共同学习进步。

2016-11-20

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

TA关注的人

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