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理事会的全权代表。

相关链接

  1. Doug Lea博客
  2. Doug Lea Wiki

你应当知道的Java牛人的更多相关文章

  1. 你应该知道的8个Java牛人

    简单介绍一下8个Java牛人,他们为Java社区,创建了框架(framework),产品或者是写书,影响甚至改变了Java开发的方法 8.Tomcat创始人 James Duncan Davidson ...

  2. Java牛人

    Java领域有很多著名的人物,他们为Java社区编写框架.产品.工具或撰写书籍改变了Java编程的方式.本文是<最受欢迎的8位Java牛人>的2.0版本. PS:排名不分先后.本文的信息整 ...

  3. 你应该知道的JAVA面试题

    你应该知道的JAVA面试题 经常面试一些候选人,整理了下我面试使用的题目,陆陆续续整理出来的题目很多,所以每次会抽一部分来问.答案会在后面的文章中逐渐发布出来. 基础题目 Java线程的状态 进程和线 ...

  4. 【转】最受欢迎的8位Java牛人

    本文由 ImportNew - 唐尤华 翻译自 javatyro.如需转载本文,请先参见文章末尾处的转载要求. 下面是8位Java牛人,他们为Java社区编写框架.产品.工具或撰写书籍改变了Java编 ...

  5. java牛人给新人的几点建议

    展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告 走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的1 ...

  6. 关于Java高并发编程你需要知道的“升段攻略”

    关于Java高并发编程你需要知道的"升段攻略" 基础 Thread对象调用start()方法包含的步骤 通过jvm告诉操作系统创建Thread 操作系统开辟内存并使用Windows ...

  7. 很少有人知道的c++中的try块函数

    c++有一些在现实世界中很少看到的结构.这些结构有着自己的用法,但是要特别小心保守的予以运用.就像是网站 The Old New Thing首页标题上面的说的那样: “代码通常被读的次数原因超过了被写 ...

  8. 转:java开发的10位牛人

    文章来自于:http://it.deepinmind.com/java/2014/04/10/top-10-java-people-you-should-know.html James Gosling ...

  9. 转:Java开发牛人十大必备网站

    原文来自于:http://www.importnew.com/7980.html 以下是我收集的Java开发牛人必备的网站.这些网站可以提供信息,以及一些很棒的讲座, 还能解答一般问题.面试问题等.质 ...

随机推荐

  1. 用C++写一个简单的服务器和客户端

    我们将创建一个服务器节点add_two_ints_server,它将会收到两个整数,并且返回它们的和.切换目录到之前建立的beginner_tutorials包下: cd ~/catkin_ws/sr ...

  2. WebApi服务

    WCF 它利用TCP.HTTP.MSMQ等传输协议构建“契约先行”的服务.WCF最初为基于SOAP的服务而设计[xml],繁琐.冗余.慢.沉重 WebApi 基于http协议,轻量级的,支持URL路由 ...

  3. Models——英语学习小技巧之四

    Models  are very important, here model means role model, is kind of like a hero. It's  someone that ...

  4. JSP与Servlet的中文乱码处理

    注:百度来的,改了改... jsp页面的的头要设置好 <%@ page language="java" contentType="text/html; charse ...

  5. cocos2dx 坐标和锚点

    cocos2dx中使用opengl坐标系,左下角为坐标原点,在大部分情况下,都是使用这种坐标系的. 当我们创建了一个渲染对象到窗口后,那么这个对象本身也是也是有自己的坐标系的,这种坐标系是节点自己的坐 ...

  6. Linux学习笔记之权限与命令之间的关系(重要)及文件与文件夹知识总结

    一.让使用者能进入某文件夹成为可工作文件夹的基本权限为何: 可使用的命令:比如 cd 等变换工作文件夹的命令. 文件夹所需权限:使用者对这个文件夹至少须要具有 x的权限 额外需求:假设使用者想要在这个 ...

  7. Android项目开发五-《星星生活志》1.使用MediaRecorder录制音频

    Android设备实现录制音频的简单demo 转载请注明; http://blog.csdn.net/u013670933/article/details/26089487 代码例如以下: publi ...

  8. using的用法

    1.using指令.using + 命名空间名字.命名空间名字可以是系统本有,也可是自己定义的class. 2.using别名.using + 别名 = 包括详细命名空间信息的具体的类型. 达成条件: ...

  9. 判断联网wifi

    UIApplication *app = [UIApplication sharedApplication]; NSArray *children = [[[app valueForKeyPath:@ ...

  10. ELK(ElasticSearch, Logstash, Log4j)系统日志搭建

    1.elk平台介绍 Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logsta ...