Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is the Java Virtual Machine included with all Java softwares?

I am new to java. I know that the Java virtual machine is an abstract machine which helps to run the Java programs. So I would like to know if the JVM is included with all Java software, such as Eclipse?

like image 483
aishwaryat Avatar asked Feb 07 '23 07:02

aishwaryat


2 Answers

Usually not. Java is used by so many programs that including it with every piece of Java software would use a lot more hard drive space than necessary, and a whole new JVM instance would have to be loaded for each one. Also, every piece of software would have to be updated whenever some security flaw is discovered. Hence, it's often installed just once, often shortly after setting up a new computer or OS installation.

Occasionally, a software package may be developed without assuming the presence of Java on a system; hence, it may include its own. Sometimes it may also need a customized JVM of some kind.

The main reason this is done is simply because Java is used by hundreds of millions, if not billions of devices. If a virtual machine or runtime is not so widespread, I can either convince my users to install it (usually an uphill battle if they're not themselves developers) or just bundle it myself.

If you're familiar with the notion of static and dynamic libraries, the same issues crop up there as well.

like image 151
JesseTG Avatar answered Feb 15 '23 23:02

JesseTG


You may already know that,

the JVM is not one piece of software. Owners have their implementation, but other can make theirs if it satisfies various practical and contractual claims.

and the abstract specification is a Concrete implementations, which exist on many platforms and come from many vendors, are either all software or a combination of hardware and software and runtime instance hosts a single running Java application.

JVM is more to provide a way to strictly define the external behavior (subsystems, memory areas, data types, and instructions) of implementations which are described in an abstract inner architecture.

So To summarize JVM is the combination of hardware and software But not all Java packages are not included as you asked, fairly It doesn't even understand Java source code.

like image 25
Shree Krishna Avatar answered Feb 16 '23 00:02

Shree Krishna