Java领域有非常多著名的人物。他们为Java社区编写框架、产品、工具或撰写书籍改变了Java编程的方式。

本文是《最受欢迎的8位Java牛人》的2.0版本号。

PS:排名不分先后。本文的信息整理自网络博客,信息的真实性未经过严格筛选和确认。

1、James Duncan Davidson —— Tomcat 、 Ant

他曾是一名软件project师。如今是一名摄影师。

  • 1970年7月29日,James Duncan Davidson出生于德州Lubbock。
  • 1997至2001年,Davidson担任Sun Microsystems公司软件project师期间,创建了Tomcat和Ant。前者是一个基于Java的网络server应用程序。后者是一个基于Java的构建工具。

  • 2005至2006年。Davidson将他的编程兴趣和注意力转向了Ruby on Rails。 在与著名的Rails大师Mike Clark的合作中,Davidson创建了一些鲁棒性非常好的复杂Rails早期应用程序。
  • 2005年起。Duncan又多了一项职业——摄影。他曾担任多个著名科技会议的主要摄影师。

    他与Greg Koenig联合创办并共有位于俄勒冈州波特兰市的小型公司Luma Labs。

    这家公司专注于制造高质量的照相机配件。

相关链接

  1. James Duncan Davidson Twitter
  2. James Duncan Davidson Wiki
  3. James Duncan Davidson个人博客
  4. Apache Ant
  5. Apache Tomcat

2、Kent
Beck —— 设计模式、极限编程、測试驱动开发、JUnit

Kent Beck 一名美国的软件project师。他总结和创建了非常多软件设计领域概念:
  • 1979年至1987年。Kent Beck 在俄勒冈大学获得计算机科学学士和硕士学位。

  • 他是极限编程(Extreme Programming)和測试驱动开发(Test Driven Development)方法(或称为敏捷软件开发)的创建者。
  • 他首创了软件设计模式(Design Pattern)。又一次发掘了測试驱动开发,并开发了SmallTalk的商业应用。

  • 他是2001年最初签署《Agile Manifesto》的17人之中的一个,和Ward Cunningham一起普及了CRC卡片方法。
  • 他与Erich Gamma一起创建了JUnit 单元測试框架。

相关链接

  1. Kent Beck Twitter
  2. Kent Beck Wiki
  3. Kent Beck博客
  4. JUnit測试框架
  5. 极限编程Wiki
  6. 測试驱动开发Wiki

新闻和訪谈

  1. Kent Beck: “我觉得我们是在飞机上编程”
  2. 採訪Kent Beck和Martin Fowler
  3. 与Kent Beck谈极限编程

Kent Beck著作

  1. Extreme Programming Explained: Embrace Change (2nd Edition)
  2. Refactoring: Improving the Design of Existing Code
  3. JUnit Pocket Guide

3、Joshua Bloch——Collections框架

Joshua J. Bloch是一名软件project师,生于1961年8月28日。他领导了众多Java平台特性的设计和实现,当中包含Java Collection框架、java.math包以及assert机制。

Bloch曾建议扩展Java编程语言,添加两个新特性:

  • 简明实例创建表达式(Concise Instance Creation Expressions — CICE)(与Bob Lee和Doug Lea共同建议)
  • 自己主动资源管理(Automatic Resource Management — ARM)。

  • 两者的组合形成了“支持Java闭包”的三个早期建议之中的一个。

ARM特性已经增加JDK7。而Bloch依旧活跃在当前”在Java中支持闭包“的建议讨论中。

他的主要成就和经历例如以下:

  • 2001年,他的《Effective Java》获得Jolt大奖。
  • 他以前担任Transarc公司高级系统设计师,后来担任Sun公司杰出project师。

  • 2004年6月,他离开Sun公司加盟谷歌,成为谷歌首席Java架构师。
  • 2004年12月。《Java 开发人员杂志》将Bloch列为”全球顶尖的40位软件开发人员”之中的一个。
  • 2012年8月3日,Bloch宣布将离开谷歌。

相关链接

  1. Joshua Bloch Twitter
  2. Joshua Bloch Wiki

新闻和訪谈

  1. Effective Java: Joshua Bloch訪谈
  2. 超级明星Josh Bloch

Joshua Bloch著作

  1. Effective Java (2nd Edition)
  2. Java Concurrency in Practice
  3. Java Puzzlers(2005)

4、Marc Fleury —— JBoss

  • Marc Fleury 于2001年创建了JBoss。JBoss是一个开源Java应用程序server,是部署Java Web应用程序的事实标准。

  • Marc的研究兴趣主要集中在中间件。他于1999年启动了JBoss项目,并于2001年在佐治亚州的亚特兰大成立了JBoss Group有限责任公司。
  • 在将公司出售给Red Hat之后, Fleury成为了Red Hat JBoss 部门的高级副董事兼总经理。

    然而。Fleury从2007年1月開始休“陪产假”。

    计划到2007年3月15日结束。可是他即将离开Red Hat的谣言四起。

  • 2007年2月9日,他离开Red Hat的消息公之于众:“Fleury已经决定离开Red Hat,去追求其它的个人爱好,比方教书、生物研究、音乐和陪伴家庭。

相关链接

  1. Marc Fleury Wiki
  2. Marc Fleury博客
  3. JBoss应用server

新闻和訪谈

  1. Red Hat会失去JBoss创始人吗?
  2. JBoss创始人Marc Fleury离开Red Hat,如今该怎么办?
  3. JBoss’s Marc Fleury在SOA、ESB和OSS
  4. 复活Marc Fleury

5、Craig Mcclanahan —— Struts

  • Craig R McClanahan 是一名程序猿,也是流行的开源MVC架构Struts的原创者。

    Struts架构用来创建基于Java的Web应用程序。

  • 他是定义Servlet2.2、2.3和JSP1.1、1.2 规范的专家小组成员。
  • 他还是Tomcat Servlet容器Catalina的架构师。

相关链接

  1. Craig Mcclanahan Wiki
  2. Craig Mcclanahan Blog
  3. Apache Struts

新闻和訪谈

  1. Craig McClanahan訪谈
  2. Struts还是JSF?

6. Rod Johnson——Spring、SpringSource、面向方面编程、控制反转

    • Rod Johnson是Java开源应用框架Spring的创始人。

      他是Spring的创建者和SpringSource的CEO。

    • 他是面向方面编程(Aspect Oriented Programming)应用架构以及控制反转(Inversion of Control)的联合创始人。

    • Rod的畅销书《Expert One-on-One J2EE Design and Development(2002)》是全部已出版的著作中对J2EE影响最大的书籍之中的一个。

相关链接

  1. Rod Johnson Twitter
  2. Rod Johnson博客
  3. SpringSource
  4. Spring框架Wiki

新闻和訪谈

  1. VMware.com : VMware to acquire SpringSource
  2. Rod Johnson : VMware to acquire SpringSource
  3. Rod Johnson訪谈 – CEO – Interface21
  4. Rod Johnson关于Spring维护策略改变问答
  5. Expert One-on-One J2EE Design and Development: Rod Johnson訪谈

Rod Johnson著作

  1. Expert One-on-One J2EE Design and Development (Programmer to Programmer)
  2. Expert One-on-One J2EE Development without EJB

7、Gavin King —— Hibernate、Seam

  • Gavin King 是Hibernate项目的创始人。

    Hibernate是一个流行的Java“对象/关系”持久化解决方式。

  • 他是Java EE 5 应用程序架构Seam的创建者。
  • 他还为EJB3.0和JPA的设计做出了重要的贡献。

相关链接

  1. Gavin King博客
  2. Hibernate Wiki
  3. Hibernate框架
  4. JBoss seam

新闻和訪谈

  1. Tech Chat: Gavin King谈Contexts和依赖注入Weld, Java EE 6
  2. JPT : Gavin King訪谈Hibernate
  3. JavaFree : Hibernate创始人Gavin King訪谈
  4. Gavin King深度解析Seam

Gavin King著作

  1. Java Persistence with Hibernate
  2. Hibernate in Action (In Action series)

8、James Gosling——Java语言

James Gosling在1994年发明了Java。

他完毕了Java的最初设计、编译器和虚拟机。因为他的贡献。他被推举为美国国家project院院士。

  • 1983年。Gosling在加拿大卡尔加里大学获得了计算机科学学士学位。1990年,又获得了卡耐基梅隆大学的计算机科学博士学位,师从Bob Sproull。

    在攻读博士期间,他写出了一版Emacs,命名为Gosling Emacs(即Gosmacs)。

    在增加Sun Microsystems之前,他还在卡耐基梅隆大学就读期间开发了一个多处理器版本号的Unix、多个编译器和邮件系统。

  • 1984年至2010年,Gosling就职于Sun Microsystems公司。他被公觉得Java编程语言之父。
  • 2010年4月2日,Gosling离开了刚刚被甲骨文公司收购的Sun Microsystem公司。在谈到离开原因时,Gosling提到了工资、地位和决策权的削减、角色的改变和道德上的挑战。从那之后,在採訪中他一直对甲骨文公司持批判的立场。

    他提到:”在Sun和Orcale的公司合并会议中,有关Sun和Google的专利情况让我们倍受煎熬。我们可以看到Oracle的律师眼中闪着火光。“ 在随后Oracle和Google关于Android的庭审期间。他澄清了自己的态度:”Sun公司没有专利诉讼的传统。但并不意味着我们没受委屈。

    尽管我的观点与Oracle不同,但在这个案件中他们(Oracle)是正确的。Google压榨了Sun,我们也都受到了严重干扰,甚至包含Jonathan
    Schwartz——那时候他刚要假装快乐地去‘化腐朽为奇妙’。尽管他的行为让非常多Sun员工感到不爽“。

  • 2011年3月28日。James Gosling在他的博客上宣布被Google聘用。五个月后。他宣布加盟一个名叫Liquid Robotics的创业公司。Gosling还是Typesafe公司的顾问。该公司成立于2011年5月。专注Scala开发。

相关链接

  1. James Gosling Blog
  2. James Gosling Wiki

新闻和訪谈

  1. Dennis Ritchie、Bjarne Stroustrup和James Gosling訪谈
  2. James Gosling訪谈。“Java之父”
  3. 开发人员訪谈:James Gosling

9、Andy Rubin —— 安卓

  • Andrew E. Rubin 是Danger和安卓两家公司的联合创始人及前CEO。他在谷歌”Mobile and Digital Content“部门担任高级副董事直至2013年3月,主要管理智能手机开源操作系统安卓的开发工作。

    Rubin拥有四项发明专利。据称他的净资产值高达1亿美元。

  • 2013年3月13日,Larry Page在其博客上宣布Andy Rubin调离安卓部门并将承担谷歌公司新的项目。他的继任者Sundar Pichai同一时候接任了Andy在Chrome部门的领导职位。

相关链接

  1. Andy Robin Wiki

10、Doug Lea —— 并发

  • Doug Lea是纽约州立大学Oswego分校的计算机教授,在那里他专攻并发编程和并发数据结构设计。
  • 他曾是JCP(Java Community Process)运行委员会的一员,并担任Java 规范请求166(JSR Specification Request 166)的主席。JSR 166为Java增加了并发功能(详见Java并发)。
  • 他设计了util.concurrent开发包。
  • 2010年10月22日,Doug Lea通知JCP运行委员会他将不再參选JCP。

    后来,Doug又又一次当选了2012 OpenJDK理事会的全权代表。

java nb的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. 使用NB Exploit Kit攻击的APT样本分析——直接看流程图,就是网页挂马,利用java和flash等漏洞来在你主机安装和运行恶意软件

    使用NB Exploit Kit攻击的APT样本分析 from:https://cloud.tencent.com/developer/article/1092136 1.起因 近期,安恒工程师在某网 ...

  3. Java递归:一个NB自慰的操作

    递归的核心思想:自身调用自身 示例一:求5的阶乘 常规方法: 使用while循环 1 public class Demo01 { 2 3 public static void main(String[ ...

  4. Java 开发主流 IDE 环境体验

    前言 本来应该继续从 Oracle 官网搬砖的,但是随着示例代码越来越复杂,涉及的类库越来越多,使用 Vim 写 Java 代码就很力不从心了,是时候上 IDE 了.我最熟悉的 IDE 环境是 Ecl ...

  5. Atitit onvif协议获取rtsp地址播放java语言 attilx总结

    Atitit onvif协议获取rtsp地址播放java语言 attilx总结 1.1. 获取rtsp地址的算法与流程1 1.2. Onvif摄像头的发现,ws的发现机制,使用xcf类库1 2. 调用 ...

  6. java web学习总结(三十) -------------------JSTL表达式

    一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...

  7. java web学习总结(二十九) -------------------JavaBean的两种开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...

  8. java web学习总结(二十七) -------------------JSP标签介绍

    一.JSP标签介绍 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. 二.JSP常用标签 ...

  9. java web学习总结(二十五) -------------------JSP中的九个内置对象

    一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...

随机推荐

  1. Linux操作命令(二)

    本次实验将介绍 Linux 命令中 mkdir.rm.mv.cp.cat.nl 命令的用法. 1.mkdir mkdir命令用来创建指定名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的 ...

  2. Codeforces Round #433 (Div. 2, based on Olympiad of Metropolises) D. Jury Meeting(双指针模拟)

    D. Jury Meeting time limit per test 1 second memory limit per test 512 megabytes input standard inpu ...

  3. 输入输出格式之Python版

    # 有多组输入数据,但没有具体的告诉你有多少组,只是让你对应每组输入,应该怎样输出. while True: try: a, b = map(int, raw_input().strip().spli ...

  4. PHP单例类

    单例模式按字面来看就是某一个类只有一个实例,这样做的好处还是很大的,比如说数据库的连接,我们只需要实例化一次,不需要每次都去new了,这样极大的降低了资源的耗费. 单例类至少拥有以下三种公共元素: 必 ...

  5. 写的模块和方法 wap 和 pc

    createjs 画了一个曲线功能 rem 的适配方式 $.fn.stop 方法, zepto 没有的, 对于 2d的旋转 变形 还有 移动都可以停下来, 做动画的属性存储, getComputedS ...

  6. 【BZOJ 1216】 1216: [HNOI2003]操作系统 (模拟+优先队列)

    1216: [HNOI2003]操作系统 Description 写一个程序来模拟操作系统的进程调度.假设该系统只有一个CPU,每一个进程的到达时间,执行时间和运行优先级都是已知的.其中运行优先级用自 ...

  7. vijos1889:天真的因数分解

    题目链接 vijos1889:天真的因数分解 题解 同bzoj2440: [中山市选2011]完全平方数 就是改成了求有平方因子数,依旧考虑二分,只是把容斥系数取一下相反数,也就是把莫比乌斯函数求一个 ...

  8. 【数据结构】Not so Mobile (6-9)

    [UVA839]Not so Mobile 算法入门经典第6章6-9(P157) 题目大意:输入一个树状天平,根据力矩相等原则判断是否平衡. 试题分析:貌似没有什么难点…… #include<i ...

  9. Problem J: 零起点学算法89——程序设计竞赛

    #include<stdio.h> //选择排序法 int main(){ ]; while(scanf("%d",&n)!=EOF){ ;i<n;i++ ...

  10. CDOJ 1284 苦恼的郭大侠 map启发式合并

    苦恼的郭大侠 题目连接: http://acm.uestc.edu.cn/#/problem/show/1284 Description 花开雷霆崖,血染伊吕波. 公元1772年. 郭大侠终于照着天行 ...