任何人都可以帮我理解所有这些Java版本吗?

时间:2011-03-23 15:36:53

标签: java

我正在学习Java编程课程,所需的书是Java 5 SCJP考试310-055。我查了一下,我认为SE 5不再支持了。这不好吗?教练说,如果我通过Java认证并出示证明,我可以跳过课程并立即获得A,但如果它已经过时,我不知道我怎么能做到这一点?

我也对Java处理不同版本的方式感到困惑。 Java 2到底意味着什么? Java 5实际上是Java 2版本5吗? SE 5的含义是什么?与SE 6有何不同?我也看到EE,SE和EE有什么区别?现在最新的Java版本是什么? JDK只是表示SDK for Java吗?我很困惑。

有人需要被打耳光吗?

编辑:刚发现还有一个Java ME? d:

6 个答案:

答案 0 :(得分:8)

这些问题中的大多数都在这些维基百科页面中得到了解答:

从语言角度来看,Java 5.0和6几乎完全相同。这两个版本之间的区别在于运行时库的区域以及平台的性能相关方面。我认为你的导师已经打了个好电话。

答案 1 :(得分:2)

  

我查了一下,我认为不再支持SE 5了。

你不必担心这个。您在SE 5上阅读的大多数书籍仍然具有相关性。你应该专注于SE 6虽然恕我直言。

  

Java 2是什么意思? SE 5的含义是什么?与SE 6有何不同?

Java 2 = SE n = Java 1。n其中n> = 2&& n< 6.(我希望这是一种有趣的方式来表达它而不是一种令人困惑的方式......)

基本上,Java 1.2及更新版本是Java 2。

SE 5是Java 1.5

SE 6是Java 1.6


稍微澄清一下:

Java 1.1 | Java 1.2 | ... | Java 1.5 | Java 1.6 |

         |           Java 2          |           

         |          | ... | Java SE5 | Java SE6 |

         |          | ... |  Java 5  |  Java 6  |

您可以看到SE 5和6 here之间的区别。


答案 2 :(得分:1)

最新版本是Java 6(又名1.6),正在开发Java 7,如果我没记错的话。

SE表示标准版,而EE表示企业版。它只是一组不同的标准和库,但它们相互补充(即,没有SE,你通常不能使用EE)。

至于考试:我为Java 5 SCJP做了准备并完成了Java 6 SCJP。这没有问题,因为在Java 5和6之间只有标准库中的附加内容(SE的一部分;)),语言本身没有真正的变化(而不是从1.4到5的变化,除了版本名称)

答案 3 :(得分:1)

Java SE 6与Java SE 5.0相同98%。差异是微妙的,你可以编程多年,永远不需要知道它们是什么。 (BTW没有Java 5或“SE 5”)

如果您是Java 5.0的专家,那么您将有资格使用Java 6。

我不担心“Java 2 SE”,因为这是一个旧的营销名称,不适用于任何最新版本的Java。

Oracle不会免费提供

Java SE 5.0,但您可以获得付款以获得对它和之前版本的支持。

Java SE 6免费提供。

答案 4 :(得分:0)

J2SE代表Java 2标准版,通常用于开发桌面应用程序,构成核心/基础API。

J2EE代表在服务器上运行的应用程序的Java 2企业版,例如网站。

J2ME代表Java 2微版,适用于在手机等资源受限设备(小型设备)上运行的应用程序,例如游戏。

<小时/>  标准版(标准版)包括J2SE,它构成了Java语言的核心   例如:数据库连接,接口定义,输入/输出,网络编程

企业版(企业版)J2EE包含在J2SE类别中,还包括用于开发企业级应用程序的类别。
  例如:EJB,servlet,JSP,XML,服务控制

微型版(微型版)J2ME包括用于软件开发的消费电子产品类别的J2SE部分   例如:小伟,智能卡,手机,PDA,机顶盒

他们的范围是:J2SE包含在J2EE中,J2ME包含J2SE核心类,但是添加了一些新的专有类

答案 5 :(得分:0)

Java SE是基本的普通Java加上标准库集。 (标准版。)它有两种形式:JRE(Java运行时环境),它是运行 Java程序所需要的,以及JDK(Java开发工具包),这是制作Java所需要的程式。 (后者有编译器,例如,其他工具。)当前版本的Java SE是6(虽然7即将到来 Real Soon Now™ .Java 5已经过了它的寿命结束不应该用于任何新的发展。

Java EE基本上是构建在Java SE之上的企业应用程序的庞大应用程序框架。您需要Java SE实现来运行Java EE实现。当前版本的Java EE为6,但Java EE 5仍在使用和支持。

Java ME是一个精简的Java SE。它针对的是具有(相对)有限资源(如移动电话等)的小型设备。还有一个Java卡,它针对更严格的环境(如果内存服务,实际上会修改语言来实现)。

简而言之,但现在混乱......

Java世界中的命名一直令人困惑,因为Sun现在已经在港口潜水中发生了重大弯道后改变了水手的方向。 Java只是简单的Java,包括1.1版本。所以它是Java 1.0,Java 1.1(当然还有JDK 1.0,JDK 1.1)。然后,Sun决定发布1.2版本的Something Big Was Happening™并将其重命名为Java2。所以Java2实际上是Java 1.2。这也是“SE”的开始,因为他们想要区分Java2平台标准版(J2SE),Java2平台企业版(J2EE)和Java2平台移动版(J2ME)。 JDK版本仍然是1.2,但品牌是Java2。

然后当JDK 1.3出现时,令人困惑的是它仍然被称为Java2,但现在是版本1.3。所以你有J2SE 1.3。这仍然是真实的,包括J2SE 1.4。然后Sun改变了事情。现在您已将Java2 Standard Edition 5.0作为品牌名称。内部开发人员版本仍然只有1.5,但外部品牌已经改变。这又改变了 ,用于下一个名为Java SE 6的版本(放弃品牌的“2”部分)。因此,在一个主要版本和六个次要版本中,Java被标记的方式已经改变了三到四次。

EE也发生了同样的事情。 Java EE的第一个版本是Java2 Enterprise Edition 1.2(J2EE 1.2),与Java2 1.2的内容相吻合。当突然将品牌改为Java EE 5时,这个命名方案一直保持到J2EE 1.4并且包括J2EE 1.4。之后这个更新到Java EE 6(最新版本)。

我在Java ME或Java Card上根本没有速度,所以你必须自己解决这些问题,但基本上是从我收集的东西中把它弄得像SE / EE套件那样令人困惑,或者甚至更多如此。

祝你好运!