r/learnjava 12h ago

What is actually core Java?

I am literally confused what is meant by Core Java?

  • is it JLS?
  • is it JVM/JVMs?
  • is it OOPs?
  • is it understand Collection?

I have become familiar with java. IDK exactly at which phase I am doing. I can do OOPs easily ( have also understood F-form polymorphism) I can easily use stream , collection, iterator API . I can also integrate to them in my project. I started delving into deep JLS, JVMs but after seeing them I am confused are they core java because seeing those topics I felt like I did only basics of java.

14 Upvotes

11 comments sorted by

u/AutoModerator 12h ago

Please ensure that:

  • Your code is properly formatted as code block - see the sidebar (About on mobile) for instructions
  • You include any and all error messages in full - best also formatted as code block
  • You ask clear questions
  • You demonstrate effort in solving your question/problem - plain posting your assignments is forbidden (and such posts will be removed) as is asking for or giving solutions.

If any of the above points is not met, your post can and will be removed without further warning.

Code is to be formatted as code block (old reddit/markdown editor: empty line before the code, each code line indented by 4 spaces, new reddit: https://i.imgur.com/EJ7tqek.png) or linked via an external code hoster, like pastebin.com, github gist, github, bitbucket, gitlab, etc.

Please, do not use triple backticks (```) as they will only render properly on new reddit, not on old reddit.

Code blocks look like this:

public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

You do not need to repost unless your post has been removed by a moderator. Just use the edit function of reddit to make sure your post complies with the above.

If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures.

To potential helpers

Please, do not help if any of the above points are not met, rather report the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

7

u/seanprefect 12h ago

I don't think there's a formal definition but it would most likely be what you get out of the box with no additional libraries added.

1

u/Chaos-vy17 12h ago

considering JLS,JVM,JMM are they part of "core java" or they are advanced topic?

3

u/seanprefect 12h ago

if you're talking in an academic context that' depends on the school. When you say JVM if you mean "hey this is the magic black box that makes your code run" that's pretty basic, but the actual way it works is itty advanced. JLS is the language spec, you probably won't ever encounter it unless you decide to build your own version of the JVM, don't worry about Memory Management in the JVM that's not something undergrads deal with.

That said are these very important to make java work? yes very import. But you don't need to know how the engine works to drive a car same with those

1

u/Chaos-vy17 12h ago

That makes sense. I'm building a data-structure library, so I started reading about the JVM, JLS, and JMM. I guess I'm going beyond what most people mean by "Core Java."

3

u/Made-In-Slovakia 12h ago

Everything you mentioned is core Java, except OOP because that is abstract concept.

Maybe to understand what is core Java is god to define what is not core Java. In old days it was called Java EE, which contains basically servlets and everything around them, application servers and containers with injections.

Try Google Java SE and Java EE. You can understand Java SE as core Java.

0

u/LongIslandThorn 11h ago

User interface libraries are not Core Java even though it's part of the JFK (well, JavaFX wasn't separated into a separate download, but good old Swing is still there). I think of Core Java as the parts of the language every developer is familiar with whether you work on robotics, front end desktop, server side, etc

0

u/nitin_is_me 12h ago

Haha, even I don't get it. The book Core Java by Cay Horstmann covers a lot more than the points you mentioned. Maybe it's not a formal term or I'm mistaken.

1

u/Chaos-vy17 12h ago

It seems Core Java is much broader than I initially thought. I guess the knowledge and the domain I choose to pursue will determine how deep my understanding of Core Java becomes.