首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
PageThinker
掘友等级
ThoughtWorks
No pain,no gain.
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
15
文章 6
沸点 9
赞
15
返回
|
搜索文章
最新
热门
善用技术债
白话的解释就是技术上的债务。 (2)某个功能为热点功能业务上更重要,因此单位时间内对该功能的技术支持更完善,其他功能凑合能用。 (3)由于思路不严谨,导致某个功能状态为开发完成,但是其中功能并不完整。 以上 3 个是常见的技术债,类似的技术债还有很多。 技术债能够为团队带来好处…
ArrayList 需要了解的事情
ArrayList 是日常开发经常使用到的容器类。它能够方便的进行数据的查询、替换。但是因为其低层实现的原因在数据容量、性能、线程安全上都存在问题,主要涉及到下面的内容: 下面是关键信息的分析。 很显然 ArrayList 内部是通过数据来实现的,而数据就存储在 element…
Java多线程:使用 CompletionService 接口避免 Future 的阻塞
在上一篇内容中,介绍了 Future 的使用,其中也涉及到了 Future 的不足,就是当通过 get() 方法获取线程的返回值的时候,会导致阻塞,由于阻塞很多时候这回倒置性能问题。而 JDK 中提供的另外一个工具类能够帮助我们缓解或是解决阻塞的问题。 CompletionSe…
实战 TDD(9):Pair Programming
Pair (结对)已经不是什么新鲜的事情。工作中我们进行 Pair。但是也会经常发现一个问题:“两个人单纯的坐在一起工作或者被领导命令坐到一起工作,并没有什么工作效率提升的“。工作中许多人对 Pair 这个词的理解多于 Pair 应该怎么做的理解。这篇文章将详细描述关于 Pai…
从刻意练习到高效工作
2020 年过年回来在家办公的同时组织了一个能力学习小组---刻意练习小组。到目前为止时间已经过去 2 个多月,通过这个活动也是收获良多。 刻意练习活动的从想法到成型主要是基于三部分信息的整合。 (3)过往活动的经历。 服务设计原则。 完整性。 将整体环境全部纳入考量范围。 *…
Java中线程池实现的两种方式
比如现在收集上的修图软件。一张 1920 x1080 的图片有 200多万个像素点,对整个图片的每个像素点处理一遍也是需要不少的计算量。 服务器端处理大数据、大量请求时如果只是单个线程来进行,也是无法满足需求的。 此外,不管是处理应用还是服务器,即使使用了多线程,如果频繁进行创…
使用 Phaser 更加灵活的控制阻塞节点的停留
Phaser 与 CountDownLatch、CyclicBarrier 做的事情类似,只是Phaser 提供了更加丰富的API,左右处理同样一个场景时,使用一个 Phaser 对象,并通过调用不同的 API 即可用更简单的方式实现相同的功能。 (1)提供了多个阻塞节点,因此…
CyclicBarrier 实现阶段性同步
(4)支持多次循环实现多个线程一起执行的目的。 (1)CountDownLatch 时计数器做减法,而 CyclicBarrier 时通过累加来实现。 (2)CountDownLatch 只支持单次多个线程阻塞然后一起执行,CyclicBarrier 是支持多次的。 await…
CountDownLatch实现多线程等待后共同执行
CountDownLatch 通过 count 计数实现屏障设定(阻塞),当满足设定的条件后一个或者多个线程时候一起执行。这里的屏障指的就是一个线程会被阻塞,不再继续向下执行。 CountDownLatch 中的计数器会做减法。当执行到它的 await()方法之后,如果计数器不…
用 Exchanger两个线程之间的通信
使两个线程之间进行数据传递。(对是两个之间而不是三个或者更多个线程之间) exchange() 阻塞当前线程并等待其他线程来取得数据,若没有其他线程来取数据则一直等待。 exchange(V v, long timeout, TimeUnit unit) 在指定的时间内没收到消…
下一页
个人成就
文章被点赞
63
文章被阅读
38,761
掘力值
1,141
关注了
6
关注者
43
收藏集
0
关注标签
28
加入于
2019-10-06