Java

Overview
The Java technology is both a programming language and a platform. Java programs will run on any hardware that has a java virtual machine installed. The java virtual machine is software (that's why it is called "virtual") that executes the actual java programs. Even mobile phones and PDAs can be capable of running java software.

There are three scenarios for running java software:
 * Your java software is installed on your computer.
 * Your java software is installed somewhere on the web. This is called Java webstart.
 * Your java software is in a web site and shown by your browser. This is called an applet.

The Java platform has two components: the Java Runtime environment (JRE) which runs Java programs, and the Java API that is needed to build java programs from source code.

The JRE contains an executable file named java or java.exe (also called the Java virtual machine or JVM) that is capable of running java software.

Get Java
You should get java by means of your distribution, as described in installing software. For example, with Ubuntu, Debian or Linux Mint: sudo apt install default-jre However, if you need a special version you will have to download it, e.g. from java.sun.com.

The Java Plugin
To display a java applet, web browsers need a java plugin. Installing it goes straightforward if you install by means of your distribution and is a bit tedious if you do not, e.g. because you need a specific version. An example easy install is given below for SUSE Linux. If you need a special version, you will have to go the generic (non-distribution-specific) way.

SUSE Linux
Start your program management yast2 sw_single Search for java and select the java plugin. Click on "install".

generic
Here is an example how to install a java plugin, it has been done on 2009-08-19 using SUSE Linux Enterprise Server Service Pack 2 X64. We are using firefox as browser and jre 6 update 16 as java version. The process for other distributions may work similar.

[...] jre-1.6.0_16-fcs                             Wed 19 Aug 2009 08:40:24 AM EDT /usr/java/jre1.6.0_16/plugin/i386/ns7-gcc29/libjavaplugin_oji.so /usr/java/jre1.6.0_16/plugin/i386/ns7/libjavaplugin_oji.so You see there are two java plugins, one for distributions compiled with GCC 2.9 and the other for newer distributions. /usr/bin/firefox
 * visit java.sun.com, download jre 6 update 16, the rpm version for "Linux". Note that you download a 32-bit plugin for 32-bit software running on a 64-bit platform.
 * install the software
 * 1) chmod 777 /root/jre-6u16-linux-i586-rpm.bin
 * 2) /root/jre-6u16-linux-i586-rpm.bin
 * find out your java path
 * 1) rpm -qa --last | tac
 * find out where the java plugin for the browser is stored
 * 1) rpm -ql jre-1.6.0_16-fcs | grep libjavaplugin_oji
 * go to your firefox path
 * 1) which firefox
 * 1) cd /usr
 * 2) cd lib/firefox/
 * go to your plugin directory
 * 1) cd plugins/
 * link the plugin file into the plugin directory
 * 1) ln -s /usr/java/jre1.6.0_16/plugin/i386/ns7/libjavaplugin_oji.so.
 * stop all firefox
 * 1) killall firefox-bin
 * start firefox
 * 1) firefox
 * surf to about:plugins. You must find a java plugin in the list there.

The Java Programming Language
The Java programming language is a high-level, multi-threaded, object oriented, usually interpreted language.

Language Features
Java's main advantages are that it is extremely portable and that it is easily incorporated into web pages in the form of applets. Other features include automatic garbage collection and optional security - one does not need to give a Java program full access to one's computer.

If you are making changes to an existing Java program, the class file structure allows source compatibility and binary compatibility to be essentially the same thing. Significant additions can be made to large programs with recompilation required for only the altered parts. In general, Java allows for easier program alteration than native code compiled languages.