Java 8 CompletableFuture动机与应用

动机试想如下计算场景: 1234int a = A();int b = B(a);int c = C(a);int d = D(b,c); 即:先计算A,然后,拿A的结果计算B/C。最后,再拿B/C的结果计算D。 再假设,如果各个计算节点都是”耗时任务”,我们该如何优化上述的计算任务? 站在上帝视角,我们知道B/C是可以并行处理的,但这种情况对编译器通常是“无能为力”的,这时就需要开...

Continue Reading →

flink-glossary

1. 前言flink glossary是官网上的flink概念词汇解释,里面有文档中大量名称名词的汇总解释。文档已经很全面,当然本文不只是一个翻译。本文会借助一个例子,并通过静态代码、运行态、物理集群三条主线串讲flink的主要词汇。看完本文,你将能看懂flink作业的Logical Graph、Job Graph和Slot Graph;同时,就能全面的理解“flink跑起来是什么样子”,这...

Continue Reading →

jmh

JMH(Java Microbenchmark Harness)基准测试套件1. 拿数据说话-基准测试日常开发中,经常会有人说: “这样的写法性能更好”, 但大部分都是偏好或者是经验之谈. 逻辑代码的几种实现方式具体哪种性能好? 性能差别在哪里? 如何优化? 仅仅是口口相传的经验之谈还是无法让人信服! 科学需要已数据为基础, 需要有准确和科学的度量方法,以及对应的结果作为依据. 有些人选择在...

Continue Reading →

通过案例学习git-submodule

1. Git submodule的简介如果你也曾经检出过一个比较大型的项目,肯定有过这样的痛苦经历,仅仅clone下载项目就花费了非常长的时间。git会把一个仓库的全部版本数据放到.git目录,如果一个大型项目长时间的提交后,就会造成仓库过大下载变慢。git submodule是一个大型项目模块分拆编排的解决方案,合理的引入submodule或许可以显著改善大型项目结构和编排。下面我们一起动...

Continue Reading →

负载均衡算法实现

1. 简介微服务场景,通常通过多服务器实例实现应用的水平扩展,借助负载均衡器,实现接入点的无感知接入。负载均衡器的核心就是负载均衡算法,通过一定的逻辑将前端请求,均匀、高效的分发到后端应用实例。当我们使用市面上成熟的负载均衡器时,根据需求配置合理的负载均衡算法也是核心的配置之一,这些都需要对负载均衡算法的深入理解。下面我们将常见的负载均衡算法罗列,并简化实现算法的核心逻辑。 2. 常见算法2...

Continue Reading →

idea总过期,eclipse“笨重”,你有第三选项

idea总过期,eclipse“笨重”,你有第三选项最近我的idea又过期了,网上各种百度,不止我一个人被“杀猪”,网上一片人“惨叫”!浪迹互联网这么多年习惯白嫖,老是过期这感觉真不爽。 也不知道idea什么时候成了行业利器,我第一次使用大概是12年,当时住公司宿舍,同屋一个同事他们部门使用,于是我们合伙“搞事情”,他教我使用idea,我教他maven搭建ssm项目。第一次使用后,除了界...

Continue Reading →

© 2023 PLAYAROUND All Rights Reserved. 本站访客数人次 本站总访问量
Theme by hiero