自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

祈祷之手

java框架源码分析,字节码分析,mybatis,seata源码解析

  • 博客(62)
  • 资源 (3)
  • 收藏
  • 关注

原创 Mybatis 整合 Spring 的对象初始化

全景预览对象管理篇我们在使用mybatis-spring开发的时候, 通常会写一个mapper接口, 然后写对应的xml 。 用起来就会很方便那么这里就有几个问题Mapper是怎么被扫描到spring的呢?Mapper的动态代理类是什么?我们在使用接口的时候, 一定要自定义一个接口扫描器./** * 自定义扫描器 * <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" > *

2021-04-21 18:19:53 185

原创 Seata Server 整体流程

Seata Server 在分布式事务中, 担任事物协调者(TC)的角色TC 启动流程获取端口号,并设置到系统属性获取五大属性: 服务节点编号, 主机, 端口, 日志存储模式, seata环境变量初始化指标管理器创建NettyRemotingServer初始化 DefaultCoordinator注册应用程序关闭钩子由NettyRemotingServer初始化消息处理器开启超时检查调度启动服务将自己注册到注册中心TC处理流程消息处理器Seata Server 的消息处理器

2020-11-07 14:36:22 792 4

原创 Seata 注册中心

注册中心public interface RegistryService<T> { // 注册 void register(InetSocketAddress address) throws Exception; // 取消注册 void unregister(InetSocketAddress address) throws Exception; // 订阅 void subscribe(String cluster, T listener) th

2020-11-01 13:05:29 684

原创 Seata 配置中心

配置中心配置文件配置中心读取配置的流程选择配置文件, 例如registry.conf根据配置文件的文件类型选择基础配置通过基础配置进行驱动, 加载核心配置seata 在加载核心配置的时候, 会放到本地的 ConcurrentHashMap 缓存。 取值时可以分为三个级别:优先从缓存中获取从 System.getProperty 获取从配置中心获取如果取到值会存放到缓存中选择配置文件配置中心配置文件默认是: registry.conf , 可以通过系统属性(System.getP

2020-10-31 15:40:53 1308 3

原创 Seata AT模式的整体流程

AT模式的整体流程先从官网借一张图,简单描述AT模式的角色和流程Seata 目前有四种模式,都是基于 TC(事物协调者),TM(事物管理器),RM(资源管理器) 这三个角色完成的事务管理器发起全局事物通过RPC调用微服务A微服务A开启事物, 通过解析SQL,通过Druid数据源的API驱动快照的生成 。首先查询数据库获得当前数据的快照(前置镜像), 执行数据操作(更新,删除,插入), 查询数据库获得操作执行后的快照(后置镜像)微服务A向TC发起分支事物注册, 执行回滚日志的插入, 将当前事

2020-10-29 23:59:56 1717

原创 Seata 全局事物切面

Seata 的事物注解是 GlobalTransactional , 通常情况下,调用这个注解的方法是一个发起者。相比Spring定义的事物, 做了少量改动, 加入了事物名称和事物超时时间, 传播机制取消了嵌套类型(Propagation.NESTED)。public @interface GlobalTransactional { /** 事物名称, 必须唯一 */ String name() default ""; // 默认 60 秒超时 int timeoutM

2020-10-27 00:23:10 944

原创 Seata SPI 机制

SPI 全称为 Service Provider Interface,是一种服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。JAVA SPI 机制本文不做讲解,自行了解。SEATA SPISeata 的 SPI 机制由类 EnhancedServiceLoader 提供 , 翻译一下就是: 增强服务载入器Seata 的SPI 是一个基础模块 ,对于Seata框架起着至关重要的作用, 熟悉了 Java SPI 机制后,Seat

2020-10-26 00:47:33 524

原创 Seata 协议编码

Seata 协议编码协议编码类: io.seata.core.rpc.netty.v1.ProtocolV1Encoder协议格式如下:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+

2020-10-25 19:35:27 449

原创 dubbo服务引用

spring引用服务解析自定义标签: <dubbo:reference interface=“com.aya.service.DemoService” id=“demoService” />spring 用 DubboBeanDefinitionParser 创建 ReferenceBean对象。 ReferenceBean实现了spring的接口FactoryBean, 事实...

2020-03-15 23:03:01 416

原创 dubbo暴露服务

本文介绍在spring中dubbo暴露服务的流程通常情况下dubbo会和spring结合使用, 这里先介绍spring结合的流程,然后描述dubbo本身的服务暴露过程spring暴露服务暴露服务 spring 分为3个阶段解析自定义标签: <dubbo:service interface=“com.aya.service.DemoService” ref=“semoSer...

2020-03-15 21:57:30 214

原创 序列化的理解

序列化使用与理解关于序列化,你是否有思考过以下问题序列化之后,存了那些东西,是什么结构?serialVersionUID 有什么用,没有会怎么样?字段增加减少后是否有兼容性问题?本节 图解序列化的存储结构, 了解 serialVersionUID 的生成方式, 对序列化兼容性有一个更加全面的说明基本使用public class SerialModel implements S...

2019-11-05 10:05:19 443

原创 nexus2无法支持npm范围发布的一次定位

问题描述nexus2 的时候,无法下载 @type/node 的组件,绕过了@type/node,又出现了其他的@开头的组件无法下载绕过的方式:npm i -g @type/node --registry=https://www.npmjs.org名词解释名字解释nexus2公司内网的npm部署仓库,2.x版本,不支持范围nexus3公司内网的npm部署...

2019-06-26 14:28:00 793

原创 spring的classpath资源定位分析

在了解 classpath 获取资源之前,先了解 classLoader如何获取资源的ClassLoader获取资源为了说明怎么加载文件的,先举例一个具体的场景现有 demo 项目,目录结构如下d:└─demo └─src └─com └─aya ├─CustomMain.java └─config.properties这里获取 com/aya/...

2019-06-10 15:49:05 781 1

原创 JAVA虚拟机(四)-图解类加载机制

文章目录基本理解定义:过程类加载时机规定初始化的规定解析的规定顺序说明类加载五阶段加载验证文件格式验证元数据验证字节码验证符号引用验证验证小结准备非finalfinal静态字段解析类或接口解析字段解析类方法解析接口方法解析初始化说明在学习本节之前,务必了解类文件结构类加载 是什么,从哪里来到哪里去,什么时候产生,是什么过程?本节针对普通类(排除数组,排除JDK7+支持动态语言的特性相关)的加...

2018-09-24 00:31:03 353 2

原创 多线程优化执行效率

文章目录普通任务多线程同步任务代码多线程异步任务总结CountDownLatch特性AtomicInteger特性在项目开发中,碰到了一些耗时任务的问题.需要使用多线程,本文在使用原生JDK7的情况下优化(不考虑JAVA8和RxJava框架)普通任务在一批次(100-1000)的数据处理中,每一个任务都很耗时同步任务 流程图红色: 等待执行橙色: 正在执行绿色: 即将执行...

2018-09-21 20:59:35 3117

原创 序列化深入理解

文章目录序列化使用与理解基本使用图解序列化结构String结构类结构序列化id的生成与作用兼容性默认不定义serialVersionUID定义serialVersionUID最佳实践扩展序列化类结构序列化使用与理解关于序列化,你是否有思考过以下问题序列化之后,存了那些东西,是什么结构?serialVersionUID 有什么用,没有会怎么样?字段增加减少后是否有兼容性问题?本节 ...

2018-09-19 19:55:12 527

原创 BigDecimal 基本使用

加减乘除精度控制除法特写推荐做法默认除法精度总结BigDecimal 是java小数操作的一个专有类,在电商、金融行业 存储跟金额有关的字段java里面明明已经有了,float,double这种精度的小数,为什么还需要BigDecimal呢? 这难道不是多余吗?接下来看一个例子:@Testpublic void testDoubleSimple()...

2018-09-14 21:18:26 17020 4

原创 spring事物–代理的影响

spring事物–代理的影响默认数据事务方法普通提交与回滚成功提交回滚本地方法加入事物spring回滚边界不回滚回滚回滚部分内容吃掉异常-全部提交吃掉异常-回滚异常内容非事务方法包含事物方法-失效包含事物方法-代理事物总结spring事物–代理的影响本文章只讨论spring代理在事物中的影响。 列举出常见的事物失效的情...

2018-09-12 21:06:39 265

原创 JAVA虚拟机(三)- 图解类文件结构

类文件结构结构图字节码魔数主次版本常量池常量池结构类父类接口索引字段表集合方法表集合code属性表结构方法内容方法内容属性表-行号表方法内容属性表-本地变量表方法表2-getValue类的属性表总结类文件结构结构图java源文件,编译为class 之后. class文件的数据结构将下面这段java源文件为例,分析c...

2018-08-23 17:05:24 1277 1

原创 JAVA虚拟机(二)-图解垃圾收集器

垃圾回收Java 的垃圾回收由JVM管理,开发者们不用自己去释放创建的区域了解垃圾回收的算法和具体的垃圾收集器是高级程序员必修的功课。本文只是图解垃圾收集的各种算法。 描述具体的垃圾收集器用的那个算法算法复制算法通常情况下, 对象在Eden区分配。 当对象慢慢的占满了Eden区的时候, 产生Minor GC, 将 Eden + from 区的有效对象复制到t...

2018-08-22 17:38:28 269

原创 Java-茴香豆研究(一)

问题: public static void main(String[] args) throws InterruptedException { int i = 0; i = i++; System.out.println(i); }输出内容为0这是一个在JAVA语言层面无法解决的问题。 必须了解字节码的执行过程才能理解输...

2018-08-22 16:15:36 233 1

原创 JAVA虚拟机-图解内存结构

栈JAVA虚拟机栈堆堆的划分新生代对象分配老年代对象分配堆内存总结方法区本节讨论一下内容的结构 1. 堆 2. 栈 3. 方法区栈定义: 随线程创建而生,线程销毁而灭.存放内容: 1. 方法内定义的局部变量(基本类型存内容,引用类型存引用。不存引用类型的具体内容) 2. 方法参数JVM 规定栈的内容:JAVA虚拟机栈 (所...

2018-08-22 11:13:49 682 1

原创 Vue 验证框架 Vee基本使用与服务端集成

验证框架 Vee-validate官网: https://baianat.github.io/vee-validate/安装# install with npmnpm install vee-validate# install with yarnyarn add vee-validate基本使用main.js 加入 VeeValidate 模块imp...

2018-08-21 17:09:25 1323

原创 dubbo 异常处理以及自定义异常

dubbo 抛出异常分析在进行dubbo调用时,会抛出哪些异常? 为什么有时候是RpcException,有时候又是用户抛出的异常dubbox2.8.4 中com.alibaba.dubbo.rpc.filter.ExceptionFilter 的注释得知: 1. 如果是checked异常,直接抛出 ! (exception instanceof RuntimeException) &...

2018-08-19 00:22:23 3798

原创 springboot 中 mybatis configuration 配置失效问题

springboot 中 mybatis configuration 配置失效问题环境场景springboot角度分析SqlSessionFactory 设置ConfigurationMybatisProperties从配置文件中设置Configurationspring角度分析MapperProxy之旅SqlSessionFactoryBean之旅对比感谢...

2018-08-17 11:44:42 28345 3

原创 spring bean 卸载

spring bean 卸载简单卸载示例源码分析逆向-close逆向-引用搜索逆向-条件判断bean的卸载方法问题场景自动定义spring bean 卸载起因: 群里的一个朋友问到: 关于配置destory-method, springboot中 yml如何指定首先介绍 bean卸载的三种形式 自定义destory-method ...

2018-08-16 23:40:44 1453

原创 response线程安全详解

方法注入本地保存实例字段注入response实现类结论获取response本文主要分析 HttpServletResponse 注入的线程安全问题问 HttpServletResponse 是不是线程安全?这个答案要针对具体的场景才能说明,接下来用3个场景演示 HttpServletResponse 是不是线程安全这个疑问方法注入先来看一段例子: ...

2018-08-15 23:42:23 1253 2

原创 mybatis MetaObject 浅析

MetaObject本文介绍关于 MetaObject 的说明和使用基本使用方法public class Animal { private Animal parent; private String name; // 省略 getter, setter}javaBean @Test public void testBean...

2018-08-14 17:39:12 14603 3

原创 mybatis 执行流程深入分析

目录mybatis 执行流程深入分析例子分析-执行查询流程准备查询执行查询-绑定key与缓存执行查询-缓存与延迟加载执行数据库查询-占位符执行数据库查询-执行查询流程总结分析-处理返回结果执行查询-准备处理返回结果处理返回结果-统筹结果集处理返回结果-统筹结果集处理器处理返回结果-统筹嵌套映射处理返回结果-遍历与存储处理返回结果-对象的创建于赋值结论...

2018-08-14 11:00:30 981

原创 SpringMvc如何找到Controller

SpringMvc如何找到Controller?最近一个朋友,碰到了这样一个问题:为什么 SpringMvc 的必须定义为 Controller,它是如何找到的?当定义为@Service时为什么找不到,当定义为@Service时,也想访问怎么办?我这边首先贴出我找到的答案,然后给出我分析问题的思路答案 org.springframework.web.servlet....

2018-08-05 00:53:35 3704

原创 RandomAccessFile 乱码问题

目录RandomAccessFile 乱码问题分析byte数组读取byte数组截断大byte直接转换readLine乱码深度解析原值转换总结最佳实践RandomAccessFile 乱码问题 d:/123.txt 的内容(无BOM UTF-8格式编码)ea你好测试代码 @Test public void testR...

2018-08-04 00:48:10 8562 4

原创 mybatis 配置加载详解

目录介绍创建SqlSessionFactory创建Configuration填充Configuration节点填充节点填充解析propertiestypeAliasespluginsobjectFactory|objectWrapperFactory|reflectorFactorytypeHandlerssettingsmappers总结附录pars...

2018-07-31 16:01:16 249

原创 mybatis resultMap 加载过程详解

目录流程分析遍历resultMap根节点重载的resultMapElement子标签解析其他流程-普通标签 id|result 标签buildResultMappingFromContextbuildResultMapping构造流程 constructor 标签其他流程-嵌套标签 - association 标签 | collection 标签associati...

2018-07-20 15:21:37 3085 1

原创 java 引用传值图解

碰到了一个群内求助关于引用传值的问题.这里把容易混淆的赋值和类传值问题进行详细说明引用修改 @Test public void testEquals() { Boolean b = new Boolean(false); change(b); System.out.println(b); } pr...

2018-07-20 10:50:35 626 1

原创 mybatis typeHandler分割转换数据类型

例子 &amp;lt;resultMap id=&quot;BlogMap&quot; type=&quot;com.aya.mapper.Blog&quot; &amp;gt; &amp;lt;id column=&quot;id&quot; property=&quot;id&quot;/&amp;gt; &amp;lt;result column=

2018-07-18 16:52:51 938

原创 mybatis逻辑标签 浅析

mybatis逻辑标签mybatis 有 9 大标签,如下图我们只针对其中 select|insert|update|delete 的子标签部分进行探索简介首先要上一道菜,来介绍我们本节分析的内容 &lt;select id="selectAll" resultType="com.aya.mapper.Blog" &gt; select * fro...

2018-07-17 10:50:44 1308

原创 mybatis session 浅析

mybatis session从源码的角度,去探索mybatis session的内容 SqlSession sqlSession = sqlSessionFactory.openSession(); try { sqlSession.doXXX } finally { sqlSession.close(); }本节搞清楚两个问...

2018-07-16 15:30:41 2522

原创 mybatis-spring 自动扫描详解

目录mybatis spring 扫描分析简介mapperLocations配置basePackage通配符配置第二版扫描包总结mybatis spring 扫描分析 名称 版本 spring 5.0.0 mybatis...

2018-07-16 12:27:28 4492

原创 mybatis 参数为集合时的处理

mybatis 集合包装版本: 名称 版本 java 1.8.0_102 mybatis 3.4.6 性价比分析: 价值 ★☆ 实用 ...

2018-07-12 17:06:46 2675

原创 mybatis 全局缓存解析

目录mybatis 全局缓存解析基本概念疑问例子缓存解析第一节 默认缓存第二节 缓存的四种类型第三节 缓存的结构自定义缓存自定义缓存的例子总结参考mybatis 全局缓存解析 价值 ★★☆ 实用 ★☆ 基本概念LRU – 最近...

2018-07-12 10:44:56 1350 1

Seata AT 培训材料.pptx

Seata 的 AT模式流程图, 非常适合首次使用seata时,对其中支持的一个模式进行详细解释它的实现方式

2021-05-06

spring培训.pptx

了解spring的加载机制 beanPostProcessor,beanFactoryPostProcessor 的使用 springmvc 的父子容器 aop切面说明 公司内部培训课件

2019-06-27

angle 3.8.8

angle 7月最新版. 可以直接使用。 内部有 angular5-seed,angular5-bs4-seed,backend-jquery-seed 等资源

2018-07-17

空空如也

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

TA关注的人

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