夏飞

个人博客

JVM类加载器使用

Java类加载器算是一个老生常谈的问题 什么是类加载器? 这就是类加载器 把class文件的byte[] 加载成Class对象,加载到JVM里面 12345678910111213class MyClassLoader extends ClassLoader { @Override protected Class<?> findClass(String......
jvm

实用小工具网站介绍

一、图床 简单就是美 image.xia-fei.com 二、SQL解析 sql.xia-fei.com 一、图床 简单就是美 image.xia-fei.com 特点:简洁,可直接截完图粘贴上传,一键复制Markdown语法 二、SQL解析 功能: 一、mybatis.log转成可执行的sql语句 二、sql建表语句 转成java对象 sql.xia-fei.com 示例程序 s......

RocketMQ多主部署情况分析

验证rocketMQ两主部署 准备工作两台服务器 A nameserver broker1 B broker2 配置文件 集群名称一致,brokerId=0 相当于(主),brokerName不一致 123brokerClusterName=DefaultClusterbrokerName=broker-abrokerId=0 nameserver启动 1[admin@172_30_229......
mq

Mybatis日志还原SQL

介绍网站 sql.xia-fei.com 把mybatis 输出的sql日志还原成完整的sql语句 背景 平时开发过成过程中吧。需要调式mybatis运行的SQL 通长我们会这么做吧 1.首先我们会查看mybatis的log日志 2.将日志里面的? 手动替换成参数 LOG文本还原SQL 于是我开发了一个网站将Mybatis log内容还原成sql 例如日志内容 12345678910......

记一次线上事务并发问题

今天一同事线上遇到一个问题,程序不明原因的进入了死循环。最后通过一步步分析代码的线程运行情况,定位出是事务产生的并发问题 我们看下代码入口。 1234567 @Transactionalpublic Result<Boolean> execute(Map<String, String> currentRow, Map<String, String> ......
bug

平时阅读的文章分享

分布式架构 基于Spring Boot、Spring Cloud、Docker的微服务系统架构实践 CAP理论与MongoDB一致性、可用性的一些思考 HTTP 彻底弄懂 HTTP 缓存机制 数字证书原理(ssl,https) HTTPS 原理详解 java Java性能优化之JVM GC 浮点数(谁偷了你的精度?) Liunx SSH原理与运用-远程操作与端口转发 Linu......

maven仓库的研究

经常有时候下载特别慢。于是乎仔细看了下maven的仓库配置,发现 maven 仓库地址有如下配置: pom.xml 123456789101112131415161718192021<pluginRepositories> <pluginRepository> <id>spring-snapshots</id> &l......

SpringMVC优雅的返回文件流

springMVC下载文件方法很多,大致看了下,觉得下面这种方法最正规,最符合官网文档介绍。 代码主要有两部分组成 StreamingResponseBody 用来异步下载文件,不占用tomcat工作住线程 ResponseEntity 用来设置头信息,定义下载的文件名称 12345678910111213141516@RequestMapping("/downloadCategoryEx......

线程池源码剖析

ThreadPoolExecutor 白话概念 线程池里面有一个集合里面放的Worker对象 集合大小对应着核心线程数 如果工作线程数量小于核心线程数 会创建任务放进集合,之后启动Worker线程 工作线程数不小于核心线程数,往队列里面放任务 Worker线程启动之后,worker线程会调runWorker()方法 它会一直循环从队列里面取任务。然后调用它的Run方法取执行它。 线程池......