Java Programmeertaal: Evolutie, Versies en Toepassingen
De Java programmeertaal werd oorspronkelijk ontwikkeld door Sun Microsystems, geïnitieerd door James Gosling, en uitgebracht in 1995 als kerncomponent van Sun Microsystems' Java platform (Java 1.0 [J2SE]).
De nieuwste release van de Java Standard Edition is Java SE 8. Met de voortgang van Java en de grote populariteit, zijn meerdere configuraties gebouwd om aan verschillende platformen te voldoen. Bijvoorbeeld: J2EE voor Enterprise Applicaties, J2ME voor Mobiele Applicaties.
De nieuwe J2 versies zijn hernoemd naar Java SE, Java EE en Java ME respectievelijk. Java is gegarandeerd Write Once, Run Anywhere.
Java is:
- Objectgeoriënteerd – In Java is alles een Object. Java kan eenvoudig uitgebreid worden omdat het gebaseerd is op het Objectmodel.
- Platformonafhankelijk – In tegenstelling tot talen als C en C++, wordt Java niet gecompileerd naar platform-specifieke machinecode, maar naar platformonafhankelijke bytecode. Deze bytecode wordt via het web gedistribueerd en geïnterpreteerd door de Virtual Machine (JVM) op het platform waar het draait.
- Eenvoudig – Java is ontworpen om gemakkelijk te leren zijn. Als je het basisconcept van OOP in Java begrijp, is het makkelijk om onder de knie te krijgen.
- Veilig – Met Java's beveiligingsfeatures kun je virusvrije, manipulation-vrije systemen ontwikkelen. Authenticatie technieken zijn gebaseerd op public-key encryptie.
- Architectuur-neutraal – Java compiler genereert een architectuur-neutraal objectbestandsformaat, waardoor de gecompileerde code uitvoerbaar is op veel processoren, mits de Java runtime aanwezig is.
- Draagbaar – Door architectuur-neutraal te zijn en geen implementatie-afhankelijke aspecten te hebben, is Java draagbaar. De Java compiler is geschreven in ANSI C met een schone draagbaarheidsgrens, een POSIX subset.
- Robuust – Java probeert foutgevoelige situaties te elimineren door de nadruk te leggen op compile-time foutcontrole en runtime checking.
- Multithreaded – Met Java's multithreading kun je programma's schrijven die veel taken gelijktijdig uitvoeren. Dit ontwerpkenmerk stelt ontwikkelaars in staat interactieve applicaties te bouwen die soepel draaien.
- Geïnterpreteerd – Java bytecode wordt on-the-fly vertaald naar native machine-instructies en nergens opgeslagen. Het ontwikkelproces is sneller en analytischer omdat linking incrementieel en lichtgewicht is.
- Hoge Prestaties – Met Just-In-Time compilers levert Java hoge prestaties.
- Gedistribueerd – Java is ontworpen voor de gedistribueerde omgeving van het internet.
- Dynamisch – Java is dynamischer dan C of C++ omdat het ontworpen is om zich aan te passen aan een evoluerende omgeving. Java programma's kunnen uitgebreide runtime-informatie dragen die gebruikt kan worden om toegang tot objecten te verifiëren en op te lossen tijdens runtime.
Geschiedenis van Java
James Gosling startte het Java taalproject in juni 1991 voor gebruik in een van zijn set-top box projecten. De taal, initieel 'Oak' genoemd naar een eik buiten Gosling's kantoor, ging ook onder de naam 'Green' en werd later hernoemd tot Java, uit een lijst willekeurige woorden.
Sun bracht de eerste publieke implementatie uit als Java 1.0 in 1995. Het beloofde Write Once, Run Anywhere (WORA), met gratis runtimes op populaire platforms.
Op 13 november 2006 bracht Sun een groot deel van Java uit als gratis en open source software onder de GNU General Public License (GPL).
Op 8 mei 2007 was het proces voltooid: alle Java kerncode was vrij en open source, behalve een klein deel waar Sun geen copyright op had.
Benodigde Tools
Voor de voorbeelden in deze tutorial heb je een Pentium 200-MHz computer met minimaal 64 MB RAM nodig (128 MB aanbevolen).
Je hebt ook de volgende software nodig:
- Linux 7.1 of Windows XP/7/8
- Java JDK 8
- Microsoft Notepad of een andere teksteditor
Deze tutorial leert je de vaardigheden om GUI, netwerk- en webapplicaties te maken met Java.
Wat Volgt?
Het volgende hoofdstuk begeleidt je bij het verkrijgen van Java en de documentatie, en hoe je Java installeert en een ontwikkelomgeving voorbereidt.
Java
- De C-programmeertaal: Een uitgebreid overzicht
- Java-operators beheersen: typen, syntax en praktische voorbeelden
- Java-commentaar: typen, gebruik en best practices
- Java Enhanced For-lus beheersen: syntax, voorbeelden en best practices
- Java Strings beheersen: aanmaken, methodes en best practices
- Java interfaces meesteren: concepten, implementatie en best practices
- Java anonieme inner classes meesteren: definitie, syntax en praktische voorbeelden
- Java Try-with-resources meesteren: automatische resource management uitgelegd
- Java Annotaties uitgelegd: typen, plaatsing en praktische voorbeelden
- Java Assertions: een praktische gids voor bugdetectie en codebetrouwbaarheid
- Java 10: Belangrijkste kenmerken & releasemodel uitgelegd