Java基础
文章平均质量分 92
洋洋2018
坚持不断成长
展开
-
Mybatis源码分析
在我们工作中一般都是spring + mybatis组合使用,试想,如果单独使用Mybatis Api如何使用呢? @Test public void testUserFind() throws IOException { //1.读取mybatis全局配置文件,创建sqlSessionFactory String resource = "mybatis-config.xml"; InputStream inputStream = Re.原创 2021-11-10 15:36:42 · 652 阅读 · 0 评论 -
Spring Boot Actuator 监控线程池
在我们一个分布式系统中,一般都会有一个或多个固定的线程池来处理我们提交的任务。很多时候我们需要关注线程池的运行情况,根据情况来调整我们线程池参数。原创 2020-12-09 19:46:29 · 4396 阅读 · 1 评论 -
Guava RateLimiter 源码
今天看了下GuavaRateLimiter的源码,简单记录下时间窗口内限流常用算法有计算的,令牌桶和漏桶算法。RateLimiter算是令牌桶算法吧。刚开始我以为是使用一个单独的线程在指定时间间隔生产令牌存入桶中,获取时就去减少令牌,当没有可用令牌时就Blocking线程直到生产线程唤醒(类似阻塞队列原理)。看了源码发现Guava使用了更加简单高效的方式完成了令牌桶限流功能。这里说下相对简单的实现类SmoothBursty。使用方式://每妙生产一个令牌RateLimi...原创 2020-12-02 10:11:41 · 149 阅读 · 0 评论 -
Spring Cache 源码分析
今天简单分析下了SpringCache的原理,记录下分析过程当我们在Springboot下使用SpringCache时,需要使用@EnableCaching 注解开启Cache装配的,所以就从这里入手:@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Import(CachingConfigurationSelector.class)public @interface Enab...原创 2020-11-06 16:26:40 · 322 阅读 · 2 评论 -
AbstractQueuedSynchronizer 源码分析(二)
AQS 上一篇分析接着上次分析,这次把ConditionObject功能分析下当我们使用BlockingQueue的时候,消费者端从队列里获取过元素发现为空,当前线程就会await。当生产者把数据put到Queue时候被阻塞的线程将被唤醒。这种情况下的线程排队等待和被选唤醒就是由ConditionObject这个类来管理的我们先来看下ArrayBlockingQue...原创 2020-04-20 17:54:10 · 110 阅读 · 0 评论 -
AbstractQueuedSynchronizer 源码分析
最近了解了下AQS的大致原理,大致记录下AQS 我个人认为是一个协调多线程同步执行的框架。我们可以在AQS的基础上方便的实现一个自定义的线程协调工具类。比如自己实现一个简单的加锁、解锁的工具类。这里我分析下常用的锁工具类ReentrantLock。根据这个类的实现去了解下AQS的大致原理。(说明:有些地方没看懂!~~)一、重要属性:内部类Node 、st...原创 2020-04-19 21:49:05 · 170 阅读 · 0 评论 -
不同等级域名共享相同session
问:什么是不同等级域名共享相同session?答:www.lyy.com 和 test.lyy.com的三级域名是不同的。默认情况下在相同浏览器、不同tab页访问分别访问这两个域名的session不共享的。因为cookie的domain是不一样的,所以浏览器不能携带同一目录的sessionId给服务器。问:那我现在想让访问这两个域名共享同一个session。这样可避免用户登录2次了。(test代表...原创 2018-05-25 15:16:26 · 1243 阅读 · 0 评论 -
java中的延迟队列(DelayQueue)
问:什么情况下用DelayQueue答:比如说订单下单后15分钟过期、要触发一系列的逻辑处理。这时候我们就可以用DelayQueue来完成。问:实现原理是什么呢?答:请看代码~~!注:这里用redis来存储队列中的任务。代码是复制 java中 DelayQueue的源码。package com.coinex.common.concurrent;import static java.util.c...原创 2018-05-22 19:50:32 · 2907 阅读 · 0 评论