关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。
想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。
7年前关闭。
Improve this question
我正在申请一份 Java 开发人员的工作。我在 2001 年之前用 Java 编写了一些业余应用程序,之后我主要使用 C++ 和其他语言工作。同时,感觉java成长了很多,各种缩写(EJB,spring等)我都不知道。
我在哪里可以找到对最近(5 年)java 发展的简洁明了的解释?要理解的关键要素是什么?
最佳答案
2001年?哇,时代变了。那是什么? Java 1.3?
一、语言特点:
事情是,以上甚至不是大的变化。在这十年的早期,Java 经历了彻底的架构和哲学变革。
早在 2001 年,最重要的是 EJB、Swing 和 servlets/JSP。他们都不再是了(至少不是直接的)。
在 Java 中发生的最重要的事情(恕我直言)是 Spring,而 Spring 大约在 5 年前真正变得大了。 Spring 是一个轻量级容器,它也试图隐藏不同提供者和 API 之间的实现差异。然而,Spring 最大的特点是“控制反转”或“依赖注入(inject)”的原则。这个想法是类(“beans”)是从外部配置(“应用程序上下文”)组装而来的。
早期 J2EE 时代的典型模式是服务定位器。它现在在很大程度上被视为一种反模式。基本上你会看到这样的代码:
public MyClass() {
this.dataMember = ServiceLocator.locate("some service");
}
如果你现在到处提倡这种方法,你会被视为不合时宜、级别业余、疯子或三者的某种组合。
依赖注入(inject)以其最简单的形式将必要的行为注入(inject)到类中,而不考虑实际的实现。这种分离看似强大,是太阳(仍然)没有真正捕获的深刻转变。它还大大增强了单元测试。
Swing 仍然存在,但不再那么大了。最近几个月,Sun 发布了 JavaFX 作为 Flash 的竞争对手和小程序的替代品。我个人认为它没有太大的 future (正如 Joel 在他最近的播客中所说,桌面上的 Java 基本上已经死了)但其他人会不同意。
EJB 在 2001 年很大。不再那么多了。它被(正确地)视为 XML 配置的噩梦,应用程序服务器的差异使它们在很大程度上不可移植(或者,如果您愿意,则不可移植)并且它们是重量级的解决方案(3.0 之前)真的没有那么多应用程序。
EJB 3.0 采用了一种更类似于 Spring 的依赖注入(inject)(某种程度上)和 POJO(普通 Java 对象)注释的方法。
Servlets 和 JSP 在 2001 年大行其道。Struts 那时或此后不久就开始流行,直到几年前才大行其道。它现在已经被其他更现代的 Web 框架超越(例如 Struts 2——尽管名称为 Spring MVC、Seam 等,但与 STruts 1 没有真正的关系)。
当今最重要的事情——不仅仅是在 Java 中——是与 Web 和 RIA 相关的。 Flash/Flex 和 Javascript/HTML/CSS(加上框架)如今在这里占据主导地位(是的,有 GWT,但它有一小部分追随者)。
Weblogic 和 Websphere 没有 2001 年那么大。JBoss 仍然有很大的动力,但我最近选择的应用程序服务器是 Sun 的 Glassfish v2 或 v3 Prelude。
IDE 也发生了变化。 JBuilder 在 2001 年非常大。现在只有三个:Eclipse、Netbeans 和 IntelliJ(可能按流行程度排序,但我更喜欢 IntelliJ,这也是其中唯一的商业版本)。
关于java - 我如何最好地 catch Java 的最新发展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/638192/