1、Java 技术名词解释1. Java、Java SE、Java EE/J2EE 是什么?Java :是 Sun 公司推出的一种编程语言。它是一种通过解释方式来执行的语言,语法规则和 C+类似。Java 平台根据 API 和使用领域,主要分为三种技术:1)Java SE (旧称 J2SE) - Java Platform, Standard Edition,定位在客户端,主要用于桌面应用软件的编程;2)Java EE (旧称 J2EE) - Java Platform, Enterprise Edition,定义在服务器端Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和 ER
2、P 系统;3)Java ME (旧称 J2ME) - Java Platform, Micro Edition,主要应用于嵌入式系统开发,如手机和 PDA 的编程。2. Core java 是什么?Core java 是基于网络的纯面向对象编程语言,适用于编写各式各样的软件,适用于各种平台与操作系统,编译后的代码能在互联网上传递,并确保用户安全运行,因而是当前最富有生命力的计算机编程语言之一。3. JavaScript 是什么?JavaScript 是一种能用在网页中的脚本语言。它的发明者是网景公司,本来的名字叫LiveScript。JavaScript 的语法类似 Java4HTML 是什么
3、?HTML 是描述网页结构的方式。5Struts 是什么?Struts 是目前非常流行的基于 MVC 的 Java Web 框架。Jakarta-Struts 是 Apache 软件组织提供的一项开放源代码项目,它为 Java Web 应用提供了模型视图控制器(ModelViewController,MVC) 框架,尤其适用于开发大型可扩展的 Web 应用。6. Hibernate 是什么?Hibernate 是一个开放源代码的 O/R Mapping ( Object-Relational Mapping) 对象关系映射它对 JDBC 进行了轻量级的对象封装,使程序员可以随心所欲地使用对象编
4、程思维来操纵数据库。是业界比较推崇的 ORM(O/R mapping) ,目前的版本已经非常稳定和成熟。7. Ajax 是什么?Ajax 彻底颠覆了传统 Web 应用在用户交互方面的模式,这是不可否认的。在传统的 Web 体验当中,用户已经习惯了,在请求服务器数据之后的等待和显示这些数据时的页面刷新,这种交互方式是低效和不连贯的。Ajax 所倡导的方式则能够大大优化用户的使用感受。由于在服务器和浏览器之间的数据传递交由 JavaScript 控制,开发人员得以跳出以往严格的请求应答模式从而构建更具有用户友好性的 Web 应用。8.Spring 是什么?Spring framework 是一个基
5、于 AOP(Aspect oriented programming)和 IOC(Inversion of control)的一站式的解决方案,具有全面的和模块化的所有层次,实现了非 J2EE 的声明式编程,能够简化对已有技术(例如 Jdbc、Hibernate)的综合使用。9. Eclipse 和 NetBeans 是什么?Eclipse 是由 IBM 提供的免费开源软件,是 Java 的开发工具。Netbeans 是由 Sun 推出的免费开源软件,同样是 Java 的开发工具。10. JBuider 是什么?JBuilder 是一个非常全面的 IDE 开发工具。JBuilder 是收费软件,
6、把很多的技术都集成在了一起,使用者可以不需要了解究竟这个技术是怎样完成的,只需要了解 JBuilder 是怎么使用就可以了。11. Weblogic 是什么?BEA 公司的 WebLogic 是用于开发、集成、部署和管理大型分布式 Web 应用、网络应用和数据库应用的 Java 应用服务器。它将 Java 的动态功能和 Java Enterprise 标准的安全性引入大型网络应用的开发、集成、部署和管理之中。12.Websphere 是什么?Websphere 是 IBM 的 Java 开发环境,服务器等一整套工具。类似于 Weblogic。websphere application serv
7、er 应用服务器,websphere application developer(WSAD)开发工具。除此以外还有很多 websphere 产品线的工具。13. JBoss 是什么?JBoss 服务器是一种优秀的 J2EE 服务器,和 BEA 的 Weblogic,IBM 的 Websphere 属于同类产品,JBoss 的优势在于具有良好的性价比。JBoss 为完全开放源码的免费软件,而且具有良好的运行效率和可靠性,因此已经得到越来越多的 J2EE 应用开发者的青睐。14. Tomcat 是什么?Tomcat 是 Sun 的 JSWDK(JavaServer Web Development
8、Kit)中 Servlet 的运行环境(servlet 容器)。Tomcat 的源代码被提供给 Jakarta 项目,在 Open Source 的模型下进行进一步的开发。Tomcat 是一个 Server 容器,同样的,EJB 运行在 EJB 的容器中。Tomcat 是 Sun 的 Apache-Jarkarta 的一个子项目,是一个开放式原码,免费支持 JSP 和Servlet 技术的容器,它同时又是一个 Web 服务器软件。15. Android 是什么?Android 是 Google 于2007年11月5日宣布的基于 Linux 平台的开源手机操作系统的名称,该平台由操作系统、中间件
9、、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。Android 以 java 为编程语言。16SSH 是什么?SSH 在 J2EE 项 目 中 表 示 了 3种 框 架 ,即 Spring + Struts +Hibernate173G 是什么?3G 是第三代移动通信技术(3rd-generation,3G) ,是指支持高速数据传输的蜂窝移动通讯技术,将 无 线 通 信 与 国 际 互 联 网 等 多 媒 体 通 信 结 合 的 新 一 代 移 动 通 信 系 统 。 未 来 的3G 必 将 与 社 区 网 站 进 行 结 合 ,3G 服务能够同时传送声音及数据信
10、息,速率一般在几百kbps 以上。18JDBC 是什么?JDBC(Java Database Connectivity)Java 数据库连接。19XML 是什么?XML 是描述数据的方式。20JSP 是什么?JSP 即 JavaServer Page。21Servlet 是什么?Servlet 是一种独立于平台和协议的服务器端的 Java 应用程序,可以生成动态的 Web 页面。它担当 Web 浏览器或其他 HTTP 客户程序发出请求,与 HTTP 服务器上的数据库或应用程序之间的中间层。22. MVC 是什么?模型视图控制器(MVC)是 Xerox PARC 在八十年代为编程语言 Small
11、talk80发明的一种软件设计模式,至 今已被广泛使用。最近几年被推荐为 Sun 公司 J2EE 平台的设计模式,并且受到越来越多的使用 ColdFusion 和 PHP 的开发者的欢迎。23. EJB 是什么?一个技术规范:EJB(Enterprise JavaBean) 从技术上而言不是一种“产品“EJB 是一种标准描述了构建应用组件要解决的:可扩展 (Scalable)、分布式 (Distributed)、事务处理 (Transactional)、数据存储(Persistent)、安全性 (Secure)24. Web Services 是什么?BEA 在标准团体中发挥着领导作用,它提供
12、了编程模型、架构、安全性和事务支持,让开发人员、J2EE 专家和应用程序开发人员可以构建、部署、管理和集成企业级 Web services。25SOA 是什么?面向服务的架构(SOA)是一种设计方法学,其目的是最大限度地重用应用程序中立型的服务以提高 IT 适应性和效率。26. OOA/D 是什么?1)OOA 面向对象分析方法(Object-Oriented Analysis,OOA) ,是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。2)OOD 面向对象的设计方法(Object-Oriented Design,OOD) 是一种解决软件问题的设计范式(paradi
13、gm) ,一种抽象的范式。27. UML 是什么?Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG 标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。28. PL/SQL 是什么?PL/SQL 是 ORACLE 对标准数据库语言的扩展,ORACLE 公司已经将 PL/SQL 整合到 ORACLE 服务器和其他工具中了,近几年中更多的开发人员和 DBA 开始使用 PL/SQL。29. GUI 是什么?GUI(Graphical User Int
14、erface)人机交互图形化用户界面。是一种结合计算机科学、美学、心理学、行为学,及各商业领域需求分析的人机系统工程,强调人-机-环境三者作为一个系统进行总体设计。30. JQuery 是什么?jQuery 是 继 prototype 之 后 又 一 个 优 秀 的 Javascrpt 框 架 。 其 宗 旨 是 WRITE LESS,DO MORE,写 更 少 的 代 码 ,做 更 多 的 事 情 。 Query 是 一 个 快 速 的 , 简 洁 的javaScript 库 , 使 用 户 能 更 方 便 地 处 理 HTML documents、 events、 实 现 动 画 效 果
15、,并 且 方 便 地 为 网 站 提 供 AJAX 交 互 。 jQuery 还 有 一 个 比 较 大 的 优 势 是 , 它 的 文 档 说 明很 全 , 而 且 各 种 应 用 也 说 得 很 详 细 , 同 时 还 有 许 多 成 熟 的 插 件 可 供 选 择 。 jQuery 能够 使 用 户 的 html 页 保 持 代 码 和 html 内 容 分 离 , 也 就 是 说 , 不 用 再 在 html 里 面 插 入一 堆 js 来 调 用 命 令 了 , 只 需 定 义 id 即 可 。31DWR 是什么?DWR(Direct Web Remoting)是一个用于改善 web
16、 页面与 Java 类交互的远程服务器端Ajax 开源框架,可以帮助开发人员开发包含 AJAX 技术的网站.它可以允许在浏览器里的代码使用运行在 WEB 服务器上的 JAVA 函数,就像它就在浏览器里一样。32. Junit 是什么?JUnit 是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架( regression testing framework) 。Junit 测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit 是一套框架,继承 TestCase类,就可以用 Junit 进行自动测试了
17、30. Ant 是什么?编 译 打 包 工 具 -AntAnt 是一种基于 Java 的 build 工具。理论上来说,它有些类似于(Unix)C 中的 make ,但没有 make 的缺陷。目前的最新版本为:Ant 1.8.1。Ant 用 Java 的类来扩展, (用户)不必编写 shell 命令,配置文件是基于 XML 的,通过调用 target 树,就可执行各种 task。33.Junit 是什么?JUnit 是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架( regression testing framework) 。Junit 测试是程序员测试,即所谓白
18、盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit 是一套框架,继承 TestCase类,就可以用 Junit 进行自动测试了。34. Log4j 是什么?Log4j 是 Apache 的一个开放源代码项目,通过使用 Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI 组件、甚至是套接口服务器、NT 的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代
19、码。35. OSCache 是什么?OSCache 由 OpenSymphony 设计,它是一种开创性的 JSP 定制标记应用,提供了在现有 JSP页面之内实现快速内存缓冲的功能。36. CGLib 是什么?cglib 是 一 个 开 源 项 目 ! 是 一 个 强 大 的 ,高 性 能 ,高 质 量 的 Code 生 成 类 库 ,它 可 以 在运 行 期 扩 展 Java 类 与 实 现 Java 接 口 。 Hibernate 用 它 来 实 现 PO 字 节 码 的 动 态 生 成。37. FreeMarker 是什么?FreeMarker 允 许 Java servlet 保 持 图
20、 形 设 计 同 应 用 程 序 逻 辑 的 分 离 , 这 是 通 过 在 模板 中 密 封 HTML 完 成 的 。 模 板 用 servlet 提 供 的 数 据 动 态 地 生 成 HTML。 模 板 语 言 是强 大 的 直 观 的 , 编 译 器 速 度 快 , 输 出 接 近 静 态 HTML 页 面 的 速 度 。FreeMarker 是 一 个 模 板 引 擎 , 一 个 基 于 模 板 生 成 文 本 输 出 的 通 用 工 具 , 使 用 纯 Java编 写FreeMarker 被 设 计 用 来 生 成 HTML Web 页 面 , 特 别 是 基 于 MVC 模 式
21、的 应 用 程 序 , 它 不是 一 个 Web 应 用 框 架 , 而 适 合 作 为 Web 应 用 框 架 一 个 组 , FreeMarker 更 适 合 作 为 Model2框 架 ( 如 Struts) 的 视 图 组 件 , 你 也 可 以 在 模 板 中 使 用 JSP 标 记 库 , FreeMarker 是 免 费 的38. JFreeChart 是什么?JFreeChart 是 JAVA 平 台 上 的 一 个 开 放 的 图 表 绘 制 类 库 。 它 完 全 使 用 JAVA 语 言 编 写 ,是 为 applications, applets, servlets 以
22、 及 JSP 等 使 用 所 设 计 。 JFreeChart 可 生成 饼 图 ( pie charts) 、 柱 状 图 ( bar charts) 、 散 点 图 ( scatter plots) 、 时 序 图( time series) 、 甘 特 图 ( Gantt charts) 等 等 多 种 图 表 , 并 且 可 以 产 生 PNG 和JPEG 格 式 的 输 出 , 还 可 以 与 PDF 和 EXCEL 关 联 。39. Jasperreports 是什么?JasperReports 是 一 个 用 Java 开 发 的 开 源 的 程 序 库 , 使 用 户 能 够
23、透 过 它 , 利 用 Java语 言 来 开 发 具 有 报 告 功 能 的 程 序 。 JasperReports 的 模 版 采 用 XML 格 式 , 从 JDBC 数据 库 中 撷 取 合 适 的 资 料 , 并 把 资 料 在 屏 幕 、 打 印 机 显 示 , 或 以 PDF、 HTML、 XLS、 CSV及 XML 等 各 种 格 式 储 存 。 JasperReports 的 报 告 模 板 可 以 以 iReport 之 类 的 工 具 来 制作 , 只 要 把 报 告 储 存 成 XML 格 式 , 就 可 以 让 JasperReport 阅 读 , 然 后 再 编 译
24、 成 为 .jasper 档 。40. Lucene 是什么?Lucene 是 apache 软 件 基 金 会 4 jakarta 项 目 组 的 一 个 子 项 目 , 是 一 个 开 放 源 代 码5的 全 文 检 索 引 擎 工 具 包 , 即 它 不 是 一 个 完 整 的 全 文 检 索 引 擎 , 而 是 一 个 全 文 检 索 引擎 的 架 构 , 提 供 了 完 整 的 查 询 引 擎 和 索 引 引 擎 , 部 分 文 本 分 析 引 擎 ( 英 文 与 德 文 两 种 西方 语 言 ) 。 Lucene 的 目 的 是 为 软 件 开 发 人 员 提 供 一 个 简 单
25、易 用 的 工 具 包 , 以 方 便 的 在 目标 系 统 中 实 现 全 文 检 索 的 功 能 , 或 者 是 以 此 为 基 础 建 立 起 完 整 的 全 文 检 索 引 擎41. JBPM 是什么?JBPM, 全 称 是 Java Business Process Management(业 务 流 程 管 理 ), 它 是 覆 盖 了 业务 流 程 管 理 、 工 作 流 、 服 务 协 作 等 领 域 的 一 个 开 源 的 、 灵 活 的 、 易 扩 展 的 可 执 行 流 程 语言 框 架 。 jBPM 是 公 开 源 代 码 项 目 , 它 使 用 要 遵 循 Apache
26、 License。42. JNDI 是什么?英 文 全 称 是 :Java Naming and Directory Interface术 语 解 释 : 一 组 帮 助 做 多 个 命 名 和 目 录 服 务 接 口 的 API。JNDI(Java Naming and Directory Interface)是 SUN 公 司 提 供 的 一 种 标 准 的 Java命 名 系 统接 口 , JNDI 提 供 统 一 的 客 户 端 API, 通 过 不 同 的 访 问 提 供 者 接 口 JNDI SPI 的 实 现 ,由 管 理 者 将 JNDI API 映 射 为 特 定 的 命 名
27、 服 务 和 目 录 系 统 , 使 得 Java 应 用 程 序 可 以和 这 些 命 名 服 务 和 目 录 服 务 之 间 进 行 交 互 。 JNDI(Java Naming and Directory Interface)是 一 个 应 用 程 序 设 计 的 API, 为 开 发 人 员 提 供 了 查 找 和 访 问 各 种 命 名 和 目 录 服务 的 通 用 、 统 一 的 接 口 , 类 似 JDBC 都 是 构 建 在 抽 象 层 上 。43. JMS 是什么?jms 即 Java 消息服务(Java Message Service)应用程序接口是一个 Java 平台中关
28、于面向消息中间件(MOM)的 API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java 消息服务是一个与具体平台无关的 API,绝大多数 MOM 提供商都对 JMS 提供支持。44JAAS 是什么?Java Authentication Authorization Service(JAAS,Java 验证和授权 API)提供了灵活和可伸缩的机制来保证客户端或服务器端的 Java 程序。Java 早期的安全框架强调的是通过验证代码的来源和作者,保护用户避免受到下载下来的代码的攻击。JAAS 强调的是通过验证谁在运行代码以及他她的权限来保护系统面受用户的攻击。45JSF 是什
29、么?JavaServer Faces(JSF) 是 一 种 标 准 的 J2EE 表 示 层 的 技 术 , 其 主 旨 是 为 了 使 Java 开 发 人 员 能 够 快 速 的 开 发 基 于 Java 的 Web 应 用 程 序 。 它 不 同 于 其 它 Java 表 示 层技 术 的 最 大 优 势 是 其 采 用 的 组 件 模 型 , 事 件 驱 动 ! 是 java ee 目 前 主 流 框 架 spring的 一 个 重 要 特 性 , 为 javaweb 开 发 提 供 强 大 支 持 。46JPA 是什么?JPA 全称 Java Persistence API.JPA
30、通过 JDK 5.0注解或 XML 描述对象关系表的映射关系,并将运行期的实体对象持久化到数据库中。47JVM 是什么?Java Virtual Machine( Java 虚 拟 机 ) , 它 是 一 个 虚 构 出 来 的 计 算 机 ,是 通 过 在 实 际的 计 算 机 上 仿 真 模 拟 各 种 计 算 机 功 能 来 实 现 的 。 Java 虚 拟 机 有 自 己 完 善 的 硬 件 架 构 ,如 处 理 器 、 堆 栈 、 寄 存 器 等 ,还 具 有 相 应 的 指 令 系 统 。 JVM 屏 蔽 了 与 具 体 操 作 系 统 平台 相 关 的 信 息 ,使 得 Java 程 序 只 需 生 成 在 Java 虚 拟 机 上 运 行 的 目 标 代 码 (字 节 码 ),就 可 以 在 多 种 平 台 上 不 加 修 改 地 运 行 。 Java 虚 拟 机 在 执 行 字 节 码 时 ,实 际 上 最 终 还 是把 字 节 码 解 释 成 具 体 平 台 上 的 机 器 指 令 执 行 。