Do you know wy Java is a universal programming language? Today I want explain it and other equal languages introduce. Maybe you know there are programming languages they will interpreted and other will compiled. Java make both. So before I can explain Java, have I to explain what make interpreted and compiled programming languages and what are the differents. I will starting with the compiling method.
Compiled source code
If you have a compiled programming language, you need a compiler. There will translate the programming language in machine code. So now the code can run without support components on the operating system where it was compiled. The problem is the compiled programm can just run on the right OS and not among other. So it is platform bound.
Examples for Compiled programming languages are C++ or C. If you want to run the code from C you need the right compiler. Here you can see the problem what I mean. So you have compiled it on a Windows operating system you can't run the program among Linux. You must compiled it among Linux if you want it run among the linux operating system. That's wy this method not suitable for independence platform programming.
Interpreted source code
The other method are interpreted programming languages. Here will the code not compiled rather from an interpreter evaluated. Thereby you need of every operating system where you will run it an interpreter. Often includes a Runtime Environment a interpreter.
Between languages
Now you know both of methods. So we can start with the between languages. A couple of programming languages are between languages. This languages will first at all compliled in Bytecode. That is an between code. Then the byte code will interpreted to a machine sequenz. Look below there you can see it. The positive aspect of this languages is that that can run on different operating systems. So the programm is independece. The only think what you need is an Runtime Environment for Java.