自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java Agent简介及使用Byte Buddy和AspectJ LTW监控方法执行耗时

1、什么是Java AgentJava Agent提供了一种在加载字节码时,对字节码进行修改的方法。一共有两种方式执行:一种是在main方法执行之前,通过premain来实现;另一种是在程序运行中,通过attach api来实现1)、InstrumentationInstrumentation是JDK1.5提供的API,用于拦截类加载事件,并对字节码进行修改,它的主要方法如下:public interface Instrumentation { //注册一个转换器,类加载事件会被注册的

2021-03-28 15:30:11 1501

原创 TransmittableThreadLocal详解

ThreadLocal和InheritableThreadLocal学习资料:二刷Java多线程:ThreadLocal详解线程池学习资料:二刷Java多线程:线程池详解1、InheritableThreadLocal+线程池局限性InheritableThreadLocal支持子线程访问在父线程中设置的线程上下文环境,其实现原理是在创建子线程时将父线程中的本地变量值复制到子线程,即复制的时机为创建子线程时当提交一个新任务到线程池时,线程池的处理流程如下:线程池判断线程数是否达到核心线程数且线程

2021-03-27 21:52:07 1942 2

原创 Sharding-Jdbc实现读写分离、分库分表

1、概览ShardingSphere-Jdbc定位为轻量级Java框架,在Java的Jdbc层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,可理解为增强版的Jdbc驱动,完全兼容Jdbc和各种ORM框架2、MySQL主从复制1)、docker配置mysql主从复制1)创建主服务器所需目录mkdir -p /usr/local/mysqlData/master/cnfmkdir -p /usr/local/mysqlData/master/data2)定义主服务器配置文件

2021-03-27 14:46:08 2436 2

原创 Apollo核心源码解析(二):Apollo Client轮询配置(ConfigRepository与RemoteConfigLongPollService)、配置中心通用设计模型

本文接上文Apollo核心源码解析(一):Portal发布配置、Admin Service发送ReleaseMessage、Config Service通知客户端3、Apollo Client上图简要描述了Apollo客户端的实现原理:客户端和服务端保持了一个长连接,从而能第一时间获得配置更新的推送(通过Http Long Polling实现)客户端还会定时从Apollo配置中心服务端拉取应用的最新配置这是一个fallback机制,为了防止推送机制失效导致配置不更新客户端定时拉取会上报.

2021-03-14 10:36:57 1632 1

原创 Apollo核心源码解析(一):Portal发布配置、Admin Service发送ReleaseMessage、Config Service通知客户端

1、Apollo架构设计Config Service提供配置的读取、推送等功能,服务对象是Apollo客户端Admin Service提供配置的修改、发布等功能,服务对象是Apollo Portal(管理界面)Config Service和Admin Service都是多实例、无状态部署,所以需要将自己注册到Eureka中并保持心跳在Eureka之上我们架了一层Meta Server用于封装Eureka的服务发现接口Client通过域名访问Meta Server获取Config Service

2021-03-13 15:02:53 1550

空空如也

空空如也

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

TA关注的人

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