1. J2EE实际上是一组规范(新手对规范这个词可能云里雾里的,没有办法,JAVA概念太多了,大部分概念慢慢就会理解),没错,J2EE这个概念并不是某种技术,而是一堆规范(实现意义上可以说是一堆技术)组成的,在老手的嘴里它是一堆概念。J2EE规范有的是标准的,有的不是标准的。标准的含义就是被SUN公司JDK体现与兼容,成为业界遵循的准则。比如,Servlet,当它成为标准规范以后,就会在JDK里得到支持和体现,中间件开发商就会去实现它,我们就要按照这种标准开发应用。还有Struts,它是开源组织Apache开发的规范,不是标准的,但以后可能会成为标准。所以,合格的J2EE程序员,不仅是掌握了多少JAVA的编写规范,而是掌握了多少J2EE开发平台的规范(包括标准和非标准的)。

2. 各种中间件是一种规范。

中间件的意义在于,它已经实现了每个应用都需要的底层基础部分。比如,WebLogic和Jboss,它已经提供了应用容器,和Servlet,JDBC,JNDI,JMS和 WebService等接口。开发者在这个基础上,可以很容易而且可以很好去实现这些功能,从而使开发者集中经历,去解决应用的业务逻辑。通常,业务逻辑是千变万化的,但是底层实现却有迹可循,中间件开发商承担了底层实现的责任。目前,绝大部分应用都是基于现成的中间开发的,作为j2ee程序员,掌握主流的中间件是基本的职业要求之一。

3. 各种框架也是一种规范。

中间件使开发者从底层实现中解放出来,基于框架的开发使开发者从程序基本架构中解放出来,从而更彻底的将精力转到业务逻辑领域。也许某天,程序设计和构架就是那么回事,框架一上就ok,开发者的主要任务已经彻底转到业务逻辑领域。所以,以后出色的开发者,是那些对业务能透彻领悟的人,程序构架则由建模行家担当。但是,基于框架开发,不是忽略框架,因为大部分业务逻辑的实现,都是基于框架的。而且,当现有的框架不能满足需求时候,还需要扩展框架甚至被迫另外开发框架。J2EE程序员,熟悉主流的框架也是职业要求,最好还要知道各框架的优劣和特性。

4. 各种设计模式和设计思想也是一种规范。

这是一种更高级更抽象的规范,甚至是一种思维层次上的规范,有时候只能意会不能言传。有人曾经问一位得道高僧,禅是什么?高僧回答说,禅就是打柴挑水。如果把写程序比作出家当和尚,学习和实践设计模式就是打柴挑水。学习设计模式,你就可以站在巨人的肩上,吸收前人现成的优秀的开发经验。JDK都在不断实践这种抽象规范。

正是这些标准和非标准的规范,促进了JAVA应用的发展和繁荣。随着业界的发展,还将有各种开发规范诞生,这些规范只是JAVA程序某一中原则的优秀实现而已,只要我们深谙JAVA(面向对象)的开发思想,就能做到不变应万变,融会贯通各种新规范,新标准。

学习J2EE,也许就是学习这些现成的规范,不过这已经够了,如果想在J2EE方面有所建树,需要你的创造性劳动。

原文链接:认识J2EE规范或标准以及J2EE和JEE有什么不同?

认识J2EE规范或标准以及J2EE和JEE有什么不同?的更多相关文章

  1. J2EE规范 - 13种规范

    J2EE是由SUN提出的用于简化开发企业级应用程序的一系列规范的组合,J2EE基于中间层集成的框架的方式为应用开发提供了一个统一的开发平台.基于容器管理.组件化的模型为企业建立一个高可用性,高可靠性可 ...

  2. J2EE规范

    J2EE是由SUN提出的用于简化开发企业级应用程序的一系列规范的组合,J2EE基于中间层集成的框架的方式为应用开发提供了一个统一的开发平台.基于容器管理.组件化的模型为企业建立一个高可用性,高可靠性可 ...

  3. 以EJB谈J2EE规范

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/xiaoduishenghuogo/article/details/24800703 接触J2EE的时 ...

  4. 【J2EE】在项目中理解J2EE规范

             J2EE平台由一整套服务(Service),应用程序接口(API)和协议构成,它对开发企业级应用提供了功能支持.13个核心技术各自是JDBC, JNDI, EJB, RMI, JSP ...

  5. python代码规范与标准库参考

    python代码规范与标准库参考 python代码规范参考文献: http://www.runoob.com/w3cnote/google-python-styleguide.html https:/ ...

  6. Atitit 我们的devops战略与规划 规范 推荐标准

    Atitit 我们的devops战略与规划 规范 推荐标准 1. Vm容器化1 2. 热部署tomcat+jrebel 或者resin1 3. 增量更新与差异更新1 4. 补丁提取与应用2 为了方便提 ...

  7. J2EE规范标准

    J2EE是一个很大的平台体系,提供了很多服务.程序接口.协议等.这么庞大的体系必须要由一系列的标准进行规范,不然将会一片混乱.通过这些规范好的接口来开发程序将会使程序更加强壮.更加有生命力.总的来说, ...

  8. Java基础之J2EE规范

    什么是J2EE? 在企业级应用中,都有一些通用企业需求模块,如数据库连接,邮件服务,事务处理等.既然很多企业级应用都需要这些模块,一些大公司便开发了自己的通用模块服务,即中间件.这样一来,就避免了重复 ...

  9. J2EE规范总结

    概述 J2ee是我们步入java学习的一个開始.它将开启这趟奇幻之旅,Java是一种简单的,跨平台的,面向对象的,分布式的.解释的.健壮的安全的.结构的中立的,可移植的.性能非常优异的多线程的,动态的 ...

随机推荐

  1. Zookeeper之Zookeeper的Client的分析

    1)几个重要概念 ZooKeeper:客户端入口 Watcher:客户端注册的callback ZooKeeper.SendThread: IO线程 ZooKeeper.EventThread: 事件 ...

  2. 【X-Forwarded-For】WEB修改访客IP

    X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段. Squid 缓存代理服务器的开发人员最早引入了这一HT ...

  3. django ORM入门

    简单总结一下迟老师今天下午上课时讲的ORM操作 目录: 一.首先配置django连接mysql数据库                                             二.在自己 ...

  4. scala工程导入报错:scalatest_2.10-1.9.1.jar is cross-compiled with an incompatible version of Scala (2.10).

    错误原因: The Scala IDE tries to check if binary incompatible Scala libraries have been inadvertently mi ...

  5. angular 兼容ie7 bootstrap2兼容ie6

    http://stackoverflow.com/questions/12709745/angular-routing-not-working-in-ie7/12891208#12891208

  6. MyBatis 批量插入获取自增 id 问题解决

    问题: 通过 MyBatis 进行批量插入时,如果我们想获取插入对象所对应的主键 id,做法是直接在 <insert> 标签中直接加入 useGeneratedKeys.keyProper ...

  7. MongoDB不支持批量插入

    mongodb的结构与关系型数据库不同,它类似树状结构,可以很方便对每个分支进行操作,但它没有像mysql那样insert(value.value.value...)那样的语法,也不支持transac ...

  8. GitHub限制上传单个大于100M的大文件

    工作中遇到这个问题,一些美术资源..unitypackage文件大于100M,Push到GitHub时被拒绝.意思是Push到GitHub的每个文件的大小都要求小于100M. 搜了一下,很多解决办法只 ...

  9. Adventures in Functions

    速度还行,两天看完一章,就是有细节没去扣.书上的大部分知识点和代码都看了,这个还是可以的. 今天继续来学习函数的高级特性,要涉及到以下的主题. 内联函数(inline function) 引用变量(r ...

  10. sed——linux下对文本当控制操作(替换,追加)

    sed——linux下对文本当控制操作(替换,追加) 2011-12-12 19:27:17 分类: LINUX Linux下sed命令 1. Sed简介 sed 是一种在线编辑器,它一次处理一行内容 ...