![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 89
li1011612120
这个作者很懒,什么都没留下…
展开
-
mybatis一级缓存失效
先整合mybatis和spring因为线程安全,sqlSessionTemplate 是单例的; defaultSqlSession 是线程不安全的;所以每个线程用于一个defaultSqlSession是安全的,及sqlSesstionTemplate拥有多个DefaultSqlSession ; 每个defaultSqlSession执行自己的查询;pom.xml <dependency> <groupId>org.springframewor原创 2022-04-06 15:12:40 · 255 阅读 · 0 评论 -
G1和CMS
CMS: concurrent Mark Sweep以获取最短回收停顿时间为目标的收集器,基于并发“标记清理”实现有人会好奇为什么标记清理算法会产生内存碎片!但是CMS仍采用这种算法呢?答案是:因为CMS作为第一款实现用户线程和收集线程并发执行的收集器!当时的设计理念是减少停顿时间,最好是能并发执行!但是问题来了,如要用户线程也在执行,那么就不能轻易的改变堆中对象的内存地址!不然会导致用户线程无法定位引用对象,从而无法正常运行!而标记整理算法和复制算法都会移动存活的对象,这就与上面的策略不符!因此CM原创 2021-05-08 18:18:42 · 168 阅读 · 0 评论 -
jdk动态代理
一、什么是代理?二、Java 动态代理类三、JDK的动态代理怎么使用?四、动态代理怎么实现的?五、结论一、什么是代理?代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。代理模式UML图:简单结构示意图:为了保持行为的一致性,代理类和委托类通常会实现相同的接口,所以在访问者看来两者没有丝毫的区别。通过代理类这中间一层,能有效控制对委托类对象的直接访问,也可以很好地隐藏和保护原创 2021-02-22 22:40:44 · 85 阅读 · 0 评论 -
责任链模式filter
连接的责任委托给filterChain, filterChain中维护filter的链;上代码原创 2020-12-08 23:40:25 · 151 阅读 · 0 评论 -
Future整理
本文结构1.Runnable的短板总的来说”三无产品“无入参无返回值;主调线程无法获取子线程的结果无异常2. Callable@FunctionalInterfacepublic interface Callable<V> { V call() throws Exception;}3. Callable与Runnable的对比callable “三有产品”runnable z...原创 2020-10-18 00:40:08 · 84 阅读 · 0 评论 -
代码扩展性设计---钩子
在编排好业务逻辑中,因为某些部分业务是变动的,但这部分的变动属于主流程,将变动的部分设计成钩子(即方法的入参是一个接口对象),在真实执行时,钩进来变动的代码进行执行;原创 2020-10-15 21:47:45 · 144 阅读 · 0 评论 -
sentinel的原理
LeapArray分析我们知道StatisticSlot是Sentinel的核心插槽之一,用于统计实时的数据,后续大部分限流降级的规则都是基于StatisticSlot统计的数据来进行检查。因此对于它是如何统计的,需要了解下。Sentinel 底层采用高性能的滑动窗口数据结构 LeapArray 来统计实时的秒级指标数据它有4个关键的属性。windowLengthInMs 每个窗口有多少毫秒sampleCount 窗口数量intervalInMs 要统计的间隔时长array 即统计原创 2020-09-11 23:24:09 · 446 阅读 · 0 评论 -
修改线程核心数
https://tech.meituan.com/2020/04/02/java-pooling-pratice-in-meituan.html原创 2020-08-21 22:47:01 · 394 阅读 · 0 评论 -
mockito
@RunWith(MockitoJUnitRunner.class)public class UserServiceImplTest { @InjectMocks UserServiceImpl userService; @Mock UserMapperImpl userMapper; @BeforeMethod public void setUp() { Mockito...原创 2020-05-07 19:29:13 · 91 阅读 · 0 评论 -
java不在担心空指针
1.String 判空 import org.apache.commons.lang.StringUtils; StringUtils.isNotEmpty2.集合类判空 import org.apache.commons.collections.CollectionUtils; CollectionUtils.isNotEmpty(Lists.newArrayList());3.对象链式取...原创 2020-05-06 17:03:24 · 129 阅读 · 0 评论 -
Test如何写单测用例
@SpringBootTestpublic class NgTest extends AbstractTestNGSpringContextTests { @Autowire //递归依赖需要通过mock bean来解决,这样聚焦需要测试的类 我们要测试的bean}@SpringBootApplication(scanBasePackages = //mock的bean的包地址 ...原创 2020-04-26 21:08:33 · 844 阅读 · 0 评论 -
IO发展史、利弊
io 发展史、利弊原创 2020-03-26 21:00:08 · 271 阅读 · 0 评论 -
markdown编辑技巧
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...原创 2020-03-26 20:01:33 · 119 阅读 · 0 评论