- 博客(16)
- 收藏
- 关注
翻译 jvm相关
清理老年代 标记清理 会存在内存空间碎片。初始标记->并发标记->重新标记->并行清理。初始标记->并发标记->最终标记->筛选回收。默认配置parallel 对年轻代进行清理。标记整理 划范围清理 region。
2023-05-11 23:03:28
53
原创 mysql的mvcc和lbcc
1,一个事务只能看到第一次查询之前已提交的事务的修改以及本事务的修改。2.一个事务不能看到当前事务第一次查询之后创建的事务以及未提交的事务。每次开启一个事务的时候都会创建一个readview。trx_id是undolog版本链的。实现事务隔离版本readview。依赖于undolog中的版本链。ReadView的判断规则。
2023-05-10 12:17:43
116
原创 Mq分析总结
HTTP_API端口,管理员用户才能访问,用于管理RbbitMQ,需要启用management插件。基于WebSocket的STOMP客户端端口(当插件Web STOMP启用的时候打开)当STOMP插件启用的时候打开,作为STOMP客户端端口(根据是否使用TLS选择)。AMQP 0-9-1 和 1.0 客户端端口,没有使用SSL和使用SSL的端口。当MQTT插件启用的时候打开,作为MQTT客户端端口(根据是否使用TLS选择)。系统要可以无故障地持续运行。
2023-05-07 11:07:32
64
原创 Synchronized锁升级
Synchronize无锁通过001偏向锁通过101轻量级通过000线程之间的平衡,避免线程阻塞由自旋锁来实现重量级通过010用户态到内核态的切换没有获得锁的线程会被阻塞,能够获得锁的时候再次被唤醒
2023-05-02 17:33:15
35
翻译 Spring是怎么把MyBatis继承进去的?
1、提供了SqlSession的替代品SqlSessionTemplate,里面有一个实现,实现了InvocationHandler的内部SqlSessioninterceptor,本质是对SqlSession的代理。4、把Mapper注入使用的时候,调用的是getObject()方法,它实际上是调用了SqlSessionTemplate的getMapper()方法,注入了一个JDK动态代理对象。5、执行Mapper接口的任意方法,会走到触发管理类MapperProxy,进入SQL处理流程。
2023-04-30 19:23:36
122
原创 mybatis插件
pluginAll中通过,Plugin(Plugin是实现了InvocationHandler的代理对象类)去调用wrap方法拿拦截器链中的拦截器列表,并解析注解里面的参数值(type,method,args)等。通过sqlsessionFactoryBuilder的build方法去解析标签拿到所有的数据存储在configuration,其中包含了Plugin标签的属性一,以及拦截器的存放。当执行了代理对象的方法时,就会去调用对应拦截器的intercept方法进行增强。
2023-04-30 19:12:05
243
原创 熔断解决雪崩
1.调用端设置超时时间,规定时间内没有返回则释放资源。2.调用端设置一个流量进来的阈值,限制访问次数。3.舱壁模式 新写一个线程池,分配任务。4.断路器模式(sentinel)
2023-04-20 12:40:25
39
原创 2021-08-04
spring.factories用在那个工程主要看你需要的用在哪里,A工程用到B工程的jar包,如果作为一个外部的jar--B,B中需要用到bean则spring.factories配置在当前的jar中;如果A使用的是外部jar--B的配置,则在A中进行配置spring.factories...
2021-08-04 13:39:57
47
原创 每天进步一点第一天
1.能不用继承尽量不用继承 ,spring思想是没有任何条件的,继承导致有条件,所以可以用切面。 aop去扫描,可以使用代理去实现。总结有条件变为无条件,使用注入即可。ioc思想产生Di!**spring2.0出现的注解!**1!spring4.0注解...
2020-07-21 22:16:01
104
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人