"Core Java" is Sun's term, used to refer to Java SE, the standard edition and a set of related technologies, like the Java VM, CORBA, et cetera. This is mostly to differentiate from, say, Java ME or Java EE.
Also note that they're talking about a set of libraries rather than the programming language. That is, the underlying way you write Java doesn't change, regardless of the libraries you're using.
I think when you see the phrase "core Java," they are talking about the basics of the language and maybe some knowledge of Java SE. I don't know why they would bother to put the "core" on there.
It's not an official term. I guess it means knowledge of the Java language itself and the most important parts of the standard API (java.lang, java.io, java.utils packages, basically), as opposed to the multitude of specialzed APIs and frameworks (J2EE, JPA, JNDI, JSTL, ...) that are often required for Java jobs.
"Core Java" is Sun Microsystem's term, used to refer to Java SE. And there are Java ME and Java EE (J2EE). So this is told in order to differentiate with the Java ME and J2EE. So I feel Core Java is only used to mention J2SE.
"Core Java" is Oracle's definition and refers to subset of Java SE technologies.
This actually is not related to Java language itself but rather to set of some 'basic' packages. As a result it affects development approaches.
Currently Java Core is defined as a following set:
Basic technologies
CORBA
HotSpot VM
Java Naming and Directory Interface (JNDI)
Application monitoring and management
Tools API
XML
But as you probably understand even term 'basic technologies' is somewhat unclear ;-) so this is not so strict definition. Here is official page for this term:
"Core Java" is Sun's term, used to refer to Java SE, the standard edition and a set of related technologies, like the Java VM, CORBA, et cetera. This is mostly to differentiate from, say, Java ME or Java EE.
Also note that they're talking about a set of libraries rather than the programming language. That is, the underlying way you write Java doesn't change, regardless of the libraries you're using.
In simple language core java stands for the concepts of Inheritance, Polymorphism,Abstraction,Encapsulation,class,objects which comes under core java. Core java stands for J2SE. I hope this can clear you doubts.
Java is programming language but Core java is just a part of java.
Core java is the basic of java. If you are new to JAVA then you have to start with core java.
Java is basically categories in 3 parts :
1.) J2SE / Core java stands for Java 2 standard edition and is normally for developing desktop applications, forms the core/base API.
2.) J2EE stands for Java 2 enterprise edition for applications which run on servers, for example web sites. (Spring, Struts are the java frameworks mainly used for J2EE)
3.) J2ME stands for Java 2 micro edition for applications which run on resource constrained devices (small scale devices) like cell phones, for example games.
A simple step to understand what is java and core java.
Find a book for Java.
Find a book for core java.
Compare the content of both books.
Actual result: both have almost same content.
Result: Java and core java is same.
core java is just slang, to emphasize on deep knowledge of basic java.
but if I say I know Java it doesn't mean that I don't have deep knowledge of basic java, or if I know everything in java.
Core Java:
It’s a general term used by Sun Microsystems to describe the standard version of Java (JSE). It’s the most basic version of Java which sets the foundation for all other editions of Java plus a set of related technologies such as CORBA, Java VM, etc. Core Java refers to a collection of libraries rather than just the programming language.
Java :
Java is hypothetically everywhere, thanks to its readability and simplicity. From mobile applications to websites, game consoles to datacenters, from mobile phones to the Internet, Java is everywhere. Millions of devices throughout the world use Java as a core programming language. Even all native Android apps come built-in with Java and several companies use Java as server-side scripting language for backend development.
Core Java is Sun Microsystem's, used to refer to Java SE. And there are Java ME and Java EE (J2EE). So this is told in order to differentiate with the Java ME and J2EE. So I feel Core Java is only used to mention J2SE.
Java having 3 category:
J2SE(Java to Standard Edition) - Core Java
J2EE(Java to Enterprises Edition)- Advance Java + Framework