Java的成功不仅仅是因为Java语言的众多特性,更重要的是,Java有着一套庞大而富有生机的生态系统。本章着重介绍Java生态系统的几个重要方面,如有遗漏,欢迎读者给我们来信或者留言。
如果我们谈到Java,通常情况下,这是指的Java标准版本Java SE (Java Standard Edition)。实际上,Java还有其他版本。
JDK是Java应用程序的开发环境。JDK包括了开发所需要的工具,例如,编译器(javac),调试器(JDB),打包工具(jar),Java交互式命令行工具(JShell),文档生成器(javadoc),和所有JRE所包含的内容。
JRE是Java实时运行环境。它包含了所有需要运行一个Java程序的部件和工具。这些包括:Java虚拟机(JVM),Java标准库(所有class文件),和启动Java程序的命令java。
Oracle JDK和OpenJDK是目前最流行的两个JDK。Oracle JDK完全是由Oracle公司开发和维护的Java开发环境。为了给用户提供更优质稳定的服务,Oracle JDK的更新和升级更为慎重,周期更长。Oracle JDK提供两个版本的许可证(License)。出于个人用途的产品可以免费使用Oracle JDK;而商业用户/产品需要向Oracle支付使用费用。OpenJDK则是由Java开源社区开发和维护的Java开发环境。Oracle只是其开源社区中的一位成员。OpenJDK提供开源且较为稳定的版本。版本更新周期比Oracle JDK短。因为OpenJDK提供开源、稳定的版本,被众多Linux厂商设置为默认的Java开发环境。
Java集成开发环境一般将Java代码编辑器、Java编译器、Java调试器、代码版本管理工具(Version Control)等开发工具集成在一个环境中,为开发人员浏览、调试、运行代码提供便利。当前流行的Java IDE环境有Eclipse,NetBeans,Microsoft VS Code,Intelli IDEA。JGrasp常常用于教学,在课堂内使用。
目前较为流行的Java构建工具是Maven和Gradle。Maven是基于项目对象模型(POM, Project Object Model)管理项目的。模块之间能够独立构建和测试。Maven还提供了库文件(Jar文件)的集中管理办法。Gradle综合了Ant和Maven的优点,能够自动处理包的依赖关系和自动发布版本。
静态分析工具是一种通过静态分析源代码,检测代码错误的工具。静态分析工具无需运行代码;它通过分析代码的模式(Patterns),为开发人员提供一份详细的分析报告。开发人员可根据报告中的指导改进代码。注意:静态分析工具并不能检测出所有的问题。常用的Java静态分析工具有:PMD和spotbugs。
代码规范是一种指导如何编写和格式化代码的准则。一般工作于同一项目的开发人员会使用同一种编码规范。是否遵守编码规范不会影响代码的正确性,但是,它会影响代码的可读性。代码规范检查工具是一种静态代码分析工具,它无需运行代码。常用的代码规范检查工具有:Checkstyle。
Java Community Process 和 JEP (Java Enhancement Proposal)是为了改进和发展Java语言而设立的流程。但凡对Java语言特性以及未来版本有兴趣的开发人员,都能向Java Community Process或者JEP发出提议。提议会在正式的会议上讨论并表决。
Java社区是开源社区中最为活跃的一个社区,因此,Java有着庞大的开源代码库。在这里,我们仅列出一小部分常用的代码库。我们会在后续章节中选择重要的代码库介绍给大家。
与Java相比,Scala是一门较新的编程语言。目前,Scala的热度正在逐年上升。Scala运行于Java Virtual Machine(JVM)之上。Scala编译器会将源代码翻译成JVM识别的二进制文件(.class文件)。Scala能使用Java的代码库,同时也能够与Java代码相互调用。Scala支持纯的面向对象程序设计;所有的变量或者值都是对象。Scala也支持函数式编程,函数在Scala中是一级公民(First-Class Citizen),即:函数和其他变量、参数一样,能使用变量的地方都能使用函数(例如,一个函数能作为另一个函数的入参或者出参)。Scala还有很多特性,能帮助开发人员高效的开发和维护代码。因此,在学习使用了Java之后,Scala也是非常值得学习和使用的一门编程语言。
注册用户登陆后可留言