java企业级应用之术语篇 2007-04-25 来自:java060515
在了解完J2ee的相关周边产品之后需要深入J2ee规范内部去了解一下到底这些规范
这里介绍几个最常用的规范
再继续说下去之前有必要说几个常识
Java的诞生
Java之父James Gosling早年从cmu毕业之后
从事了一段时间的开发工作,后来意外碰到一个项目
这个项目要求他用C++开发,但可爱的JG是天才,凡是天才在某方面特别突出的同时
必然有一些天生的缺陷,恩,或说共性,比如说懒,急躁和傲慢
JG既然是天才,那就必然具备这些共性,JG懒,以至于他学不好C++
不仅他学不好,当年开发出Java的那个团队也都学不好C++
他们急噪,以至于他们中有人甚至威胁以辞职的方式离开这个需要使用CPP开发的项目
他们傲慢,所以他们决定开发出一种新的语言来取代那个该死的CPP
更可爱的是,他们一开始居然给这门语言起名C++++--//没错,我没敲错
叫什么C加加 加加减减,意思是加上一些好东西,减去一些坏东西
天才的设定,有时候你会发现天才和傻瓜真的只有一线之隔
还好这个可爱的名字没有被继承下来,这些天才们给他们的产物起名叫Oak//橡树
只是后来当他们去注册这个名字的时候,发现这个名字已经被注册了
于是在Sun公司的一个女职员//mm就是心细,这个说法也是我们公司mm告诉我的
的提议下,把这个可爱的语言起名为Java,就是他们当时喝的咖啡的名字
所以我们看到Java的标志就是一杯冒着热气的咖啡
JavaBean
了解完Java之后,再来说说什么是JavaBean//华为面试题
JavaBean是什么?
咖啡豆
ja,更为科学点的解释是
用java语言编写的可重用的软件组件//组件的定义前面说过了,不再重复
很形象不是么?
将javabean放入杯子//容器,还记得容器的概念么?web容器,ejb容器
就可以冲泡//编译
成咖啡,供客人们品尝//运行
完美的服务
下面进入正题
再谈容器
前面介绍过容器,我觉得有必要再补充一点
容器从某种意义上说其实就是一个可运行的java写的应用程序
犹如c++/c编译后生成的.exe文件
不同的是java编译后的文件需要用命令行或者脚本启动执行
由于容器是由java写的,所以容器都能够跨平台
虽说如此,似乎大部分容器都针对不同的操作系统提供了不同的版本
但可以肯定的一点是,相同容器间的移植组件不需要重新编译
Servlet
web容器组件
Servlet确切地说,就是web容器运行的java组件
与普通javabean不同的是,Servlet定义了一系列方法//比如init()和destroy()
供容器调用,调用的主要目的是为了管理
当一个request请求被web容器截获之后,容器分析该请求地址
然后通过一个配置文件中的映射表//web.xml
调用相应的Servlet组件处理后将结果返还给客户端
JSP//Java Server Page
web容器组件
Servlet出现了之后,人们发现几乎没有办法用一个非常直观的方式去编写页面
毕竟页面是html语言编写的
而让我们用一种流程式的处理方式去逐行教计算机如何写html代码太困难
在这种情况下JSP应运而生,JSP将java代码嵌入html代码内部
然后存成.jsp文件,再由计算机编译生成Servlet储存起来//注意这个过程
所以JSP和Servlet对于web容器来说其实是一种东西,虽然它们编写遵循的标准有所不同
极大地简化了代码同时增加了代码的可读性,生产维护成本下降
值得一提的是,在制定JSP规范的过程中,借鉴了ASP的很多规范
写过ASP并熟悉Java语言的人应该能很快掌握JSP
EJB//Enterprise JavaBean
ejb容器组件
随着时间的推移,人们发现普通的JavaBean似乎并不能满足企业级应用的需要
最典型的就是虚拟机提供的垃圾回收收集机制也就是GC不够完善
可以优化的余地极大,在这种情况下,EJB应运而生
EJB和其它组件一样,不过遵循了某些规范而已
但是这些规范更多的是为充分利用机器并提高性能为主要目的的
举个简单例子
比如某个web服务器有100个用户同时连接上
由于网络连接是瞬时连接,所以很多时候并发数并没有100那么大
前一秒有可能有30个请求被发送过来并被处理
后一秒可以只有10个请求被发送过来并被处理
只有在非常非常极端的情况下才有可能发生100个请求同时被发送过来并被处理的情况
那么我们是否需要保留100个那么多个对象在服务器的内存里面去处理这些请求呢?
很显然,不需要,大多数时候//甚至可以说是所有时候,我不相信有那么极端的情况
我们只需要保存其中的10-30%就够了,那么什么时候需要20%,什么时候需要50%
甚至100%,这个过程就交给容器去管理,这就是ejb容器每天在干的事
管理内存中活跃的对象
恩,必须强调的一点是,由于使用的不成熟
我们经常把规范以及具体的应用两个名词混用
举个简单例子,我们说Servlet,极有可能说的是Servlet规范
也有可能说的是一个具体的Servlet,这个就要看情况而定了
EJB,JSP也是如此
JDBC
和数据库的连接
这个严格说来是数据库产商需要关心的事
关于AppServer如何与数据库的连接
但是也需要开发人员做一点事,因为AppServer不知道什么时候组件需要用到数据库
同时也需要开发人员告诉AppServer他们使用的是什么数据库,ip地址等等
JDBC就是关于这一套东东的规范
包括数据库的产商应提供什么样的接口
AppServer应用服务器应该如何去连接
开发人员应该如何去配置这些连接等等
还有一些数据源,连接池等概念参考相关数据在此就不再赘述
其它的规范比如JMX等确切地说与开发人员关联并不大了
这类高级应用只对AppServer应用服务器产商重要
也不再罗嗦了
分享到:
相关推荐
EJB是Java企业级应用的标准组件模型。 - **定义**:EJB是Java平台提供的一个组件模型,用于构建可移植、健壮的企业级应用程序。 - **类型**:EJB主要包括三种类型:会话Bean、实体Bean和消息驱动Bean。 #### ...
【企业级应用开发】是IT领域中的一个重要主题,它涵盖了为大型企业和组织设计、构建和维护高效、可扩展且可靠的软件系统的实践。这份2013年12月度的《企业级应用开发》答题卡反映了当时教育机构,如北京八维软工学院...
Spring AOP是Spring框架的一个重要组成部分,它为Java企业级应用提供了切面编程的实现。Spring AOP允许开发者专注于核心业务逻辑,而把非业务相关的关注点,如日志、事务管理等,分离出来,从而提高开发效率和代码可...
11. **EJB(Enterprise JavaBean)**:企业JavaBean,Java EE平台上的组件模型,用于构建可部署的、分布式的企业级应用。 12. **DTOs(Data Transfer Objects)**:数据传输对象,用于在系统之间传递数据,通常用于...
Java 2 Enterprise Edition(J2EE)是一组用于构建企业级应用程序的标准和技术规范。它基于 Java SE 并在此基础上添加了许多企业级特性和服务,如 EJB(Enterprise JavaBeans)、JTA(Java Transaction API)、JDBC...
这些术语是Java开发者理解和编写企业级应用的基础,掌握它们有助于深入理解Java生态系统,并能更有效地进行开发工作。随着技术的发展,新的术语和概念不断涌现,持续学习和了解最新的技术趋势对于Java开发者来说至关...
- **企业级Java Bean(Enterprise Java Beans)**:Java平台为企业级应用提供的组件模型。EJB主要包括会话Bean、实体Bean和消息驱动Bean三种类型,它们各自服务于不同的应用场景。 #### Hibernate - **Hibernate**:...
6. **Java 2 Platform Enterprise Edition (J2EE)**:J2EE 提供了一个用于构建企业级分布式应用的框架,包括Web服务器、应用服务器和一系列标准组件,如Servlet、JSP和EJB。 7. **Java 2 Micro Edition (J2ME)**:...
全书包含3个部分,基础篇对Java企业级应用的安全知识、密码学核心知识、与Java加密相关的API和通过权限文件加强系统安全方面的知识进行了全面的介绍;实践篇不仅对电子邮件传输算法、消息摘要算法、对称加密算法、...
4. J2EE(Java 2 Platform, Enterprise Edition)、J2ME(Java 2 Platform, Micro Edition)、J2SE(Java 2 Platform, Standard Edition):这是Java的三个平台版本,它们分别针对企业级应用、移动设备和桌面应用。...
总结来说,Albedo开源框架是Java企业应用开发的一款强大工具,它融合了SpringBoot2.x的自动化配置和MyBatis的灵活数据库操作,为企业级应用开发提供了便捷、高效的解决方案。通过使用Albedo,开发者可以节省大量时间...
13. **EJB(Enterprise JavaBeans)**:EJB是Java用于构建企业级应用的组件模型,包括会话Bean、实体Bean和消息驱动Bean,提供事务、安全和并发控制等功能。 14. **Hibernate**:Hibernate是一个流行的O/R Mapping...
J2EE则面向企业级应用,支持服务器端的Web应用、数据库连接、多层架构等。J2ME则专为资源有限的设备如手机、智能电视等设计,用于开发移动应用和嵌入式系统。 JAVA的语法与C++相似,但去除了C++的一些复杂性和潜在...
EJB(Enterprise JavaBeans)则是一种Java EE标准,用于实现企业级应用的组件模型。 3. **Weblogic JNDI**:Java Naming and Directory Interface,是一种查找和引用分布式环境中对象的标准API。Weblogic JNDI 提供...
首先,Java EE(Java 2 Platform Enterprise Edition)是面向企业级应用的开发平台,提供了构建电子商务应用的框架。Java SE(Java 2 Platform Standard Edition)则用于桌面应用和简单的商务应用,支持CORBA和RMI...
文档提到Spring Framework多次,强调了其在Java企业级开发中的重要性。Spring的核心特性包括依赖注入(IoC),面向切面编程(AOP),事务管理,数据访问等。 2. Java EE和J2EE: Java EE(现在称为Jakarta EE)是...
2. J2EE(Java 2 Enterprise Edition):面向企业级应用,如服务器端开发、分布式系统和Web服务。 3. J2ME(Java 2 Micro Edition):针对嵌入式设备和移动应用。 学习 Java 的目标不仅是理解它的语言特性,还要...