ecosystem

第二章 Java生态系统 (Java Ecosystem)

Java的成功不仅仅是因为Java语言的众多特性,更重要的是,Java有着一套庞大而富有生机的生态系统。本章着重介绍Java生态系统的几个重要方面,如有遗漏,欢迎读者给我们来信或者留言。

1 Java 版本 (Java Editions)

如果我们谈到Java,通常情况下,这是指的Java标准版本Java SE(Java Standard Edition)。实际上,Java还有其他版本。

  1. Java SE (Java Standard Edition)。Java标准版本提供了对Java语言的支持。开发人员能够使用Java SE在服务器和桌面环境开发Java应用程序。
  2. Java EE (Java Enterprise Edition)。在Java SE的基础上,Java企业版本为企业级用户提供了更多的API接口和服务,帮助他们更好的、更快速的开发出企业级应用程序。
  3. Java ME (Java Micro Edition)。Java ME是一个Java SE的精简版本,主要服务于物联网(IoT, Internet of Things)中设备应用程序的开发。这个版本的主要目标是为不同种类的设备提供灵活的、可移植的和安全的服务。
  4. Java Embedded。Java Embedded主要为嵌入式系统提供Java语言的支持。
  5. Java Card。Java Card主要是针对智能卡和资源极为有限的环境提供Java语言的支持。
  6. Java TV。Java TV专门为智能电视和机顶盒提供Java语言的支持。

2 Java 开发环境

2.1 JDK (Java Development Kit)

JDK是Java应用程序的开发环境。JDK包括了开发所需要的工具,例如,编译器(javac),调试器(JDB),打包工具(jar),Java交互式命令行工具(JShell),文档生成器(javadoc),和所有JRE所包含的内容。

2.2 JRE (Java Runtime Environment)

JRE是java实时运行环境。它包含了所有需要运行一个Java程序的部件和工具。这些包括:Java虚拟机(JVM),Java标准库(所有class文件),和启动Java程序的命令java。

2.3 Oracle JDK和OpenJDK

Oracle JDKOpenJDK是目前最流行的两个JDK。Oracle JDK完全是由Oracle公司开发和维护的Java开发环境。为了给用户提供更优质稳定的服务,Oracle JDK的更新和升级更为慎重,周期更长。Oracle JDK提供两个版本的许可证(License)。出于个人用途的产品可以免费使用Oracle JDK;而商业用户/产品需要向Oracle支付使用费用。OpenJDK则是由Java开源社区开发和维护的Java开发环境。Oracle只是其开源社区中的一位成员。OpenJDK提供开源且较为稳定的版本。版本更新周期比Oracle JDK短。因为OpenJDK提供开源、稳定的版本,被众多Linux厂商设置为默认的Java开发环境。

2.4 IDE (Integrated Development Environment)

Java集成开发环境一般将Java代码编辑器、Java编译器、Java调试器、代码版本管理工具等开发工具集成在一个环境中,为开发人员浏览、调试、运行代码提供便利。当前流行的Java IDE环境有EclipseNetBeansMicrosoft VS CodeIntelli IDEAJGrasp常常用于教学,在课堂内使用。

2.5 Java构建工具 (Java Build Tools)

目前较为流行的Java构建工具是MavenGradle。Maven是基于项目对象模型(POM, Project Object Model)管理项目的。模块之间能够独立构建和测试。Maven还提供了库文件(Jar文件)的集中管理办法。Gradle综合了Ant和Maven的优点,能够自动处理包的依赖关系和自动发布版本。

2.6 静态分析工具 (Static Source Code Analyzer)

静态分析工具是一种通过静态分析源代码,检测代码错误的工具。静态分析工具无需运行代码;它通过分析代码的模式(Patterns),为开发人员提供一份详细的分析报告。开发人员可根据报告中的指导改进代码。注意:静态分析工具并不能检测出所有的问题。常用的Java静态分析工具有:PMDspotbugs

2.7 代码规范检查

代码规范是一种指导如何编写和格式化代码的准则。一般工作于同一项目的开发人员会使用同一种编码规范。是否遵守编码规范不会影响代码的正确性,但是,它会影响代码的可读性。代码规范检查工具是一种静态代码分析工具,它无需运行代码。常用的代码规范检查工具有:Checkstyle

3 Java 社区

Java Community ProcessJEP (Java Enhancement Proposal)。Java Community Process和JEP是为了改进和发展Java语言而设立的流程。但凡对Java语言特性以及未来版本有兴趣的开发人员,都能向Java Community Process或者JEP发出提议。提议会在正式的会议上讨论并表决。

4 Java 开源代码库

Java社区是开源社区中最为活跃的一个社区,因此,Java有着庞大的开源代码库。在这里,我们仅列出一小部分常用的代码库。我们会在后续章节中选择重要的代码库介绍给大家。

  1. 开源Java开发环境: OpenJDK
  2. 开源Java应用程序框架:Spring
  3. 开源Web服务器: Apache TomcatJetty
  4. 开源日志库:Apache Log4Jlogback
  5. JSON和XML库:Simple-JsonGSONJackson
  6. Web Service库:Jersey
  7. 图形图像处理库:Apache Common Imaging
  8. 单元测试库:JUnit
  9. 数据库连接池库:DBCPHikariCP
  10. 移动设备操作系统:Android
  11. 更多...

5 Java 与 Scala

与Java相比,Scala是一门较新的编程语言。目前,Scala的热度正在逐年上升。Scala运行于Java Virtual Machine(JVM)之上。Scala编译器会将源代码翻译成JVM识别的二进制文件(.class文件)。Scala能使用Java的代码库,同时也能够与Java代码相互调用。Scala支持纯的面向对象程序设计;所有的变量或者值都是对象。Scala也支持函数式编程,函数在Scala中是一级公民(First-Class Citizen),即:函数和其他变量、参数一样;能使用变量的地方都能使用函数(例如,一个函数能作为另一个函数的入参或者出参)。Scala还有很多特性,能帮助开发人员高效的开发和维护代码。因此,在学习使用了Java之后,Scala也是非常值得学习和使用的一门编程语言。

上一章
下一章

注册用户登陆后可留言

Copyright  2019 Little Waterdrop, LLC. All Rights Reserved.