Java和核心Java有什么区别?

76

当我在线查看工作机会时,我发现一些职位要求了解“核心Java”。什么是核心Java,它与Java有什么不同?


8
个人而言,我非常不喜欢这个术语(当然除了指的是同名书籍)。"Java SE"是一个完全有效的名称,用于指代不属于EE或ME的"Java"。"Core Java"从来没有被清晰地定义过,除了存在于那些自己想象它意思的人的脑海中。 - Joachim Sauer
我认为Java就是Java,这就是它的全部。区别只是由那些一次性将其称为不同学科以获取更多报酬的机构所创造的。 如果我们运用常识,核心意味着基础。即使有人问到区别,核心仍然是Java的基础。因此,可以肯定地说Core Java是Java整体中的一部分,而Java整体则是一个海洋。 希望这样说是正确的...你们觉得呢,Ajay和其他人? - Sandip Kumar
16个回答

77
"Core Java"是Sun的术语,用于指代Java SE,标准版和一组相关技术,如Java VM、CORBA等。这主要是为了与Java ME或Java EE区分开来。
还要注意,他们谈论的是一组库,而不是编程语言。也就是说,无论你使用哪些库,你编写Java的基本方式都不会改变。

8
我认为,当有人说“核心Java”时,即使JNDI、JME或CORBA API是Java SE的一部分,他们也不会期望了解这些内容。 - Michael Borgwardt
2
这是真的;就像.NET和其他框架一样,要掌握(或声称已经掌握)整个东西是很困难的,因为它包含了如此多的内容。但我认为这就是Sun所说的意思。 - John Feminella

22

"核心Java"是Oracle对Java SE技术的定义,指的是其中的一个子集。

实际上,这与Java语言本身并不相关,而是一组某些“基本”包。因此,它影响了开发方法。

目前,Java Core的定义如下:

  • 基本技术
  • CORBA
  • HotSpot VM
  • Java Naming and Directory Interface(JNDI)
  • 应用程序监控和管理
  • 工具API
  • XML

但正如您可能理解的那样,“基本技术”这个术语有点不清晰;-),所以这并不是非常严格的定义。以下是官方页面:

这是另一个Java SE平台概述的“全局”链接。


7

有些公司会使用“核心Java”来区分Java EE,但它仍然只是基本的Java。


7

6

我认为当你看到“core Java”这个短语时,他们是在谈论该语言的基础知识,可能还包括一些Java SE的知识。我不知道他们为什么要在那里加上“core”。


5

据一些开发人员称,“核心Java”指的是包API java.util.*,这在编码中被广泛使用。

“核心Java”这个术语没有被Sun公司定义,只是一个俚语定义。

J2ME / J2EE仍然依赖于J2SDK API进行编译和执行。

没有人会说java.util.*与J2SDK分离以供使用。


3

理解Java和核心Java的简单步骤。

  • 找一本Java书。

  • 找一本核心Java书。

  • 比较两本书的内容。

实际结果:两本书的内容几乎相同。

结果:Java和核心Java是相同的。

核心Java只是俚语,强调对基本Java的深入了解。 但如果我说我知道Java,这并不意味着我对基本Java没有深入的了解,或者我知道Java中的所有内容。


2
“核心Java”是Sun Microsystems用来指代Java SE的术语。还有Java ME和Java EE(J2EE)。这是为了与Java ME和J2EE区分开来而说的。因此,我认为“核心Java”只用来提到J2SE。
祝学习愉快!

数字2代表J2SE术语中的版本,因此该术语用于Java的第2个版本。核心Java的更通用术语是Java SE,适用于任何版本。 - Vivek

1
Core Java是Sun Microsystems的,用于指代Java SE。还有Java ME和Java EE(J2EE)。这是为了区分Java ME和J2EE而告知的。所以我认为Core Java只用于提到J2SE。
Java有3个类别:
J2SE(Java标准版)- Core Java
J2EE(Java企业版)- Advance Java + Framework
J2ME(Java微型版)
谢谢。

1
在简单的语言中,核心Java代表继承、多态、抽象、封装、类、对象等概念,这些都属于核心Java。核心Java代表J2SE。我希望这能解决你的疑惑。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接