核心 Java 和高级 Java(有什么区别?)

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/7536689/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-30 20:23:27  来源:igfitidea点击:

Core Java and Advance Java (what's the difference?)

javajakarta-ee

提问by user962206

I was googling Java tutorials and related news to Java, until I saw this "Core Java" now I am wondering what really is core Java? And what's the difference with Advanced Java? Is that another Java programming language? What are the topics under Core Java? And Advanced Java?

我在谷歌上搜索 Java 教程和与 Java 相关的新闻,直到我看到这个“核心 Java”,现在我想知道核心 Java 到底是什么?与高级 Java 有什么区别?那是另一种 Java 编程语言吗?Core Java 下的主题是什么?和高级Java?

BTW can you suggest a good book for learning Advanced Java and Core Java? My first book was Java how to program 8th edition, and basically I know the fundamentals already. So all I need is another book to learn Core Java and Advanced Java. And is core Java the same as Java EE? What is a good book to learn Java EE?

顺便说一句,你能推荐一本学习 Advanced Java 和 Core Java 的好书吗?我的第一本书是 Java 如何编程第 8 版,基本上我已经知道基础知识了。所以我只需要另一本书来学习 Core Java 和 Advanced Java。核心 Java 是否与 Java EE 相同?什么是学习 Java EE 的好书?

回答by Stephen C

This Core / Advanced distinction in the tutorials should be viewedas being purely about learning about Java, and what order it is advisable to learn things.

教程中的核心/高级区别应该被视为纯粹是关于学习 Java,以及学习的顺序是可取的。

I am wondering what really is Core Java?

我想知道 Core Java 到底是什么?

It is the basic stuff you should learn first.

这是您应该首先学习的基本知识。

and what's the difference with Advanced Java?

和高级 Java 有什么区别?

Advanced Java is the stuff that you shouldn't try to understand until you are comfortable with the basics.

高级 Java 是您在熟悉基础知识之前不应该尝试理解的东西。

is that another Java programming language?

那是另一种Java编程语言吗?

No. And it is not a different library. In fact, you won't see the core/advanced distinction in the documentation or packaging of the language or libraries. (According to one interpretation, "Core Java" is everything in Java SE ... but frankly, that is not a useful classification; see below.)

不。它不是一个不同的图书馆。事实上,您不会在语言或库的文档或包装中看到核心/高级区别。(根据一种解释,“Core Java”是 Java SE 中的一切……但坦率地说,这不是一个有用的分类;见下文。)

what are the topics under Core Java? and Advanced Java?

Core Java 下的主题是什么?和高级Java?

There is no absolute answer to this. It depends on who has made the classification. The best thing is to look at the table of contents for the book, tutorial, course syllabus, whatever.

对此没有绝对的答案。这取决于谁进行了分类。最好的办法是查看本书的目录、教程、课程大纲等。



Independently of the above, Oracle also uses the phrase "Core Java technologies" in marketing / PR documents to refer to the stuff in Java SE. Here is an example:

与上述无关,Oracle 还在营销/公关文档中使用短语“Core Java 技术”来指代 Java SE 中的内容。下面是一个例子:

This says:

这说:

The Core Java technologies and application programming interfaces (APIs) are the foundation of the Java Platform, Standard Edition (Java SE).

核心 Java 技术和应用程序编程接口 (API) 是 Java 平台标准版 (Java SE) 的基础。

... without saying clearly what they are referring to. The take-away (for me is that "Java Core" versus other things is an impreciseclassification.

......没有说清楚他们指的是什么。结论(对我来说是“Java Core”与其他事物相比是一个不精确的分类。

Some of the stuff that is included in the "core" technologies (see above link) are either specialized or (more or less) legacy technology. With Java 8 they have started to modularizing the Java APIs (c.f. the "compact profiles") and this is moving forward with Java 9 modules, and the deprecation of parts of CORBA support.

“核心”技术(见上面的链接)中包含的一些东西要么是专门的,要么是(或多或少)遗留技术。在 Java 8 中,他们已经开始对 Java API 进行模块化(参见“紧凑配置文件”),并且随着 Java 9 模块和部分 CORBA 支持的弃用,这一点正在向前发展。

Then if you look in the various official Oracle Java Glossaries; e.g.

然后,如果您查看各种官方 Oracle Java 词汇表;例如

you probably won't find a definition for "Core Java". (I couldn't!)

您可能找不到“Core Java”的定义。(我不能!)

All of this means that in realitywhen you see a Job or Position Description that calls for "Core Java", it probably means that person who wrote it probably does not mean "Core Java" in the sense of the Java SE Core Technologiespage. (Or if they do mean that, then they are unrealistic about the actual job requirements!)

所有这一切意味着,实际上当您看到要求“Core Java”的职位或职位描述时,这可能意味着编写它的人可能并不意味着Java SE Core Technologies页面意义上的“Core Java” 。(或者,如果他们确实是这个意思,那么他们对实际工作要求是不切实际的!)

回答by Andrew Thompson

Note that core!=basic.

请注意core!=basic

  1. Core Java - J2SE
  2. Non-core Java - everything else that is notJ2SE (J2EE, JAI, JOGL, JMF, ..)
  3. Advanced Java - made up term with a different meaning for everyone that is asked.
  1. 核心 Java - J2SE
  2. 非核心 Java -不是J2SE 的所有其他东西(J2EE、JAI、JOGL、JMF,..)
  3. 高级 Java - 对每个被问到的人都有不同含义的组成术语。

回答by James Black

For Java EE I would start with an online tutorial, just so you can get familiar with parts, and decide if you need a book, and what parts of Java EE you want to get more information on.

对于 Java EE,我将从一个在线教程开始,这样您就可以熟悉各个部分,并决定是否需要一本书,以及您希望获得有关 Java EE 哪些部分的更多信息。

http://java.sun.com/javaee/6/docs/tutorial/doc/

http://java.sun.com/javaee/6/docs/tutorial/doc/

For Core java I think this is nice: http://download.oracle.com/javase/tutorial/

对于 Core java,我认为这很好:http: //download.oracle.com/javase/tutorial/

As to which books to get, once you have gone through these you will get an idea where you want to focus more. For example, do you want to get better at graphics or concurrency? There are books more geared toward these. Perhaps you want to understand JavaServer Faces, then you can get a book on that.

至于要买哪些书,一旦你读过这些,你就会知道你想要更多地关注哪里。例如,您想在图形或并发方面做得更好?有更适合这些的书籍。也许您想了解 JavaServer Faces,那么您可以获得一本关于它的书。

You stated you know the fundamentals, but that is a pretty broad area, so you may want to first go through and not only have read about these topics, but experiment with them, so you can know what you do and don't know.

你说你知道基础知识,但这是一个相当广泛的领域,所以你可能想先通读一遍,不仅阅读了这些主题,而且还尝试了它们,这样你就可以知道你做什么和不知道什么。