H 1. KENNISMAKING MET JAVA EN DE ONTWIKKELOMGEVINGEN 1. ONTSTAANSGESCHIEDENIS VAN JAVA Java: ontworpen in 1990 door Sun Microsystems voor de programmering van electronische apparatuur. Voor 1995 had bijna niemand ervan gehoord. JAVA 1 H 1. KENNISMAKING MET JAVA EN DE ONTWIKKELOMGEVINGEN 1. ONTSTAANSGESCHIEDENIS VAN JAVA (vervolg) Java (OAK) is in 1990 ontworpen voor de programmering van allerlei intelligente elektronische gebruikersapparatuur. Elektronische apparatuur bevat chips. Een chip kan -> gegevens onthouden -> een reeks van instructies automatisch uitvoeren = programma Een programma wordt uitgevoerd door een andere chip, de processor. Probleem : begrijpt enkel zijn eigen specifieke machinecode! -> onleesbaar voor de mens (0 en 1) JAVA 2 H 1. KENNISMAKING MET JAVA EN DE ONTWIKKELOMGEVINGEN 1. ONTSTAANSGESCHIEDENIS VAN JAVA (vervolg) Oplossing: programma schrijven in een hogere programmeertaal (Cobol, Java, Pascal,…) -> een compiler (vertaler) zal het programma omzetten naar een specifieke machinecode Probleem: het programma is platformafhankelijk (= combinatie van een bepaald type processor met een bepaald besturingssysteem) JAVA 3 H 1. KENNISMAKING MET JAVA EN DE ONTWIKKELOMGEVINGEN 1. ONTSTAANSGESCHIEDENIS VAN JAVA (vervolg) Oplossing: Java 1. Elk Java-programma wordt door een compiler vertaald naar een soort TUSSENTAAL (=JAVA-bytecode), die betrekkelijk dicht tegen machinecode aanleunt. 2. De tussentaal wordt begrijpelijk gemaakt voor een specifieke processor, door deze van een programma te voorzien (=JAVA VIRTUAL MACHINE). Een JVM is een tamelijk klein programma (256 Kb), vermits het vertalen niet zo’n grote klus is. JAVA is platformonafhankelijk! JAVA 4 2. APPLICATIE EN APPLET 2.1 Er bestaan twee soorten Java-programma’s: Applicatie: • cfr. programma’s in C++ (vb. Word, tekenprogramma,…) • wordt bewaard en uitgevoerd op lokale PC • uitvoerbaar mits JVM, geen webbrowser nodig • kan bestanden op schijf maken, lezen en verwijderen JAVA 5 2. APPLICATIE EN APPLET 2.1 Er bestaan twee soorten Java-programma’s: Applet: • maakt deel uit van een webpagina en zorgt voor de interactiviteit van de pagina -> wordt meestal bewaard op een PC op afstand • uitvoerbaar mits webbrowser ( + JVM) of applet-viewer • geen bestandsverwerking mogelijk JAVA 6 2.2 APPLICATIE - voorbeeld import java.lang.*; public class Som extends Object { public static void main( String[] args) { int x = 2, y = 3, som; som = x * x + y * y; System.out.println("Som = "+ som); try { Thread.currentThread().sleep(5000); } catch (InterruptedException e) {}; } } JAVA 7 UITVOERING APPLICATIE JAVA 8 2.3 APPLET - voorbeeld import java.applet.*; import java.awt.*; public class Applet1 extends Applet { private Font f = new Font(“TimesRoman”,Font.BOLD,36); public void paint(Graphics g) { g.setFont(f); g.setColor(Color.red); g.drawString(“Een bijzonder eenvoudige applet”,20,150); } } JAVA 9 UITVOERING APPLET JAVA 10 2.4 DE 5 FASEN-APPLICATIE Schematisch: Java-programma (Som.java) compiler Compilatie Java byte-code (Som.class) Internet interpreter verwerking Java byte-code verificatie JAVA (Som.class) 11 DE 5 FASEN-APPLICATIE 1. Met een editor het java-programma intypen en bewaren met extensie .java -> Som.java 2. Het programma compileren met het commando javac. Het resultaat is een file met extensie .class (= bytecode). -> javac Som.java geeft Som.class 3. Het programma (de .class-file) wordt geladen in het geheugen. 4. Wanneer het programma klassen van het net download, wordt de bytecode geverifieerd. 5. Het programma wordt uitgevoerd, door gebruik te maken van de Java-vertaler, via het commando java -> java Som JAVA 12 2.5 DE 5 FASEN - APPLET Schematisch: Computer die bezocht wordt Java-programma (Applet1.java) compiler Compilatie Java byte-code (Applet1.class) Internet Uw computer Java virtuele machine Java byte-code Applet1.class interpreter verificatie verwerking JAVA Browser omgeving 13 DE 5 FASEN-APPLET 1. Met een editor de java-applet intypen en bewaren met extensie .java -> Applet1.java 2. De applet compileren met het commando javac. Het resultaat is een file met extensie .class (= bytecode). -> javac Applet1.java geeft Applet1.class 3. De applet (de class-file) bevindt zich normaal op een computer op afstand en gebruikers hebben er toegang tot via het World Wide Web. Een HTML - document verwijst naar een Java-applet (zie p.11) en deze wordt vervolgens gedownload op uw eigen PC. De applet wordt uit dezelfde directory gehaald als waar de HTML-file in zit. De meeste browsers ondersteunen echter JAVA 2 niet! JAVA 14 DE 5 FASEN-APPLET (vervolg) 4. Voor de applet wordt uitgevoerd, wordt de bytecode geverifieerd. 5. De applet wordt uitgevoerd, door de vertaler die in de browser ingebouwd moet zijn of vanaf de commando-lijn met de zgn. appletviewer = applet container: -> appletviewer Applet1.html De appletviewer is een minimale browser, die enkel de referentie naar de applet kan interpreteren (<applet>- en </applet>-tag) en de rest van het HTML-document negeert! JAVA 15 HTML-CODE : Applet1.html <HTML> <HEAD> <TITLE> Invoer </TITLE> </HEAD> <BODY> <APPLET CODE= “Applet1.class” WIDTH=426 HEIGHT=266> </APPLET> </BODY> </HTML> JAVA 16 2.6 HET JAVA PLATFORM Applet1.class Java API Java Virtual Machine Operating system + Hardware JAVA 17 3. ONTWERPDOELEN (1) JAVA • is eenvoudiger dan C++ • heeft een automatische garbage collection • is klein • is object georiënteerd • is betrouwbaar JAVA 18 ONTWERPDOELEN (2) JAVA • is veilig • is architectuurneutraal • is portable • heeft een goede performance • is multithreaded JAVA 19 4. WAT HEB JE NODIG ? o o o o een een een een editor, bijv. Notepad of Wordpad compiler JVM browser of applet-viewer Compiler + JVM = JAVA DEVELOPMENT KIT (JDK) of JAVA 2 Software Development Kit (Java 2 SDK) (www.sun.com) Sinds 1995 zijn er verschillende versies van JDK verschenen: versie 1.0, versie 1.1, versie 1.2, versie 1.3, versie 1.4 Elke versie kan weer subversies hebben. De versies vanaf versie 1.2 worden ook aangeduid met het Java 2 platform. JAVA 20 4. WAT HEB JE NODIG ? (vervolg) Bouwen we een volledige omgeving rond de programmeertaal, zodat de ontwikkelingstijd nodig voor het schrijven van een programma sterk wordt gereduceerd, dan verkrijgen we een zogenaamde geïntegreerde ontwikkelomgeving, Integrated Development Environment of IDE. Veel gebruikte IDE: Jbuilder 3 (www.borland.com), Forte (www.sun.com), Visual Cafe 3 van Symantec, …. JAVA 21