Java常用术语及解释

 在Java编程中,常常用到一些专业术语或缩写,这些术语往往是看起来似曾相识,只记得在哪里见过却记不得意味着什么。这种感觉对诸多萌新程序员来说就格外的不友好,特此在这里整理了一些自己在工作中遇到的以及网上诸多大佬收集的术语,希望能对各位有所帮助。

一.Java SE 、Java EE、 Java ME

(1) Java SE (Java Platform, Standard Edition) -标准版本:

J2SE 包含那些构成Java语言核心的类。比如:数据库连接、接口定义、输入/输出、网络编程

(2) Java EE (Java Platform,Enterprise Edition) -企业版本:

J2EE 包含J2SE 中的类,并且还包含用于开发企业级应用的类。比如:EJB、servlet、JSP、XML、事务控制

(3) Java ME (Java Platform,Micro Edition) -微型版本:

Java ME 又称为 J2ME(Java Platform,Micro Edition),是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的Java API。

J2ME 包含J2SE中一部分类,用于消费类电子产品的软件开发。比如:呼机、智能卡、手机、PDA、机顶盒

2005年6月,JavaOne 大会召开,SUN 公司公开 Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME。

二.JRE 与 JDK

JRE: Java运行环境

JRE 是 Java Runtime Environment 缩写,指Java运行环境,是Sun的产品。运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库

JDK: Java开发工具(包含JRE)

JDK 是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

JSR:

JSR 是Java Specification Requests的缩写,意思是Java 规范提案。

是指向 JCP (Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。

JSR已成为Java界的一个重要标准。

JCP:

JCP (Java Community Process) 是一个开放的国际组织,主要由Java开发者以及被授权者组成,职能是发展和更新。

三.JAR、 EAR、 WAR 包文件

(1) JAR:Java Archive

JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件)。

JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。

JAR包,通常是将多个 class 文件压缩成一个文件,可作为一个类库供其他项目引用。

(2) EAR: Enterprise Archive file

EAR 包含内容:Servlet、JSP页面、JSP标记库、JAR库文件、HTML/XML文档和其他公用资源文件,如图片、音频文件等; 除了包含JAR、WAR以外,还包括 EJB 组件。

(3) WAR: Web Application Archive

WAR 与 JAR 类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织,是做好一个web应用后,通常是一个网站,打成包部署到容器中。

四.Java虚拟机: JVM

JVM 是 Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

Java 语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。

而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。

Java 语言使用 Java虚拟机 屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

Java虚拟机 在执行字节码时,把字节码解释成具体平台上的机器指令执行。

这就是 Java 的能够“一次编译,到处运行”的原因。

五.应用服务器: Tomcat

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

六.Java Servlet 技术

Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。

使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。

Java Servlet 通常情况下与使用 CGI (Common Gateway Interface,公共网关接口)实现的程序可以达到异曲同工的效果。但是相比于 CGI,Servlet 有以下几点优势:

性能明显更好。

Servlet 在 Web 服务器的地址空间内执行。这样它就没有必要再创建一个单独的进程来处理每个客户端请求。

Servlet 是独立于平台的,因为它们是用 Java 编写的。

服务器上的 Java 安全管理器执行了一系列限制,以保护服务器计算机上的资源。因此,Servlet 是可信的。

Java 类库的全部功能对 Servlet 来说都是可用的。它可以通过 sockets 和 RMI 机制与applets、数据库或其他软件进行交互。

Java Servlet 为创建基于 web 的应用程序提供了基于组件、独立于平台的方法,可以不受CGI程序的性能限制。

Java Servlet 有权限访问所有的 Java API,包括访问企业级数据库的 JDBC API。

七.JSP: JavaServer Pages Technology

JSP全称Java Server Pages,和PHP, ASP类似,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。

八.Java Expression Language (JEXL)-EL表达式

EL主要作用: 获取数据:

EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象、获取数据。

九.JSF: JavaServer Faces

JavaServer Faces (JSF) 是一种用于构建 Java Web 应用程序的标准框架(是Java Community Process 规定的JSR-127标准)。

它提供了一种以组件为中心的用户界面(UI)构建方法,从而简化了Java服务器端应用程序的开发。

典型的JSF应用程序包含下列部分:

  • 一组JSP页面
  • 一组后台 bean(为在一个页面上的UI组件定义的属性和函数的 JavaBean 组件)
  • 应用程序配置资源文件(定义页面导航规则、配置bean和其它的自定对象,如自定义组件)
  • 部署描述文件(web.xml)
  • 一组由应用程序开发者创建的自定义对象(有可能)
  • 一些可能包含自定义组件、约束、转换器或者监听器的对象
  • 一组自定义tag为在页面中表现自定义对象

包含JSP页面的JSF应用程序也使用由为了表现UI组件和在页面上的其他对象的JSF技术而定义的标准的tag库。

十.Java Applet

Applet 是一种 Java 程序。它一般运行在支持 Java 的 Web 浏览器内。因为它有完整的 Java API支持,所以Applet 是一个全功能的 Java 应用程序。

 

十一.JavaBean

JavaBean 是特殊的Java类,使用J ava语言书写,并且遵守JavaBean API规范。

JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。

JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,set和get方法获取。

十二.简单的Java对象: POJO

POJO (Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。

  • PO: Persistant Object. 持久对象,数据;

  PO 是 Persistant Object 的缩写,用于表示数据库中的一条记录映射成的 java 对象。

  PO 仅仅用于表示数据,没有任何数据操作。

  通常遵守 Java Bean 的规范,拥有 getter/setter 方法。

  • DTO: Data Transform Object. 传输对象,前端调用时传输 ;

  DTO 通常用于不同服务或服务不同分层之间的数据传输。

  DTO 与 VO 概念相似,并且通常情况下字段也基本一致。

  但 DTO 与 VO 又有一些不同,这个不同主要是设计理念上的,比如 API 服务需要使用的 DTO 就可能与 VO 存在差异。

  通常遵守 Java Bean 的规范,拥有 getter/setter 方法。

  • VO: Value Object. 表现对象,前端界面展示。

  VO 是 Value Object 的缩写,用于表示一个与前端进行交互的 java 对象。

  这里的 VO 只包含前端需要展示的数据即可,对于前端不需要的数据,比如数据创建和修改的时间等字段,出于减少传输数据量大小和保护数据库结构不外泄的目的,不应该在 VO 中体现出来。

  • BO: Business Object. 业务对象,封装对象、复杂对象 ,里面可能包含多个类;

  BO 包括了业务逻辑,常常封装了对 DAO、RPC 等的调用,可以进行 PO 与 VO/DTO 之间的转换。

  BO 通常位于业务层,要区别于直接对外提供服务的服务层:

  BO 提供了基本业务单元的基本业务操作,在设计上属于被服务层业务流程调用的对象,一个业务流程可能需要调用多个 BO 来完成。

  • DAO 是 Data Access Object 的缩写,用于表示一个数据访问对象。

  使用 DAO 访问数据库,包括插入、更新、删除、查询等操作,与 PO 一起使用。

  配合 VO, 提供数据库的 CRUD 操作

  DAO 一般在持久层,完全封装数据库操作,对外暴露的方法使得上层应用不需要关注数据库相关的任何信息。

  DO:(Domain Object),领域对象

  就是从现实世界中抽象出来的有形或无形的业务实体。一般和数据中的表结构对应。

  TO:(Transfer Object) ,数据传输对象

  在应用程序不同 tie( 关系 ) 之间传输的对象

  上面说的 PO、VO、DTO 都是典型的 POJO。而 DAO、BO 一般都不是 POJO,只提供一些调用方法。

猜你喜欢

转载自blog.csdn.net/a159357445566/article/details/109085377