Java SE 和 EE 的具体区别在哪里?

2017-03-14 10:57:40 +08:00
 karia

基本语法还是 JAVA ,那么编译器和 JAVA 虚拟机都不需要改动;

还是说仅仅调用了——比如, Tomcat 提供的 jar 包,调用了 servletAPI ——就能称为 EE “平台”了?

那应该是提供这些 jar 包的容器的功劳呀,跟 Java 本身有何干系?

所谓 servletAPI 也无非是包含着 servlet.class 的 jar 包提供的可继承方法?

4076 次点击
所在节点    Java
8 条回复
ixiaohei
2017-03-14 11:03:35 +08:00
java ee 几乎都是规范,具体到各个厂家去实现。比如 servlet 中间件 tomcat 就是 java ee 规范的一种实现
vilen1
2017-03-14 11:42:48 +08:00
尝试使用抛弃了 Servlet 的 Playframework1 2 之类的框架就能理解了
Michaelssss
2017-03-14 11:50:18 +08:00
SE 也不过就是 rt.jar 提供的一堆.java/.class 文件,本质上没区别
jedrek
2017-03-14 12:04:44 +08:00
@vilen1 就是这样
clearbug
2017-03-14 12:10:43 +08:00
一流的公司都是制定标准,二流的公司去实现,三流的公司是基于实现开发应用
Cbdy
2017-03-14 12:30:38 +08:00
se 是平台、 ee 是标准

ee 标准通常附有参考实现,也可以使用其他实现,或者自己实现
使用标准的好处移植性好,还省去了自己设计的麻烦,有可能自己设计架构半天没人家标准好用
标准不一定是好的设计,比如 spring framework ( spring 不是 java ee ,至少以前不是,后来也渐渐支持一些 java ee 的规范)瞧不上 ejb 就自己搞了一套( Spring 生态中也有很大一部分实现 /参考了标准),但标准通常有很大的参考价值

play framework 瞧不上 servlet api 自己用 netty 另起炉灶号称全栈,现在也渐渐变成自己讨厌的模样了,所谓脱裤子放屁就是这个道理,另起炉灶的话 vert.x 才是正确的做法好嘛?!
abcbuzhiming
2017-03-26 10:51:08 +08:00
@Cbdy vert.x 就不要吹了,这东西还停留在至少两年前的 node , callback 地狱还没解决的。等解决了再来谈前途的问题
Cbdy
2017-03-26 14:50:27 +08:00
@abcbuzhiming 首先,这是一个在讨论另起炉灶的问题,我的言论的强调 vert.x 是一个另起炉灶的很好的例子,我并没有吹 vert.x 比 node.js 更好更厉害,但我认为 vert.x 是 jvm 上一个有益的尝试,请停止脑补

另外你根本没有黑到点,针对所谓的 callback hell java se 在 1.5 ( 2004 年)提供了 Callable 和 Future ,而 Future 就类似于 js 的 promise ,良好的编码习惯基本可以消除回调地狱

我认为在软件工程里面,我们可以把别人的库或框架视为工具箱里的工具,可以从它身上学到思想;即使有的工具不好用,完全可以自己增强(在 javascript 没有 promise 的年代 jquery 的 deffered 就是一个很好的例子)。如果万事都指望框架解决、库解决,那程序员就不是一个创造性的职业了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/347287

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX