必备的 Java 参考资源列表

文档选项
 
将此页作为电子邮件发送

将此页作为电子邮件发送

英文原文

英文原文


级别: 初级

Ted Neward, 主管,ThoughtWorks, Neward & Associates

2009 年 3 月 02 日

Java™ 平台不久将迎来它 14 岁的生日,当一种成功且被普遍使用的语言达到这样一种高度时,伴随而来的是产生了大量的库、工具和理念 — 这使得许多刚刚接触 Java 语言的新手可以获得大量的资源。在这篇文章中,作者(Java 资源的重要贡献者)将向您介绍这些资源,为积极进取的 Java 开发人员提供一份他们应该拥有的关键参考资源的列表。

自 Java 平台从 1995 年作为一个整体引入编程社区开始,它的发展已经远远超出了早期 Java 专家和推介者所设想的“applet 无处不在”这一远景。相反,Java 世界出现了 Swing、与 servlet 结合,从而发展为 J2EE、出现了 EJB、超越了 Spring 和 Hibernate、添加了泛型,变得越来越具有动态性,然后实现了函数化,在我撰写本文时,Java 继续朝着各种有趣的方向发展。

这使得没有一直跟随学习这门语言的 Java 程序员感到有点吃力。

作为一名演讲人、博客作者、顾问和导师,经常有一些初、中级 Java 程序员向我询问相关参考资源,以便帮助他们掌握这个广泛的、复杂的、看似永无止境的语言。几年前,我发表了一个 推荐读物列表 专门解答这个问题,但最近,developerWorks 的 Java 编辑让我整理一份更完整的参考资源列表,而不仅仅包括书籍 — 考虑到资源列表现在已经增长到了预期消费者即使花费十年的时间阅读也仍然不得要领的地步,这是一个很好的提议。

为了保证客观性和避免不利的影响,我决定给出各种参考资源的博客空间(blogosphere):Web 站点、研讨会、书籍、博客、工具,以及任何 Java 开发人员可能感兴趣或对他们有用的内容,帮助他们从庞大的参考资源中找到自己需要的内容。

这份列表得到了很多人的响应(在此我要感谢所有的回复者)。

在开始之前,需要解释一点:这些参考资源不一定是 Java 世界中最流行、最强大或最有影响的资源 — 这份 列表可能完全不同(尽管我怀疑其中也会出现很多相同的资源);但每个希望获得成功的 Java 开发人员都应该将这些参考资源保存在浏览器、书架或备忘录中。与任何此类型的列表一样,人们总会争论哪些内容本来应当包含进去但却没有出现在列表中,或本不该有的内容却出现在列表中。

现在开始正式介绍这些参考资源。

Web 站点和开发人员 Web 门户

网络无疑改变了共享资源和出版的本质(对我也是一样:您正在网络上阅读这篇文章),因此,从每位 Java 开发人员都应该关注的关键 Web 站点和开发人员门户上的关键 Java 参考资源入手似乎比较合理。

在许多情况下,Web 站点和/或开发人员门户的价值不仅仅在于其中提供的参考资源或文章,还包括围绕该门户或站点的社区。静态 Web 页面和下载文件的时代已经一去不复返了,取而代之的是更“积极” 的论坛、主题文章和交互式讨论,讨论者不仅包括频繁访问该站点并组成社区的开发人员,还包括社区成员和门户所有者。随着技术的发展,开发人员也必须跟上技术的步伐,同时,门户也要不断发展,以满足社区不断变化的需求;与社区保持开放的关系是实现活跃门户的关键因素。

Web 站点列表(带有 URL):

  • java.sun.com
    这是 JDK 的发源地,通常是 Java 开发人员下载 JDK 和文档副本的首要站点。除此之外,该站点还是查找有关整个 Java 平台的信息的好来源,包括一段非常详细的 JVM 介绍(Hotspot),它极其深入地描述了 JVM 的细节。
  • java.net
    Java.NET 站点汇集了开源项目、文档、博客、wiki、新闻和其他社区资源等各种内容。它是 Java 技术的主要信息来源,不过提供的信息似乎过于繁杂。不过尽管如此,浏览项目列表也会找到一些真正有用的东西,如 FEST-Swing 项目,它旨在创建一个用于构建 Swing 应用程序的“方便接口”,大大简化了单元测试的创建。
  • InfoQ
    由 Floyd Marinescu 创建,他是 The ServerSide 的名誉主编,InfoQ 与这里列出的许多其他参考资源的区别是,它是技术中立的,不仅包括 Java 代码,还包括 .NET 和 Ruby,并提供了大量灵活的方法和见解。尽管 InfoQ 上的评论社区并没有 TheServerSide 上的社区那么庞大和多样化,但是该社区中的讨论通常更加温和,而不会过于激烈。
  • TheServerSide
    通常称为“the Slashdot of Java”,TheServerSide 是第一个公开质询、热烈讨论和积极研究企业 Java 主题的地方。有关轻量级容器(以 Spring 为代表)的一些最初理念就是从这里诞生的,这里产生了许多 Java 社区中的“思想领导者”。尽管最近的激烈争论有时会带有主观色彩,但 TSS 将始终是许多 Java 内容的发源地,这些内容构成了我们现在所拥有的 Java 系统;同样,从 TSS 总是可以了解各种 Java 技术的历史。
  • DZone
    DZone 最初是一个面向 Java 开发人员的资源站点,但最近它扩展到了其他技术领域。包括 .NET 和 Ruby,以及其他几个主题“专区”。这样,不仅 Java 开发人员可以利用它来专门研究 Java 专区,还会有一些跨平台的内容,聪明的开发人员可以充分利用这一点。
  • developerWorks Java 技术专区
    如果您正在阅读本文,那么您已经找到了 dw。为了解释清楚,我必须强调除本文外,我曾在该站点发表过其他一些文章,但我可以诚实地说,dw 是一个有关 Java 编码和 JVM 的文章和资源的优秀来源。特别注意,请务必查看 Java 理论与实践,这是一个由 Brian Goetz 撰写的长期系列,其中包含一个共分三部分的 JVM 垃圾收集器系列文章,它以一种浅显易懂的方式介绍了 GC 的核心概念。
  • IBM alphaWorks
    alphaWorks 是 developerWorks 的姊妹站点,IBM 研究人员和员工在此提供他们认为会确定未来主流的工具和技术。alphaWorks 提供了十二种不同的类别,从而为 Java 开发人员提供了机会来尝试各种非常超前的工具、语言、库和其他项目 — 它们正处于研究阶段。注意,许多项目是为了证明一个特殊的研究点,然后就会停止,使项目保持在当前的效率状态。警告:有些项目不是开源的,而有些项目不包含源代码。但相当数量的 alphaWorks 项目最终会成为主流,要么成为受 IBM 支持的产品,要么作为可从一些 IBM 开放源码位置下载的可用工具。无论如何,只要关注 alphaWorks,就可以了解 Java 发展的方向以及方式。
  • OnJava
    OnJava 是一个独立运行的站点,用于跟踪活动、记录会议、提供各种有关企业 Java 的观点。事实上,这里提供的大部分信息也可以在别处找到,不过这一点对于几乎所有开发人员门户(包括上面提到的)都是一样的,想了解 Java 的各种开发的开发人员只需打开该站点上的 文章列表,然后逐一阅读。
  • Artima
    Artima 由 Bill Venners 创建,目前已经发展成一个巨大的汇集了文章、博客和访谈的站点,它不是完全侧重于 Java 开发,并且其中还包括了 Java 著作方面的权威(查看 Bill Joy 自 Java 5 出版后,对 Java 语言复杂性的怀疑,以及他用于证明所担心问题的经典示例 — Enum<>)。该站点非常值得您访问。

注意,对于上面大部分站点,为充分利用站点/门户,需要进行某种形式的注册。在撰写本文时,所有文章基本上都是免费的,只需要一个用户名/密码登录,以便它们能惟一识别访问者,还需要提供电子邮件地址,以便定期发送主题新闻资讯或电子邮件(据我所知,所有站点将允许您不提供电子邮箱,但我还未这样做过,因为我发现新闻咨询会不时告诉我一些有趣的、我还不知道的信息,收件箱中的这些邮件是很有用的)。

博客(Weblog)

Blog 使开发人员可以轻松地表达想法、概念、理念、论点并围绕技术展开思想讨论,并了解特定技术领域中非常有影响力的“思想领袖”。此外,博客可以通过提要阅读器在本地使用,提要阅读器将文章/条目下载到本地,以便在脱机时也可以使用。事实上,博客已经变得非常普遍,以至于出现了专门的设备(如 Amazon Kindle)来轻松获取开发人员所需要的信息。

关键在于从几百万个博客中找到感兴趣的内容。每位开发人员都有他自己的选择,哪些需要阅读,哪些不需要,但有些博客是最基本的,包括:

注意(大多数)博客内容都属于个人观点;在这里分享的一些观点可能在以后被证明是错误的 — 永远不要只根据博客条目中的信息来对产品下结论。但如果要使思维过程突破常规,博客将是一种增强技能的强大资源。

包和/或库

跟踪 Java 生态系统中的所有库和包是一项繁杂的工作,并且 Java 开发人员很容易就会忽略这项工作。结果,开发人员常常发现自己正在编写的内容其实已经存在于平台内(只要他们浏览一下就会发现这一点)。

下面列出了“每位 Java 开发人员至少应该知道其存在(最好知道如何使用)的十大 Java 包”:

  • java.lang.reflect
    许多 Java 库和工具都依赖于 Reflection 包,所以了解它成为了一项必要要求(如果在使用时不理解它,会因为安全策略或其他类型的基础设施不匹配问题而导致失败)。与 Reflection 结合使用的还有 Java 5 注释和 java.lang.annotation
  • javax.script
    Java 系统一直在强调动态语言,了解如何从 Java 代码内部使用脚本语言可以使开发人员扩展他们的系统,而不用经历昂贵的编译-链接-运行-测试环节。
  • javax.management java.lang.management
    该管理包也称为 Java 管理扩展(Java Management Extensions,JMX),是一种监视 Java 应用程序运行的强大工具;因此,开发人员应该熟悉和习惯使用 JMX,以便构建实际上可以被系统管理员使用的软件。不要忘记查看随 JDK 一起发布的 jconsole 工具,它演示了一种应用程序健康状况指示板,同时演示了可以构建的内容,它本身就是一个很有用的工具(密切关注构建 jconsole 插件来在 jconsole 内启用脚本支持的脚本 demo,它是任何合格的系统管理员都应该掌握的一个强大工具)。
  • java.util.concurrent.*
    并发性是开发人员在未来十年内将要面临的最大问题,Java 开发人员用来修复并发性 bug 的主要武器就是此包及其子包中的类( .atomic .locks )。学习使用它将与学习编写类一样(甚至更)重要。了解它,使用它,并喜欢上它。
  • java.util
    java.util 中的类同样重要。它们被频繁引用,特别是 Collections 类,所以 java.util.* 应该像 java.lang 那样自动导入。
  • java.beans
    JavaBeans 无疑是整个 Java 生态系统中都要使用的核心元素之一,使用商业含义不是很明显的名称“POJO”(普通的旧 Java 对象)。POJO 仍然基于 JavaBeans 代码、API 和规范,因此花一点时间了解 java.beans 中的类可以帮助编写更好的 POJO。
  • java.util.logging
    诊断和审计日志迅速成为跟踪运行程序执行的强大工具,不管是出于调试目的,还是出于管理和监视目的。我的忠告是:学习使用这个包和其开源的姊妹包 log4j
  • java.security.*
    Java 安全 API、策略机制和权限类是使 Java 环境成为安全计算平台的核心部分,但只有开发人员知道如何利用这个包。避开加密 API — 在详细了解每个对您有用的选项后再使用它们。它们不难使用,但要获取加密权限(意味着没有大的缺陷)需要花费几年的时间,有大量来自其他加密专家的相关评论。首先使用其他机制,如 SSL/TLS 和 GuardedObject/SignedObject/SecureObject 类。
  • javax.xml.parsers.* javax.xml.bind javax.xml.transform.*
    XML 逐渐出现在 Java 开发人员的视野中,能够解析(直接解析或通过对象-XML 库)和转换它(使用 XSLT)是开发人员必须拥有的一项重要技能。
  • javax.sound.*
    这不是一项必需的技能,但知道如何偶尔弹出声音效果可以使原本乏味的代码充满生气。此外,在没有直接可用的显示时,还可以用声音来向系统提供信号和反馈。除此之外,让抛出栈跟踪的机器发出恐怖电影里的尖叫,这样用户可以知道刚刚发生了不好的事情,从而增加了一些刺激的乐趣。

当然,还有许多其他(位于 JDK 内部和外部)的包值得学习,但掌握以上这些就足以使您很好地处理大多数项目,更不用说应付大多数工作面试。

研讨会

研讨会继续在 Java 开发人员的培训中扮演着主要角色,特别是那些还没有获得足够的认可,尚未成为大型培训公司培训课程的主题。研讨会也是开发人员结识其他具备各种技能和职责的开发人员的绝好机会,使与会者有机会做一些非常过瘾的(并且是完全必要的)事情:发泄对工作环境的不满。

参加研讨会也会产生一种有用的副作用(如果积极管理,可以为研讨会锦上添花):与会者可以建立开发人员小组。通过可在世界范围内使用的电子邮件、邮件列表(如 GoogleGroups 或 Yahoo Groups)和许多其他轻量级 groupware 通信工具,了解参加研讨会的人员的信息比以前更加容易。这些通过午餐和晚宴建立起来的友谊可以持续一生,并且随着时间流逝愈加有益,特别是在评估新技术时更是如此。

让一位有着 30 年经验的与会者、演讲者、组织者(不是我,是我的一位朋友)的话为您提供指引:“技术新手参加研讨会是为了通过期间举办的各种会议获取知识,资深人士参加研讨会是为了宴会和结识朋友。宴会帮助您结识朋友,他们可以帮助您提升自己的职业”。

研讨会包括:

  • No Fluff, Just Stuff
    这是一个我特别热衷的研讨会,不仅仅因为我是那里的定期演讲者,而且还因为十大 JavaOne 2007 演讲者中有 7 个人都是 NoFluffJustStuff(目前的或以前的)演讲者。Java 开发人员不会发现比这里更加关注技术主题的讨论,而且也不会找到比它价格更合理、召开位置更便利的会议:您的家乡(北美大陆每年有 30 多场会议 — 范围跨越欧洲和亚洲,这样,您便有机会驱车去参加 NFJS 大会,而不用花几千美元飞到一个遥远的城市并且住在旅馆中)。同样,本文中推荐的许多书籍都是由出席 NoFluff 研讨会的专家编写的,这一点也就不足为奇了,而且 NFJS 的组织者们一直在不遗余力地查找有关各种 Java 和 Agile Development 主题的“重要资源”。
  • JavaOne
    这是一个规模宏大且非常客观的会议,并且一直在旧金山(在这个地方举行有利也有弊,具体取决于您公司的出差预算情况)举行,不过世界上还没有哪一个会议能像 JavaOne 这样把这么多关键 Java 推动者聚集到一个地方。
  • JAOO
    为了不冷落我们的欧洲 Java 同胞,每年在丹麦奥尔胡斯举行一次 JAOO 会议,该研讨会已经举办了将近二十年,并且没有任何衰落的迹象。JAOO 不仅吸引了一些顶尖的演讲者和作家,而且作为一个跨技术的研讨会,在技术方面具有很好的包容性,也就是说,与会者早上可以出席 Java 研讨会,午餐时与一些 C++ 开发人员交谈,下午了解 Microsoft 的 ® Silverlight 的最新发展成果(或任何别的新事物),晚上则与 Smalltalker 喝喝啤酒。如果您想增长见识,JAOO 或它的姊妹会议 QCon(在 InfoQ 工作人员的协力支持下召开)将是一个不错的起点。对那些居住在“澳大利亚或新西兰” 的 Java 同胞,今年(2008)在布里斯班和悉尼首次召开了 JAOO;所有迹象表明,在未来几年来内,将会在这里再次举行 JAOO。
  • Devoxx
    该研讨会是以前的 JavaPolis,在比利时安特卫普这一飞速发展的城市举行,参加这一研讨会是遇见欧洲同行的绝好途径(而且还可以品尝到上等的比利时啤酒)。演讲者都是该领域的首席专家,他们将集中讨论一些尖端技术。该研讨会也提供了优秀的平台和许多机会让您与开发人员同行进行交流。
  • Jazoon
    Jazoon 是一个相对较新的研讨会,2007 年在苏黎世(瑞士)召开。因为参与者名单上有 Martin Odersky(Scala 的创建者)、Neal Gafter 和 Simon Phipps(Sun 的首席开放源码执行官)之类的名字,所以 Jazoon 有望吸引大量演讲者。Jazoon 完全侧重于 Java 主题并在欧洲的中心召开,它有望成为欧洲 Java 同胞们的一项重要日程。

还有其他一些研讨会,目标受众也各不相同,但以上列举的研讨会是直接针对 Java 开发人员的。那些希望扩大自己视野的开发人员应该考虑参加“其他” 技术研讨会,如在世界各地举办的各种 Perl、Python、Ruby 甚至 .NET 会议;接受新的观念有时需要研究一组全新的问题。

书籍

对开发人员而言,没有哪一种资源能比价格便宜的传统书籍更容易获取。只需要去当地的书店(如果您住在边远地区,可通过 Web 浏览器查找 Amazon 来购买书籍),就可以找到大量珍贵的技术知识和经验……只要您肯在大量资源中仔细寻找。

这些书籍假设读者已经有了 Java 语言和工具集的应用知识;Java 入门书籍非常普遍,而且大多数讨论的是相同的基本内容。选择书籍需要一定的技巧,要考虑作者的写作风格,有时甚至要考虑随书光盘中是否包含了练习的参考答案(如果包含了练习的话)。

掌握了基本知识后,考虑阅读以下书籍:

  • Effective Java(第 2 版),Joshua Bloch
    每位 Java 开发人员的书架上必备的第一本书,必须定期翻阅、随时查看。
  • Java Concurrency in Practice ,Brian Goetz
    每位 Java 开发人员书架上必备的第二本书,因为每位 Java 人员(不管他们愿意与否)都会操纵多线程环境的内部。
  • Better, Faster, Lighter Java ,Justin Gehtland 和 Bruce Tate
    这一小巧的册子被许多 Java 开发人员当作攻下以 Spring 为首的“轻量级容器” 环境的“利器”,填补了大多数大型 EJB 服务器(如 WebSphere 或其他事务处理中间件)留下的空白。作者还介绍了基于 POJO 的开发周期,指出了该理念的优点和缺点,以及如何采取更轻量级的方法构建企业应用程序,使用了 Spring 和 Hibernate 这类不会降低生成系统的功能和能力的工具。
  • Effective Enterprise Java ,Ted Neward(我)
    提供 75 种方法来确保企业 Java 应用程序(不管它们是用 Spring、EJB、Web 服务,还是其他技术实现)不会出现问题。就像 Effective Java 不是针对初级 Java 程序员一样,Effective Enterprise Java 同样也不是针对刚开始学习“企业 Java” 基础知识的开发人员。
  • Release It! ,Michael Nygard
    任何打算编写针对生产服务器的软件的人都应该阅读本书 — 它深入探讨了生产环境中可能出现的错误,以及如何处理潜在的故障,要么恢复故障,要么完全避免故障。
  • Inside the Java 2 Virtual Machine ,Bill Venners 或 Component Development for the Java Platform ,Stuart Halloway
    Java 开发人员一旦学习 Java 这门语言后,迟早要了解底层平台 — Java 虚拟机本身,这意味着垃圾收集以及 Reference 对象、ClassLoader、线程和监视器等主题将成为接下来探讨的重点领域。两本书中的任何一本(或两本)都是非常有用的指南。但是这两本书都有一个很大的缺陷:它们的出版时间比较早。Inside 是 Java 1.2 期间出版的,此后不久便出版了 Component-Based。幸运的是,大多数 Java 虚拟机自那时起一直没有发生什么变化,所以如果读者遇到除 JDK 1.2 以外的问题时,可以暂时放下本书并继续研究下一主题。
  • Martin Fowler 撰写的 Patterns of Enterprise Application Architecture 、Gregor Hohpe 和 Bobby Woolf 撰写的 Enterprise Integration Patterns
    说到设计方法和理念,这两本书都是典范,同样假定大部分读者都阅读过由 Gamma、Helm、Johnson 和 VlissidesBoth 合著的经典书籍 Design Patterns。模式书籍通常为开发人员提供了一些基本的概念构建块进行调整和组合,从而创建更健壮的设计,这些构建块在单独使用时就不怎么有效。
  • Java Power Tools ,John Smart
    很多人推荐这本书,它详细介绍了 Java 生态系统中各种可用的工具。Smart 还提供了关于本书的培训课程(Java Power Tools Bootcamp),但大多数开发人员获取信息的最简单方式还是通过 dead-tree 版本。
  • The Pragmatic Programmer ,Andy Hunt 和 Dave Thomas
    每个程序员应该人手一册,不管他实际使用的语言或平台是什么。本书适合有经验的读者和从事多年编程工作的程序员。本书可与 Fred Brooks 的经典著作 The Mythical Man-Month 媲美。
  • The Productive Programmer ,Neal Ford
    这本最近出版的书籍与 Pragmatic Programmer 一样经典,它主要讨论各种技巧和技能,程序员可以借助这些技巧和技能提高他们的效率,获得比 IDE 更高的生产力。
  • The Pragmatic Starter Kit
    本套件由 Pragmatic Unit Testing (with JUnit)Pragmatic Project AutomationPragmatic Source Control (with Subversion) 组成。每本书都清晰、针对性地讨论了各个主题的核心内容,它们直接深入主题,没有涉及其他无关内容。例如,Project Automation 是阅读 Ant in Action 的“开胃书”,但同时也讨论了什么是优秀的构建流程以及构建它们的原因。
  • Ant in Action(第 2 版),Erik Hatcher 和 Steve Loughran
    Ant 是面向 Java 平台的优秀构建实用程序(参阅后面的工具内容了解更多详细信息),本书是目前为止介绍强大 Ant 功能的最佳读物。在学习如何使用 Ant 时,Ant in Action 还演示了单元测试、持续集成和生产部署实践,这一切都是从实际 Java 开发人员的日常实践的角度出发的。

工具

正如盖房子不仅仅是“抡起锤子在板上钉钉子” 一样,Java 开发也不仅仅是“掌握 IDE 并开始编写代码”。好的 IDE 当然能为编写 Java 代码出力不少,但其他的工具也可以提供与 IDE 相等的(也许更好的)价值。

排名不分先后……

  • IDE
    当然,工具讨论首先从 IDE 开始。在避开商业限制方面,Eclipse 和 NetBeans 都是开源且免费的,因而提供了吸引人的“第一步”。
  • 单元测试
    掀起单元测试革命的工具是 JUnit,但其他几个工具也得到普及,包括 TestNG,自然还有 JUnitPerf 等等。
  • 持续集成
    持续集成服务器不断检查不受源控制的代码,执行构建,对它运行单元测试,并通常通过电子邮件向开发人员报告所有构建故障。有几个开源版本可用,但有一个已经得到了广泛关注,即 Hudson,它是一个拥有大量插件和具有高可扩展性的持续集成服务器,它源自 CruiseControl ,它正是因为这一点而声名斐赫。
  • 静态分析
    FindBugs 是一个运行 Java 代码的开放源码静态分析工具,执行 n 向深度分析来找出所有可能的代码路径,并基于一组可扩展规则报告找到的各种错误和警告。FindBugs 由 William Pugh 开发(这位 William Pugh 还发现了 Java 内存模型中的 bug),其最值得炫耀的地方是它能够分析 Java 代码来查找并发 bug,每位程序员都会为之欢呼。
  • 网络包跟踪
    WireShark (以前一般称为 Ethereal)使程序员可以查看网络上传播的内容,让他们有机会检查正在网络上传播的内容是否合适,而那些 合适的内容(比如敏感信息和明文密码)没有出现在网路上。
  • 虚拟化
    类似 VMWare、Xen、VirtualBox 或 VirtualPC 之类的虚拟化工具(或者更准确地称之为平台)使程序员能够创建与生产机器将运行的环境相同的环境,而不失去主机 PC 环境的生产力。它还提供了一种便利方法来在本地尝试“处于试验阶段的” 软件,而不必让处于生产状态的机器冒险。如果不是完全的开源项目,大多数虚拟化工具都提供有某种免费选项。

您不必感到惊讶,这些工具中的其中一些是商业工具;如果一个工具一个星期平均能帮您节约一个小时的时间,您需要多长时间就可以收回购买该工具的资金呢?如果管理人员不认同这个观点的话,那么仔细计算使用某一工具节省的时间(假设是开发人员的时间,或者是产品诊断或执行时间)后,管理员终会发现,他们在这些工具上的吝啬是一件得不偿失的愚蠢事。

向贡献者致谢
感谢所有访问我的博客(blogs.tedneward.com)的读者,他们从百忙中抽出时间来向我推荐应该包含在此列表中的参考资源;他们(当然不是所有人)包括 Greg Ostrovich、Ryan Slobojan、Hamlet D'Arcy(他认为自己是个外星人,正在为 IT 打工来赚钱修复他的宇宙飞船,从而返回自己的星球)、Pierre Marc-Larocque、Prashant Rane、Marc Stock、Eric Kerwin、Morten Anderson、Alex,以及 Yvonne Miller、Rahul Raj、Brian Sletten 和 Neal Ford。

未来趋势展望

当然,Java 开发人员花所有时间来学习当前的技术并不是一件好事,学习完后,新的技术又接踵而至,使学过的所有内容一下子都变得过时了。随时关注“未来发展趋势” 同样重要,惟有这样,当公司 CTO 突然在电梯里问您“我最近听到的函数式语言是怎么一回事,我们需要对此进行研究吗?” 时,您才会给出连贯合理的答复。

排名不分先后,一些围绕 Java 平台的“未来趋势” 包括:

  • 动态语言
    Groovy 和 JRuby 之类的语言衍生出了其他一些值得研究的项目,如 Clojure 和 Fan,试验表明,低强度类型的环境能提供更好的生产力和更多的选项。这并非鼓励您放弃 Java 语言,不过,最好的效果总是来自强强联合。
  • 函数式语言
    其兴起源于 Scala,由于函数语言一般支持复合函数并缺少共享状态,因此提供了隐式并发性的优点(尽管有时它的语法很难让人接受)。Jaskell 是一个 Haskell-on-JVM 实现,同样,Clojure 也适合在这里使用,您可以想象生产环境中的软件事务内存是什么样子。
  • Java 中的闭包
    添加闭包支持(也称为 lambda 或匿名方法)将简化部分 Java 编码工作,对是否在 Java 7 发行版中包含此支持进行过热烈的讨论。社区对此问题的讨论深度不一,因此 Java 程序员有必要花点时间研究这个问题,并看看讨论的所有内容。
  • DaVinci 机器
    JVM 的一个新版本对其他语言(比如上面提到的动态语言和函数式语言)更友好,这最终可能会也可能不会使它进入主流 JVM 发行版。随时关注这一点有助于理解在当前 JVM 上运行动态/脚本语言的利弊。
  • 用户界面开发
    在 Flash/Flex、Silverlight 和 JavaFX 的支持下,Web 浏览器得到了显著的(并且几乎是惊人的)改变。这还不考虑 Java 领域中的新服务器端 Web 框架和 Google Web 工具包(Google Web Toolkit,GWT)之类的特例。用户界面一直是、而且以后将继续是一个吸引人的亮点。了解一到两个(更不必说 Swing 或 SWT 之类的“富客户端” 库)库将对构建比 HTML 页面更具交互性的内容大有裨益。

记住,与任何和“未来” 相关的事物一样,现在讨论的内容可能最终证明是错误的方向、昙花一现的事物、对行业的一种影响,也可能是下一个重大事件;保持开放的思维,同时也要保持适当的怀疑。

结束语

请随意补充此列表 — 最终会得到一份更完善的参考资源列表。因为 Java 世界在不断发展,不断变化和成长,所以列表的内容会随时间而改变。这是一件好事;如果我们必须使用 1995 年时期的 Java 环境,我们早就转向其他技术了。

积极参与到 Java 世界中来:贡献补丁、增强,如果没有合适的贡献,就构建自己的工具。也许您的项目 5 年以内会一直出现在这个列表中。


参考资料


关于作者

Ted Neward 的照片

Ted Neward 是 ThoughtWorks 的一名顾问,ThoughtWorks 是一家在全球提供咨询服务的公司,他还是 Neward & Associates 的主管,负责有关 Java、.NET 和 XML 服务和其他平台的咨询、指导、培训和推介。他现在居住在华盛顿西雅图附近。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离。缓存读取自redis的slave节点,写入到redis的master节点。 Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类需求可以通过快速配置来开发。AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端 JOpenID JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor 的文件持久化组件,以及一个高吞吐量的可靠事务日志组件。 Google地图JSP标签库 利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JSEditor JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件。它以 jar 的形式发布,部署容易,使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器支持运行PHP和其它fastcgi应用程序,将Servlet容器充当成一个FastCGI 的网关。 Java 绘图框架 JGraphEd JGraphEd 是一个 Java 的图形编辑应用和绘图框架。 Java 穿越NAT方案 JSTUN.tar JSTUN 是另外一个用来解决穿越 NAT 进行通讯的 Java 解决方案,是 STUN 协议的 Java实现。 在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列化压缩装入HTTP中。它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的。同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间,因而OAUTH是简易的。目前互联网很多服务如Open API,很多大头公司如Google,Yahoo,Microsoft等都提供了OAUTH认证服务,这些都足以说明OAUTH标准逐渐成为开放资源授权 的标准。 Java的命令行处理类库 JArgs JArgs 是一个 Java 语言用来处理应用程序的命令行参数的类库。 高性能内存消息和事件驱动库 Chronicle Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要用来处理桌面命令,基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来控制 Linux 桌面,例如打开google搜索、鼠标点击、下一窗口、打开帮助、静音等操作。 Java发送短信包 LemonSMS LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 Java日历空间 JCalendarButton JCalendarButton是一个简单的java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码图片。 Java 命令行解析器 JOpt Simple JOpt Simple 是一个简单的、测试驱动的命令行解析器,支持 POSIX getopt() 和 GNU getopt_long() Java的HTTP代理服务器 Smart Cache Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的缓存系统。 高性能的JSON处理 Jackson Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC框架 nfs-rpc nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能,例如UserService.getUserNameById; 2、单连接或多连接; 3、连接复用,因此在多线程获取连接时无需阻塞; 4、同步调用; 5、超时机制; 6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不需要修改主类就可以添加新的API支持) 注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的插件,用来对 HTML 文件内容进行清洗和格式化处理。它采用的是 JTidy 库对HTML进行处理。 INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java 类库,用来提供在命令行中显示进度条的功能。 Tomcat 安装apr 支持 Tomcat Native Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和精确跟踪。 条形码扫描和识别程序 LVBarcode LVBarcode 支持下列的条形码格式:Codabar,I2of5,Code39,ExCode39?,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient 组件。HttpAsyncClient 的出现并不是为了替换 HttpClient,而是作为一个补充用于需要大量并发连接,对性能要求非常高的基于HTTP的原生数据通信,而且提供了事件驱动的 API。 NIO网络框架 xSocket xSocket是一个轻量级的基于nio的服务器框架用于开发高性能、可扩展、多线程的服务器。该框架封装了线程处理、异步读/写等方面。 Java多线程程序死锁检查 JCarder JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具Java类重加载工具 JReloader JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用javaJava批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG(解析表达式语法)分析设施。你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,无缝集成的IDE(语法着色,代码导航,重构等)的语法和操作代码完全分离。最大限度地减少时间和费用开发自定义的DSL(领域特定语言Java)要求。 日志服务器 Apache Flume.tar Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信(MMS)的开发包,支持附件发送。 Oracle数据库工具 WARTS WARTS是一个纯Java数据库工具,可以执行字符编码识别的数据同步。开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,它功能强大,性能良好,秒杀当前流行的模板引擎。而且还易学易用。 Java的COM桥 JCom JCom (Java-COM Bridge) 可以让 Java 程序轻松访问 Windows 平台上的 COM 组件。 JARP JARP是为petri 网提供的一个Java编辑器,基于ARP分析器。可以将网络图导出为 GIF, JPEG, PNG, PPM, ARP and PNML (XML based)文件格式。使用了优秀的JHotDraw 5.2 框架。 activemq(JMS消息服务器 ActiveMQ) ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。 Ajax框架 ZK.rar ZK是一个Ajax Java Web框架,利用少量代码就能够开发出拥有Rich UI的Web应用。ZK提供基于XUL的标记语言和事件驱动的组件,可以让你像开发桌面应用程序一样简单。支持EL表达式和脚本语言包括:JavaScript、Ruby和Groovy等。支持Annotation及数据绑定。集成Google Maps、FCKeditor、DOJO以及Timeline。 Atom协议实现 Abdera.rar Apache Abdera是Atom联合协议(Atom Syndication)和Atom发布(Atom Publication)协议的开源实现,目前尚处于“孵化”阶段。最近,Abdera到达了0.40里程碑版,朝着成功孵化迈出了重要一步。 CKEditor for Java.rar 在线网页编辑插件(用浏览器编辑后所见即所得),支持多种平台下的脚本(asp aspx php cfm Dhtml htc),还集成了上传图片组件,含简、繁中文 cloudxy(弹性云计算平台 Cloudxy).rar Cloudxy 立足于实现虚拟子网(以太网)的弹性云计算平台 该项目主要包含有两个子项目: HLFS - 虚拟机分布式镜像存储 (类似于亚马逊EBS,首先发布出来) ECM - 虚拟环境管理系统 (后续发布) Compass UI 工具 Compass.app.rar Compass.app 是一个针对 Sass 和 Compass 的菜单工具,帮助设计师通过 UI 的方式编译样式,而不用去记住命令行。它是用 JRuby 开发的,可以在多个平台上使用,而不用安装 Ruby 环境。 dnsjava(Java的DNS开发包 dnsjava).rar dnsjava是DNS协议的一个Java开源实现。 DNS服务器 Eagle DNS.zip Eagle DNS 是一个用 Java 语言开发的功能强大的多线程的平台无关的DNS服务器,基于 dnsjava 类库,支持 Primary Zones 和 Secondary Zones。 EclipseHTMLEditor.rar Eclipse HTML编辑器插件 Eclipse的语法着色插件 Colorer Take.rar Colorer Take 能为在Eclipse中打开的各种类型源代码文件按语法着色。支持150多种语言。 ehcache(Java缓存框架 EhCache).rar EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。 Facebook API 的 Java 封装请求处理组件 RestFB.zip facebook的restAPI和graphAPI封装,供java调用。 Facebook个人资料导出工具 fbpwn.zip fbpwn(Facebook个人资料导出工具).rar Google API for Java.zip grimwepa(无线密码破解工具).rar 一个密码破解WEP和WPA加密的接入点(路由器) gtd-free(个人待办事项管理软件 GTD-Free).rar GUI界面引擎 SwiXml.zip Hibernate搜索框架 Hibernate Search.zip HTML5模板引擎 Thymeleaf.zip HTML文档解析器 HTMLParser.rar HTML解析器 jsoup.rar iqq(开源 QQ 工具 iQQ).rar jacob-liang-platform-uus(系统平台统一用户 ).rar jalarm(个人提醒工具 jAlarm).rar Java 3D图形引擎 Catcake.zip Java HTTP服务器 TJWS.zip Java 插件框架 jspf.zip Java 缓存系统 JBossCache.zip Java 计算机视觉库 BoofCV.zip Java-COM中间件 JACOB.zip Javascript 扩展工具包 j-et.rar Java串口开发包 RXTX.zip Java五线谱处理类库 abc4j.zip Java任务调度 jconch.rar Java加密包 Jasypt.zip Jasypt这个Java类包为开发人员提供一种简单的方式来为项目增加加密功能,包括:密码Digest认证,文本和对象加密,集成hibernate,Spring Security(Acegi)来增强密码管理。 Java加密库 JSDSI.rar Java单点登录系统 JA-SIG CAS.rar Java即时战略游戏 StarCraft Ⅰ.rar Java和DLL(COM)互操作 Jawin.zip Java图像处理类库 Java Image Filters.zip Java图形组件 JGraph.rar Java图形验证码 SimpleCaptcha.rar 一套用于生成各种图形验证码的库(Java) Java图表 JFreeChart.zip Java多播通讯框架 JGroups.zip JGroups是一个可靠的群组通讯Java工具包。它基于IP组播(IP multicast),但在可靠性,组成员管理上对它作了扩展。 JAVA字节码操作库 BCEL.zip Java实现的EverBox库 Everbox4j.zip Java实现的Web服务安全规范 WSS4J.zip Java对象验证框架 OVal.zip Java常用工具包 Jodd.zip Java应用服务器 Tomcat.zip Java应用框架 Nutz.rar Java开发的SHELL CRaSH.gz Java推箱子游戏 JSoko.rar Java搜索引擎 Lucene.zip Java时间工具包 JTimepiece.zip Java本地代码绑定工具 jSegue.zip Java本地调用接口 JNative.zip Java条形码生成库 Barcode4J.zip Barcode4J由Java语言编写而成,可以灵活的生成条形码。它采用Apache License V2.0许可,这使得它很容易在商业中被使用。它可以让您生成各种流行的一维和二维条码,包括DataMatrix 和 PDF417。以各种格式输出,包括SVG, EPS, bitmaps和Java2D,同样也可根据您的需要添加自己的输出格式。它为各种应用提供了插件,包括最重要的Apache FOP(格式对象处理器)。有一些用户将Barcode4J部署为一个servlet。 Java桌面搜索 JDesktopSearch.zip JDesktopSearch是一个基于Apache Lucene实现的桌面搜索引擎。它能够索引HTML、XML、OpenOffice、MS Word和PDF文档。其它类型的文件只索引文件名。 Java桌面程序开发框架 Viewa.zip Java模板引擎 FreeMarker.tar.gz Java源代码检索系统 JCite.zip Java的EPUB类库 Epublib.zip Java的HL7解析器 HAPI.zip Java的OpenID服务器 JOIDS.rar Java的UIMA注解类 uimaFIT.zip Java的UI皮肤 Quaqua.zip Java神经网络框架 Encog for Java.zip Java程序监控API Java Simon.zip Java算术表达式计算类库 ExpressionJ.zip Java线程错误捕获工具 CheckThread.zip Java网页浏览器 Lobo.zip Java网页爬虫 JSpider.zip Java视觉处理库 JavaCV.rar Java论坛系统 JForum.zip Java调用本地库 JNAerator.zip Java远程终端工具 JTA.rar Java邮件服务器 James.rar Java邮件检验库 JEmval.zip Java验证码生成库 JCaptcha.rar JAXP数据验证引擎 Serene.zip JBoss事务处理 JBossTS.zip JDBC连接池、监控组件 Druid.zip JFCSwing用户图形界面 SwingML.rar JNI代码生成器 JNIGen.zip JSCSS压缩工具 YUI Compressor.zip JSON查询语言 Jaql.rar JSON类库 Flexjson.zip JSP标签 Noka Tag.rar JS和CSS压缩混淆 JsCompressor.rar js文件压缩工具 Closure Compiler.rar jviolajones(人脸检测算法).rar lobby(经典board游戏 Domination).rar makagiga(开源个人桌面软件 Makagiga).rar MathML渲染器 JEuclid.rar OData的Java实现 odata4j.rar P2P应用程序协议框架 Java BEEP Core.zip paoding(中文分词库 Paoding).rar PDF 文档字体处理 FontBox.zip QQ农场外挂JAVA版本 qqhack.rar QQ登录的Java接口 open-qq.zip ralasafe(访问控制(权限管理)中间件 ).rar RPG游戏引擎 Arianne.zip SAT算法库 OpenSAT.zip sigar_mirror(系统信息收集API_Sigar).rar SNMP的MIB浏览器 JMIBBrowser.zip SQL解析类库 SQLJEP.zip SSH服务端 Apache SSHD.rar swiftp(Android上的FTP服务器 SwiFTP).rar swing-explorer(Swing开发辅助工具).rar Swing开发框架 Griffon.zip tbschedule(淘宝任务调度分配器).rar Tomcat的管理和监控 PSI Probe.zip WebDAV网关 Davenport.rar WebSocket通讯框架 jWebSocket.rar Web代理服务器 RabbIT.tar.gz Web服务框架 Apache Axis.rar Web相册平台 Apache PhotArk.rar Web集成开发环境 Cloud9 IDE.zip WordNet的Java包 JWordNet.zip XML解析器 Xerces.rar Yahoo的分布式流计算平台 S4.rar YAML解析器 SnakeYAML.zip zaproxy(Web渗透测试 Zed Attack Proxy).rar zxing(条形码处理类库).rar 业务流程管理(BPM)和工作流系统 Activiti.zip 个人博客软件 PersonalBlog.zip 个人知识库 Piggydb.zip 中国移动短信协议CMPP封装 hicmpp.zip 中文分词工具包 smallseg.jar 中文分词库 IKAnalyzer.zip 中文自然语言处理工具包 FudanNLP.zip 人工智能工具包 OpenAI.zip 企业信息系统开发平台 JBob.zip 使用Redis存放Session RedisManager.zip 入门级j2ee开源项目 simplejee.zip 全文搜索服务器 Solr.tgz 分布式缓存框架 SwarmCache.zip 加密库 BeeCrypt.zip 即时消息传输平台 Openfire.rar 国产Ajax框架 Buffalo.rar 国产纯Java多核体系结构模拟器 Archimulator.zip 在Java中运行Perl脚本 JERL.zip 坦克机器人战斗仿真引擎 Robocode.zip 多播事件总线 Avis.zip 多环境应用程序框架 WebOnSwing.rar 多用户在线游戏服务器端框架 Marauroa.tar.gz 大文件上传的Java Applet mupload.rar 天乙社区.rar 密钥管理工具 Keytool-IUI.zip 富客户端开发框架 Spring Richclient.tar.gz 开放实时数据处理平台 Twitter Storm.zip 开源JSF组件库 JQuery4JSF.rar 开源LDAP浏览器 JXplorer.zip 开源事务管理器 JOTM.zip 开源工作流系统 JWFD.rar 开源搜索系统 Red-Piranha.zip 开源日志管理 Logstash.jar 开源机器人技术中间件 OpenRTM-aist.zip 开源的Swing组件 JIDE.zip 开源足球游戏 Slam Soccer.rar 异步IO框架 Cindy.rar 懒惰者代码生成器 IdlerCodeGenerator.zip 拼写检查器 Hunspell.gz 指纹识别开发包 SourceAFIS.zip 数字图书制作工具 EpubCheck.rar 数据库连接池 C3P0.src.zip 数据持久层框架 Hibernate.zip 文件上传控件 GWTUpload.rar 文件压缩解压缩包 Commons Compress.rar 文件系统API EntityFS.zip 文字识别工具 Eye.zip 文本加密解密工具 ImmediateCrypt.zip 无线消息交换服务 HomerMX.zip 日历同步统计 GCALDaemon.zip 日历控件 Click Calendar.rar 最快速的java代码生成器 rapid-generator.zip 服务框架 Dubbo.rar 服务端JavaScript框架 RingoJS.rar 桌面博客工具 Thingamablog.zip 桌面图形计算器 GraphingCalculator.jar 桌面软件开发框架 joyWindow.zip 游戏引擎 JBox2D.zip 源问答系统 OpenEphyra.zip 漏洞检测程序 Yasca.zip 用户界面框架 XUI.rar 短信收发包 SMSLib.zip 磁盘的KV存储 JDBM2.rar 程序代码编辑器 jEdit.tar.bz2 第三代的P2P网络 ANts 简约的微博同步程序.zip 编程脚本引擎 Fantom.zip 网络应用框架 Netty.tar.bz2 网络抓包工具 jpcap.zip 网络数据包捕获函数库 jNetPcap.zip 网页抽取工具 Krabber.rar 联系人导出 ContactList.zip 表达式解释引擎 JSEL.rar 语音合成系统 FreeTTS.rar 调用远程API规范 XINS.zip 豆瓣OAuth认证示例项目.rar 跨平台的文件同步工具 Capivara.rar 远程文件传输工具 MammothCopy.tar.gz 通用数据底层 Jsa4j.zip 遗传算法包 JGAP.zip 重复数据删除 Duke.zip 面向对象的JavaScript框架 Dojo.rar 面向对象的脚本语言 ObjectScript.tar.gz 高性能Java网络框架 MINA.zip 高性能web代理程序 hyk-proxy.rar 高性能的Java 3D引擎 Xith3D.zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值