java番外茶余饭后闲聊

java番外茶余饭后闲聊 **本人博客网站 **IT小神 www itxiaoshen com 今天聊点题外话没事时可以作为平时沟通交流的谈资,接下来一起

java番外茶余饭后闲聊

**本人博客网站 **IT小神 www.itxiaoshen.com

今天聊点题外话没事时可以作为平时沟通交流的谈资,接下来一起简单了解下个人知晓对Java界开发产生深远影响的五位大神级人物

  • Java并发大神Doug Lea

    • 中文名为道格·利,计算机科学教授,专门研究并发编程和并发数据结构的设计,Java社区进程执行委员会的成员,并主持了JSR 166,

    • 从JDK 1.1到JDK 1.2很重要的一项新创举就是Collections,其Collections的概念可以说承袭自Doug Lea于1995年发布的第一个被广泛应用的collections

    • java.util.concurrent 包主要作者,包含锁、工具类、并发集合、原子类、线程池等,其中锁的核心部分则为AQS和并发容器ConcurrentHashMap使用最广泛也最广为认知

  • Spring FrameWork 开创者Rod Johnson

    • 不要惊讶,Rod Johnson的学历是悉尼大学的音乐学博士,不是计算机,就是这位以论文题目是《巴黎的钢琴音乐》的音乐博士创建了Spring框架,也许就是因为有这样一颗理性思维与艺术细胞结合的秃顶大佬才能创造出这么惊世的产物。

    • 说到Rod Johnson,就不得不提所谓的轮子理论,也就是指:不要重复发明轮子,这是西方国家的一句谚语,原话是:Don’t Reinvent the Wheel,而spring也是基于这一原则逐渐做起来的。

    • Spring框架的前生是interface21,即以它为基础重新设计,并不断丰富其内涵。最终于2004年3月24日,发布了1.0正式版,Rod Johnson因此成为一个改变Java世界的大师级人物。

  • 分布式一致性理论奠基者Leslie Lamport

    • 1941年出生于纽约,美国计算机科学家,Lamport以其在分布式系统方面的开创性工作而闻名,是LaTeX排版系统的最初开发人员,也是LaTeX的第一本手册的作者

    • Leslie Lamport获得了2013年图灵奖,成为微软研究院第五位荣获图灵奖的科学家,获奖原因是他在看似混乱的分布式计算系统上实现了清晰、定义良好的一致性,也即是大名鼎鼎分布式系统一致性算法,两军问题或者拜占庭将军,也即是Paxos算法原型。为后来的分布式一致性协议如Zab和Raft提供底层的理论基础

  • Hadoop创始人、Cloudera 首席架构师Doug Cutting

    • Doug Cutting 毕业于美国斯坦福大学,在学习和实习工作期间积累大量搜索技术知识,并有强烈想法想让搜索技术可以为更多人所用;1997 年底,Cutting 开始投入时间试着用 Java 语言把这个想法变成现实,不久之后,Lucene 诞生了。作为第一个提供全文文本搜索的开源函数库,Lucene 的伟大自不必多言,Doug Cutting成为了开源搜索技术的倡导者和创造者。

    • 2004年12月,谷歌Research发表了一篇关于MapReduce算法的论文,该算法允许非常大规模的计算在大型服务器集群上被并行化。Google 发布了一项研究报告,报告中介绍了两款 Google 为支持自家的搜索引擎而开发的软件平台。这两个平台一个是 GFS(Google File System),用于存储不同设备所产生的海量数据;另一个是 MapReduce,它运行在 GFS 之上,负责分布式大规模数据。基于这两个平台,Doug Cutting 最引人瞩目的作品——Hadoop 诞生了

  • 微服务之父MartinFowler

    • MartinFowler1963年出生于英格兰沃尔索耳,1983年就读伦敦大学学院获得了电子工程和计算机科学的学士学位,喜欢徒步、旅行和摄影,居住在美国的英国软件开发人员

    • 担任ThoughtWorks公司的首席科学家,ThoughtWorks是一家全球软件设计与定制领袖企业

    • MartinFowler是软件开发方面的著作者和国际知名演说家,专注于面向对象的分析和设计,UML,模式和敏捷软件开发方法,关注于演进的软件架构

    • 2014年Martin Fowler正式提出了“微服务”的概念,将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持

    • 持续集成(Continuous Integration, CI),每次集成后都会通过自动化构建(包括测试)来尽快发现其中的错误,运用这种方法将大大地减少了集成问题并且能够快速地开发出高内聚性的软件