JAVA SE,JAVA EE两者之间的关系与区别

  在大学里学java,我们主要学一些JAVA数据类型、条件分支、循环、IO流、字符操作、集合、线程、Socket通信、桌面应用程序(Swing/Awt)等基础知识。这些知识是JAVA的核心基础,也就是我们所说的JAVA SE。JAVA SE不是一个软件,只是一种抽象的概念而已。要学的东西就是以上这些。
  学完这些以后我们就可以做一些桌面应用了,这也是JAVA SE最初的定位:应用于个人计算机上的“标准版”,也可以称之为C/S(client/server)模式的应用。如果你不满足与写一些只在电脑上跑的程序,还想写一些网站,想写一些在服务器上运行的程序,即B/S(browser/server)模式的应用程序,那么这个时候你就该去学JAVA EE了。
  JAVA EE,企业版,其实就是一套规范,用JAVA语言来做企业开发的一套规范。比如类怎么封装,网页的请求要用什么方法处理,语言编码一类的处理,拦截器啊什么的定义,请求返回得有什么信息等等这些规范。实际使用的还是JavaSE的那些东西,多出来的就是EE的一些规范类的封装代码
  那么为什么要规范化呢?以Java EE的子集Servlet为例,我们现在用Servlet可以相对轻松的写出一个动态Web站点。而在Java EE出现以前,如果要用Java SE写一个动态Web站点,需要自己造轮子从头开始写起,从与浏览器建立TCP连接,到解析HTTP协议请求,到生成HTTP协议请求……一大堆事情都要自己来做。关键问题是,像建立TCP请求、解析HTTP请求等这种繁琐而又占用时间的事情,每次写网站的都要重复来做,每次做的都是一样的,于是人们就想为什么不把这些每次重复的模块做成一个个的轮子来用呢?但是又在由谁造轮子的问题上产生了分歧,于是一个叫JCP的组织决定,把程序的接口约定好,大家一起来按照接口造轮子,最后消费者喜欢用谁家的轮子就用谁家的轮子。然后Java EE就产生了,这组接口就叫Java EE各家自己造的轮子(如Tomcat、GlassFish、IBM WebSphere)就叫做Java容器。我们基于JAVA EE写的Java代码与Java容器的关系就像是CD与播放器的关系一样。如果我们要自己制作一首新歌曲,只需要制作一个CD唱片就好了,播放器这种轮子,直接就可以用来播放我们制作的CD唱片了。
  所以有了JAVA EE的诸多接口,我们不仅可以避免大量的重复劳动,还能保证大家都按照这套规范来办事,无形之中提高了开发效率。显然以前的JAVA SE是做不到这一点的。这也是JAVA EE和JAVA SE的本质区别。

本文参考yan_huihui博主的《java ee与java se 区别》一文,仅仅是用来学习,不涉及营销目的。    

发布了2 篇原创文章 · 获赞 2 · 访问量 260

猜你喜欢

转载自blog.csdn.net/weixin_44386939/article/details/86761075