首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
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
文章被阅读
40,465
掘力值
1,144
关注了
6
关注者
43
收藏集
0
关注标签
28
加入于
2019-10-06