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?
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?
This Core / Advanced distinction in the tutorials should be viewed as being purely about learning about Java, and what order it is advisable to learn things.
It is the basic stuff you should learn first.
Advanced Java is the stuff that you shouldn’t try to understand until you are comfortable with the basics.
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.)
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:
This says:
… without saying clearly what they are referring to. The take-away (for me is that “Java Core” versus other things is an imprecise classification.
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.
Then if you look in the various official Oracle Java Glossaries; e.g.
you probably won’t find a definition for “Core Java”. (I couldn’t!)
All of this means that in reality when 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 Technologies page. (Or if they do mean that, then they are unrealistic about the actual job requirements!)