java 轻量应用服务器 java 轻量级_java 轻量应用服务器


很多Java初学者在刚开始会被一些诸如环境搭建、软件构建等问题所迷惑,本文将给出答案,帮助初学者找到正确答案,快速上手Java开发。


java 轻量应用服务器 java 轻量级_开发人员_02


Java自从1996年发布1.0版本以来,到今年已经有24年了。在编程语言领域可以说是是“老将”了。即使是在近几年新兴编程语言层出不穷情况下(GOLANG,NODEJS),仍然活跃在企业级开发领域。究其原因是Java生态链的完整和成熟特点。

在Java已发行的版本中,有几个重要的节点。

1.Java5.0(2004年9月30日发布)

从此版本开始,Java版本的命名方式发生了大的变化(之前的版本名称为Java1.4)。5.0版本增加了一些重要的特性:

  • 自动装箱/拆箱
  • 增强的for循环
  • 枚举enum
  • 静态导入
  • 并发编程工具包

2.Java8(2014年3月18日发布,长期支持版本)

8.0版本增加了以下新特性(功能)

  • Lambda表达式支持
  • 注解类型
  • 可以嵌入javascript代码
  • 日期和时间处理API
    -JavaFx

在JDK 8 update 25以后,Java8.0不再支持WinXP系统。此版本是Oracle公司的长期支持版本,即如果在使用过程中发现JDK中BUG,官方会进行修复并发布更新版。Oracle官方提供Java 8的公共更新和自动更新,个人用户至少到2020年12月底,商业用户则至少到2019年1月。

3.Java 11(2018年9月25日发布,长期支持版本)

此版本对于开发人员来讲,并不像Java8那样让人眼睛一亮。提供的重要新功能/特性有:

  • 新增ZGC(可扩展低延迟)垃圾收集器
  • 新增Epsilon(无人操作)垃圾收集器

Java 11也是Oracle公司继Java 8后公开提供长期支持的版本,因此可以在生产环境中使用。因此,对于开发者来说,学习Java语言时,建议学习Java 8,环境部署时可以选择Java 11。

当前Java的发行时间保持在每年的3月和9月。2020年3月17日,Oracle公司发布了Java 14。此版本主要新增特性有:-instanceof模式匹配-新的打包工具jpackage

当前Java14仍然处于“成长期”,因此建议不要在生产环境中使用。

综上所述,根据Java语言的新特性以及是否要应用在生产环境来比较,Java 8是开发者首选版本。其新增的新特性,仍然值得开发人员仔细学习研究。

二、开发工具选择

当前Java主流的开发工具为Eclipse和IDEA。

Eclipse

2001年IBM公司发布,开源IDE环境。其支持通过安装插件,对Eclipse功能进行扩充。Eclipse可以支持Java、python、c++等语言作为开发环境。

IDEA

2001年Jetbrains公司发布。它与Eclipse同样支持当前的流行编程语言,同样支持插件安装进行功能扩展。IDEA在发行时分为社区版和无限制版。前者面向Java和Android开发人员,后者则面向Web和桌面应用开发人员。

在一项2019年面向Java开发者的调研中显示,70%以上的Java开发者使用IDEA作为开发环境。

从我使用的体验来看,IDEA优于Eclipse的地方体现在:

1.符合现代IDE的预期。

当前各类新型编程语言层出不穷,作为开发者来说,已经不能用以前的陈旧思想来看现代化的编程语言了。例如,把Java语言与NodeJS比较,Java语言与Go语言比较,Java语言与Ruby语言比较。后者的这些语言在开发时,实际上比Java语言更加高效。

Java语言的生命力依然强劲,得益于Spring生态环境。Spring生态当前包括了Spring IOC/AOP,Spring MVC,Spring Data,Spring Boot,Spring Security,Spring Batch,Spring Cloud。Spring已经成为Java企业级开发的标准配备。

在项目管理上,Git成为主流的版本管理工具,Maven成为主流的构建及依赖管理工具。Docker容器也成为很多企业部署时的首选方式。基于上述特点,要求开发环境能够支持开发者便捷的进行管理。这是IDEA目前优势之一。

2.更加便捷的代码编写-调试-重构

IDEA在快捷键上支持Eclipse方式 ,在代码调试上只需要在行左侧进行标注即可; 代码辅助功能对于开发人员更友好,提供选项更多。同时,在重构代码时(例如抽取方法、抽取参数)提供的建议更加人性化。

三、构建工具选择

在Java和Android开发时,主要使用的构建工具主要为Gradle和Maven。在早期还有Ant工具。

选择哪种构建工具,取决于项目类型。如果进行Android开发,首选Gradle。如果进行Java开发,首选Maven。

Gradle于2007年发布,2013年被谷歌作为Android开发的首选构建工具。Maven是apache下的项目。

两者在设计时的侧重点不同。Gradle侧重于自动化构建,包括程序编译构建、测试、发布和部署。Maven的核心是POM(pom.xml)文件,在此文件中可以定义项目代码中的依赖包、插件、打包部署方式等。当程序在编译时,Maven则从仓库中获取依赖库包。Maven的侧重点是提供一种统一的构建工具。当程序需要部署时,只需在本地运行mvn clean package命令,maven则会进行依赖库包下载、编译、测试、打包工作,当需要部署时,只需要运行mvc deploy命令。

当前流行的Spring Boot项目,在初始化(http://start.spring.io)时使用maven作为默认构建工具。

因此,Maven已作为Java企业级开发标准的构建工具

四、框架技术选择

Java企业级开发中,框架技术最多。所谓框架,可理解为房子的框架。即框架已经给开发人员提供了预先设计和编写好的代码供其使用。例如Struts框架,是MVC模式的实现,用于简化表示层方面的开发。基于Struts框架开发,只需要学习Struts框架对于MVC的实现,以及对于页面开发时的增强技术。

Spring框架是企业级开发的标配(标准)。Spring强大的生态环境,可以非常方便开发人员进行Web开发、微服务开发等。企业级开发中使用框架还有:ORM框架---Hibernate、MyBatis。MVC框架--Struts/Struts2。

常说的SSH即Struts+spring+hibernate; SSH2即Struts2+Spring+Hibernate; SSM即Struts+Spring+Mybatis.在学习时建议先学习SSM框架

五、Web服务器选择

Tomcat是当前主流容器

Tomcat的流行原因,个人理解取决于两点。第1点是:Tomcat是轻量级和开源的软件,且可运行在多平台上。第2点是:Tomcat的更新是与Java语言更新同步的。这个更新也表明,Tomcat在一直进行代码漏洞修复和特性新增的。Tomcat依靠强大的Apache基金会,在不缺钱和不缺技术的前提下,自然会发展的更好、走的更远