首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
MenfreXu
掘友等级
Java开发小白
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
2
文章 0
沸点 2
赞
2
返回
|
搜索文章
最新
热门
Spring 源码分析 —— 对 ClassPathBeanDefinitionScanner 详细解析
介于之前我设置的目标 —— Spring 是如何通过 @Bean 注解来加载对象的?所以需要对 scan 做一个全面的分析以达成目标。 我们尝试在一个宏观的平面化的视角来分析 AnnotationApplicationContext 的 scan 功能。这里尝试在 xmind …
Spring 源码分析 —— 对 AnnotationConfigApplicationContext 的初步认识
源码分析的第一步是设定一个目标。而我们的目标就是 —— Spring 是如何通过 @Bean 注解来加载对象的?根据这个目标我们会自然而然的找上 AnnotationConfigApplicationContext。 通常为了更好的了解和熟悉一个对象,我们需要了解它的继承关系以…
Pratice Of Concurrency(一: BlockingQueue )
Java java.util.currency包中的BlockingQueue接口意味着线程可以在一个队列中添加和提取对象.在接下来的段落中,我们将学习如何使用BlockingQueue接口. BlockingQueue典型应用是用于一个线程生产对象,另一个线程消费对象. 一个…
后台进入前端领域的一次尝试(一: 前言&简介)
文章内容并不完备, 也有可能存在许多错误, 更多是给予后台开发人员一个进入前端领域的参考, 也是笔者进入前端领域的一次尝试和记录. 一个后台想要学习前端的原因无非就是想向全栈工程师靠拢, 要不就是被逼的. 哈哈… 当然笔者不是在工作业务上被逼的(例如某些小小小作坊出于经济原因会…
Basic Of Concurrency(二十四: 阿姆达尔定律)
阿姆达尔定律可以用来评估通过让一个计算中的一部分并行处理的方式能够提升多少速度.阿姆达尔定律在1967年由Gene Amdal提出后得名.大部分从事并发编程的开放人员对并发带来的增速都有很强的直觉.即使在他们不知道阿姆达尔定律的情况下.但是仍然很有必要知道阿姆达尔定律. 我们会…
Basic Of Concurrency(二十三: 非阻塞算法下)
如果其他线程还没有提交一个预期修改,那就创建一个预期修改(通常是一个对象)并提交它到数据结构(通过一个cas操作). 对共享数据结构执行预期修改. 移除预期修改的引用来发送信号给其他线程通知它们预期修改已经被执行了. 如你所见,第二个操作提交一个预期修改会阻塞其他线程.因为第二…
Basic Of Concurrency(二十二: 非阻塞算法上)
非阻塞算法在并发上下文下是指一个算法允许线程访问共享状态(亦或是协作和沟通)时不会阻塞到其他相关线程.更通俗的讲,一个非阻塞算法是指在该算法中一个线程的停顿并不会引起其他相关线程的停顿. 为了更好的理解阻塞和非阻塞并发算法之间的区别,我们会先讲解阻塞算法再讲解非阻塞算法. 许多…
Basic Of Concurrency(二十一: 分析一个同步装置)
即使大部分同步装置的功能和使用方式不同(锁, semaphores, 阻塞队列等),但它们的内部实现还是相当一致的.换句话说它们都有相同的组成部分.了解这些组成部分有助于我们设计一个同步装置.下文会一个个分析这些组成部分. 并不是所有的同步装置都由这些部分组成,可能会有例外.但…
Basic Of Concurrency(二十: Compare And Swap)
CAS(Compare And Swap)比较和替换常用于设计并发算法.通常的做法是将预期值和一个确切的变量相比较,如果相等,则将变量替换为新的值.CAS并没有想象中的复杂,只要你理解了其实特别的简单. 这段代码在并发环境中会有线程安全问题,在这里我们先忽略这点. 我们可以看到…
Basic Of Concurrency(十九: 线程池)
线程池是并发编程比较典型的知识点了.当你想在应用中限制同一时间并行执行线程数量的时候可以使用线程池.对比通过创建新线程的方式线程池有显著的性能提升且每一个线程都能获得一定大小的内存空间用作线程栈存储. 可以将任务通过传入线程池来代替创建新线程的方式让任务并行执行.当线程池有闲置…
下一页
个人成就
文章被点赞
29
文章被阅读
21,778
掘力值
686
关注了
18
关注者
40
收藏集
0
关注标签
18
加入于
2019-03-11