Is Java needed in order to run applications created in Java?

Started by
11 comments, last by TheChubu 11 years ago

You can convert your JARs into EXEs using Jarsplice or similar tools, but it is fair to assume most people will either have java or wont have a problem if your installer prompts an installation of the JRE.



This used to be true; not so much any more, at least so far as Apple goes. Apple has outright disabled Java on newer releases due to security problems.... or at least, that's the excuse Apple gave. I honestly wouldn't be surprised to see Microsoft follow suit. When you've got the Department of Homeland Security telling people to disable/remove Java, that's all encouragement Microsoft needs... if their lawyers give them the go-ahead that is.

Java is still out there on all platforms, it's just not quite so simple to assume its there as it was even a year ago.

The Java security problem is with the applet browser plugin though and the only problem(allthough it is a serious one since applets can launch without the users consent) is that the sandbox can be circumvented (giving a applet the same level of access as a native application). Its not a problem with proper java applications (Which should have that level of access anyway since it is launched explicitly by the user)

Apple still removed it as a result, not just the plugin.

Advertisement

You should read up about the "Java environment" before deploying any application. It will probably save you a few headaches while researching something.

That means, what "byte code" is, whats a Java Virtual Machine (interpreted languages and "Just-in-time" compilation concepts would be nice too), what are the different editions of Java (Java EE, Java SE, Java ME), whats the Java Development Kit, whats the "Java Native Interface", and so on.

Its not to complicate your life but to make it easier later when you're researching more complex things.

I've done a decent amount of reseach so I am starting to understand these things. Correct me if I'm wrong. When you compile Java source code, the source code is converted to byte code. The byte code is then read by the Java Virtual Machine which can run the program.

You should read up about the "Java environment" before deploying any application. It will probably save you a few headaches while researching something.

That means, what "byte code" is, whats a Java Virtual Machine (interpreted languages and "Just-in-time" compilation concepts would be nice too), what are the different editions of Java (Java EE, Java SE, Java ME), whats the Java Development Kit, whats the "Java Native Interface", and so on.

Its not to complicate your life but to make it easier later when you're researching more complex things.

I've done a decent amount of reseach so I am starting to understand these things. Correct me if I'm wrong. When you compile Java source code, the source code is converted to byte code. The byte code is then read by the Java Virtual Machine which can run the program.

Yep. A Java compiler (usually) does a minimal ammount of work to get your sources "translated" in a assembly-like language that targets the Java Virtual Machine (think of the JVM as a virtual CPU).

The JVM does the heavy work load by analyzing that bytecode and translating it into something your actual CPU can understand. That's why you need a JVM on every computer you want to run your Java program, because thats the piece that connects the bytecode to something the user's CPU can execute.

"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"

My journals: dustArtemis ECS framework and Making a Terrain Generator

This topic is closed to new replies.

Advertisement