Java
Sunin johdolla kehitetty Java on suosittu oliopohjainen ohjelmointikieli ja virtuaalikone myös avoimen lähdekoodin kehityksessä. Java-ohjelmia ajetaan Java-virtuaalikoneella ja niitä voidaan myös kääntää natiiveiksi ohjelmiksi. Muutamien avoimen lähdekoodin virtuaalikoneprojektien lisäksi Sun julkaisi vuonna 2007 oman Hotspot-virtuaalikoneensa ja kehitysympäristönsä (Java Development Kit, JDK) vapaana ohjelmana GPL:n alaisuudessa. Kaikkia virtuaalikoneen osia ei kuitenkaan voitu avata, ja täydellistä, vapaata Java-virtuaalikonetta rakennetaan Icedtea-projektissa (artikkeli Wikipediassa).
Sunin oman javac-kääntäjän lisäksi kääntäjäpuolella IBM:n kehittämä Jikes ja GCC-projektin GCJ ovat vapaita Java-kääntäjiä. Myös suosittu Eclipse-kehitysympäristö on vapaa.
Pieni esimerkki Java.ohjelmasta:
public class HelloWorld { public static void main(String[] args) { System.out.println("HelloWorld!"); } }
Sun Javan asentaminen Sunin asennuspaketista
Mikäli jakelusi Java-paketit eivät miellytä, voit asentaa Sun Javan virallisesta asennuspaketista. Mene java.comiin ja valitse sieltä sopiva paketti kohdasta Linux. Valitsemme esimerkiksi: Linux RPM (self-extracting file) josta latautuu jre-6u5-linux-i586-rpm.bin binääri paketti.
Suorita komentorivillä
# chmod -x jre-6u5-linux-i586-rpm.bin # su root password: *********** # sh jre-6u5-linux-i586-rpm.bin Do you agree to the above license terms? [yes or no] yes Unpacking... Checksumming... Extracting... UnZipSFX 5.50 of 17 February 2002, by Info-ZIP (Zip-Bugs@lists.wku.edu). inflating: jre-6u5-linux-i586.rpm Valmistellaan... ########################################### [100%] 1:jre ########################################### [100%] Unpacking JAR files... rt.jar... Done.
Sunin asennuspaketti ei asenna plugineja selaimille vaan ne täytyy erikseen linkittää.
Fedora 8:lla linkkaus tapahtuu komennolla.
# su password: *********** # cd /usr/lib/selaimesi/plugins # ln -s /usr/java/jre1.6.0_03/plugin/i386/ns7/libjavaplugin_oji.so
Icedtea:n linkittäminen selaimeen
# ln -s /usr/lib/jvm/jre-1.7.0-icedtea/lib/i386/gcjwebplugin.so /usr/lib/selaimesi/plugins/libjavaplugin.so
(huom. Icedtea ei toimi sampopankin verkkopankin sivuilla.)