能饮一杯无

言前定则不跲,事前定则不困,行前定则不疚,道前定则不穷。


  • 首页

  • 关于

  • 标签

  • 分类

  • 文章

  • 搜索

并发编程-CompletionService异步非阻塞获取并行任务执行结果

发表于 2021-11-10 | 分类于 并发编程 |
| 字数统计: 1,471
代码示例当我们需要多线程执行任务并获取任务的结果时,可以将Callable任务提交到线程池,提交后会返回一个Future对象,调用Future的get()方法就可以拿到线程执行的结果。如果将每个线程的Future对象保存到一个集合中,再依次获取每个Future的结果,最终我们就可以获取所以线程的结果 ...
阅读全文 »

Spring-IOC的理解

发表于 2021-11-09 | 分类于 Spring |
| 字数统计: 1,278
IOC/DI熟悉Spring框架的人应该都听说过 IOC(Inversion of Control,控制反转)和 DI(Dependency Injection,依赖注入)两个概念,这其实是面向对象的一种编程思想,本文主要谈谈对于它们的理解。 首先我们必须搞清楚这两个概念涉及的参与者都有谁?一般有三 ...
阅读全文 »

SpringMVC中的HandlerAdapter

发表于 2021-11-08 | 分类于 SpringMVC |
| 字数统计: 1,798
HandlerAdapter介绍在前面的SpringMVC中的HandlerMapping一文中已经说到,对于一个请求,SpringMVC中的DispatcherServlet会通过特定的HandlerMapping得到HandlerExecutionChain,HandlerExecutionCh ...
阅读全文 »

SpringMVC中的HandlerMapping

发表于 2021-11-07 | 分类于 SpringMVC |
| 字数统计: 1,018
DispatcherServlet中持有一个 List<HandlerMapping> 的组件,那么HandlerMapping究竟是什么东西呢? 我们通过debug的方式看看 handlerMappings 里面具体有什么? 可以看到这 handlerMappings 这个list里面一共有 ...
阅读全文 »

SpringMVC的执行流程

发表于 2021-11-06 | 分类于 SpringMVC |
| 字数统计: 1,592
MVC模式顾名思义,SpringMVC框架是基于MVC设置模式设计的,即Model(模型)-View(视图)-Controller(控制)模式。 这个模式认为,应用程序不论简单或复杂,从结构上看,都可以分成三层。 最上面的一层,是直接面向最终用户的”视图层”(View)。它是提供给用户的操作界面, ...
阅读全文 »

Elasticsearch-Head安装与使用

发表于 2021-11-05 | 分类于 Elasticsearch |
| 字数统计: 646
Elasticsearch-Head 是一款专门针对于 Elasticsearch 的客户端工具。 如何在本地启动 Elasticsearch-Head首先下载 Elasticsearch-Head 的源码压缩包并解析,下载地址:https://github.com/mobz/elasticsear ...
阅读全文 »

面试-Java基础-String str=new String("a")和String str="a"有什么区别?

发表于 2021-11-04 | 分类于 面试 , Java基础 |
| 字数统计: 1,047
面试问题12String A = new String("a");String B = "a"; A,B 是否相等,如果都往HashSet里面放,会是什么结果? 答案: A==B 的判断为false; A.equals(B)为true; 往 HashSet 里面放时,A 和 B 会当做一个相同的元 ...
阅读全文 »

Redisson分布式锁流程分析(4)可重入锁释放

发表于 2021-10-28 | 分类于 分布式锁 , redisson |
| 字数统计: 410
前面已经分析了可重入锁的加锁,本节来看一下是怎么释放锁的。 主动释放当线程完成一系列操作之后,我们都需要主动去释放锁,调用RedissonLock实例的unlock()方法即可以释放锁,查看源码可知最终调用到了 RedissonLock 中的 unlockInnerAsync(long thread ...
阅读全文 »

Redisson分布式锁流程分析(3)可重入锁互斥

发表于 2021-10-28 | 分类于 分布式锁 , redisson |
| 字数统计: 399
在前面可重入锁加锁一文中,我们可以知道当锁存在时,是会加锁失败的,即 Hash 的 key 存在, field 也存在,但 field 对应的 value 不是当前线程生成的这种情况。 所以本文看一下这种加锁失败的情况Redisson会怎样处理呢? 再看加锁 Lua 脚本1234567891011i ...
阅读全文 »

Redisson分布式锁流程分析(2)看门狗

发表于 2021-10-28 | 分类于 分布式锁 , redisson |
| 字数统计: 845
前面加锁的文章中提到了如果不传加锁时间,默认使用30s,而并不是永久时长,拿到了30s后难道锁就会自动释放吗?答案是不会,因为Redisson中还有一个耳熟能详的看门狗(Watchdog)机制。本文就一起看看加锁成功之后的看门狗(Watchdog)是如何实现的? 加锁成功在前一篇文章中介绍了可重入锁 ...
阅读全文 »
上一页1…91011…26下一页
liaosi

liaosi

256 日志
89 分类
95 标签
RSS
GitHub SegmentFault
链接
  • 阮一峰的个人网站
  • JavaDoop
  • 廖雪峰Python3教程
  • 纯洁的微笑
© 2018-2025 liaosi | 本站总字数: 462.8k
粤ICP备 19130181号-1