基本语法还是 JAVA ,那么编译器和 JAVA 虚拟机都不需要改动;
还是说仅仅调用了——比如, Tomcat 提供的 jar 包,调用了 servletAPI ——就能称为 EE “平台”了?
那应该是提供这些 jar 包的容器的功劳呀,跟 Java 本身有何干系?
所谓 servletAPI 也无非是包含着 servlet.class 的 jar 包提供的可继承方法?
1
ixiaohei 2017-03-14 11:03:35 +08:00 1
java ee 几乎都是规范,具体到各个厂家去实现。比如 servlet 中间件 tomcat 就是 java ee 规范的一种实现
|
2
vilen1 2017-03-14 11:42:48 +08:00
尝试使用抛弃了 Servlet 的 Playframework1 2 之类的框架就能理解了
|
3
Michaelssss 2017-03-14 11:50:18 +08:00
SE 也不过就是 rt.jar 提供的一堆.java/.class 文件,本质上没区别
|
5
clearbug 2017-03-14 12:10:43 +08:00 via Android
一流的公司都是制定标准,二流的公司去实现,三流的公司是基于实现开发应用
|
6
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 才是正确的做法好嘛?! |
7
abcbuzhiming 2017-03-26 10:51:08 +08:00
@Cbdy vert.x 就不要吹了,这东西还停留在至少两年前的 node , callback 地狱还没解决的。等解决了再来谈前途的问题
|
8
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 就是一个很好的例子)。如果万事都指望框架解决、库解决,那程序员就不是一个创造性的职业了 |