Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

75
Aan het werk met Java Lieven Smits Aan het werk met Java Platformonafhankelijk programmeren

Transcript of Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Page 1: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

Aan het werk met Java

Platformonafhankelijk programmeren

Page 2: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

1 Inleiding

• Programmeren• Java als programmeertaal• Java als programmeeromgeving• Handboek• Oefeningen• De werkomgeving op school• Installatie op je eigen pc• Een werkend programma

Page 3: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

vertaalde machinecode

editor MijnProgramma.java

broncode

compiler

MijnProgramma.classJVM

programmeur

gebruiker

Page 4: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

1.5 Handboek

http://hoger.deboeck.com/titres/ 120802_1/aan-het-werk-met-java.html

Page 5: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

2 Objectgeoriënteerd programmeren

• Abstractie• Klassen en objecten• Attributen en gegevenstypes• Methodes• Constructoren• Statische attributen en methodes• Primitieve gegevenstypes• Referentietypes

Page 6: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

2.1 Abstractie

Page 7: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

2.3 Attribuut: primitieve types

type doel geheugen extreme waarden

byte geheel getal 1 byte -128; +127

short geheel getal 2 bytes -32 768; +32 767

int geheel getal 4 bytes -2 147 483 648;

+2 147 483 647

long geheel getal 8 bytes -9 223 372 036 854 775 808;

+9 223 372 036 854 775 807

float vlottende komma 4 bytes +/- 2-128; +/-2127

double vlottende komma 8 bytes +/- 2-1024; +/-21023

char alfabetisch karakter 2 bytes –

boolean logische waarde 1 byte waar of onwaar

Page 8: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

student1

?

2.5 Constructoren

Page 9: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

student1

familienaamvoornaam

??

2.5 Constructoren

Page 10: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

2.6 Statische attributen en methodes

code van statische methode

code van normale methode

code van constructor

objectattribuut (niet statisch) neen ja ja

klassenattribuut (statisch) ja ja ja

objectmethode (niet statisch)

neen ja ja

klassenmethode (statisch) ja ja ja

constructor op naam ja ja ja

constructor via this neen neen ja

Page 11: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

getal

2.7 Primitief type

Page 12: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

3 Basisconstructies

• Opdrachten

• Veranderlijken

• Toekenningen

• Bewerkingen

• Invoer/uitvoer

• Uitdrukkingen

• Normaal verloop van een programma

Page 13: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

3.4 Bewerkingenbewerking gebruik betekenis

>> uitdr >> getal verschuif de bits van uitdr zoveel plaatsen naar rechts als getal aangeeft

<< uitdr << getal verschuif de bits van uitdr zoveel plaatsen naar links als getal aangeeft

>> uitdr >>> getal verschuif de bits van uitdr zoveel plaatsen naar rechts als getal aangeeft; hou geen rekening met het teken

& u1 & u2 bereken bit per bit een logische EN tussen de bits van u1 en u2

| u1 | u2 bereken bit per bit een logische (niet-exclusieve) OF tussen de bits van u1 en u2

^ u1 ^ u2 bereken bit per bit een exclusieve OF tussen de bits van u1 en u2

~ ~uitdr bereken bit per bit de logische ontkenning (NIET) van de bits van uitdr

Page 14: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

3.6 Uitdrukkinguitdrukking waarde

x 1

-x -1

+x 1

x+x 2

x%x 0

x-15 -14

x=3 3

x/2 0

x/2.0 0.5

x+1 4

x=x+1 4

“Ja”+“va” Java

Page 15: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

4 Controlestructuren

• Voorwaardelijke opdrachten en uitdrukkingen

• Lusopdrachten• Recursieve aanroep van methodes

Page 16: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

4.1 Voorwaarden

• Vergelijken van twee uitdrukkingen

• Logische bewerkingen

• Algemene vorm

• Voorwaardelijke uitdrukking

• Keuzeopdracht

Page 17: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

bewerking betekenis

== is gelijk aan

!= is verschillend van

< is strikt kleiner dan

> is strikt groter dan

<= is kleiner dan of gelijk aan

>= is groter dan of gelijk aan

Vergelijkingen

Page 18: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

Logische bewerkingen

bewerking lees betekenis

&& en is waar als beide leden waar zijn

|| of is waar als minstens een van beide leden waar is

! niet keert de betekenis van het rechterlid om – waar wordt onwaar, onwaar wordt waar

Page 19: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

Volgorde der bewerkingen

groep bewerkingstekens

unaire operatoren + - !

vermenigvuldiging * /

optelling, concatenatie + -

ongelijkheid < > <= >=

gelijkheid == !=

en &&

of ||

toekenning =

Page 20: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

4.2 Lusopdrachten

• De while-opdracht

• Genestelde lussen

• Rijen

• De for-opdracht

• De do-opdracht

• Iteraties en lusopdrachten afbreken; labels

• De afgekorte for-opdracht (‘for each’)

Page 21: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

start

einde

<voorwaarde>voldaan?

voer <reeks1> uit

voer <reeks2> uit

neenja

Page 22: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

start

einde

<voorwaarde>voldaan?

<opdrachten>

neen

ja

Page 23: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

int[] score

17

score[0]

13

score[1]

20

score[2]

11

score[3]

13

score[4]

Page 24: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

start

einde

neen

ja <voorwaarde>voldaan?

voer <opdrachten> uit

Page 25: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

start

einde

neen

ja

<opdrachten voor>

<opdrachten na>

<voorwaarde>voldaan?

Page 26: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

4.3 Recursie

• Voorbeeld

• Definitie

• Vervanging van een enkelvoudige recursie door een lusopdracht

Page 27: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

5 Overerving

• Subtypes

• Overerving van attributen en methodes

• Onderdrukken van methodes

• Abstracte klassen en methodes

• Interfaces

• De klasse Object, stamouder van alle anderen

Page 28: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

Object

Bestaande klasse

Zelfgemaakte klasse

String MijnKlasse1Number

Short MijnKlasse3MijnKlasse2

extends

Legende:

Page 29: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

6 Pakketten, afscherming en groepering

1. Gebruik van pakketten

2. Tekst

3. Invoer/uitvoer

4. Toegang

Page 30: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

6.1 Gebruik van pakketten

• De klassenbibliotheek van de JRE• import• package

Page 31: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

6.2 Werken met tekst

• String en StringBuffer• Methodes van de klasse String• Methodes van de klasse StringBuffer

Page 32: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

6.3 Invoer/uitvoer

• Sequentiële en willekeurige toegang

• Bytes en characters

• Bestanden

• Geheugenstromen

Page 33: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

6.3 Invoer/uitvoerexpressie betekenis

abc alleen de streng “abc”

a[bc] de letter a gevolgd door de letter b of c

[A-Z] een hoofdletter

a? de letter a of de lege streng

a* een opeenvolging van letters a of de lege streng

a+ een opeenvolging van letters a

[A-Z] [a-zA-Z]* een hoofdletter, eventueel gevolgd door een willekeurig aantal letters

. een willekeurig teken

[0-9] [0-9] [0-9]? twee of drie cijfers

Page 34: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

tekstverwerker

database engine

gegevensbank

tekstbestandtekstbestand

Page 35: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

6.4 Toegang• Toegangsniveaus van attributen en

methodes

• Toegangsniveaus van klassen en interfaces

• Inwendige klassen– Statische inwendige klassen– Gewone inwendige klassen– Anonieme klassen

• Scope, visibility, lifetime, access

Page 36: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

6.4 Toegangcharacter stream byte stream

invoer Reader InputStream

uitvoer Writer OutputStream

character stream byte stream

invoer BufferedReader BufferedInputStream

uitvoer BufferedWriter BufferedOutputStream

Page 37: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

6.4 Toegangcharacter stream byte stream gebruik

DataOutputStream numerieke gegevens (en eventueel ook tekst) in bestanden opslaan

DataInputStream dezelfde bestanden terug lezen

ObjectOutputStream objecten (instanties van klassen) in bestanden opslaan

ObjectInputStream dezelfde bestanden terug lezen

LineNumberReader LineNumberInputStream regelnummers van een invoerstroom tellen en bijhouden

PushbackReader PushbackInputStream eerste letter bekijken vóór de eigenlijke lezing ervan

SequenceInputStream verschillende bytestromen achter elkaar plaatsen alsof het slechts één continue invoerstroom betrof

Page 38: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

6.4 Toegang

character stream byte stream

invoer CharArrayReader, StringReader ByteArrayInputStream

uitvoer CharArrayWriter, StringWriter ByteArrayOutputStream

Page 39: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

6.5 Toegangsbeperking

niveau sleutelwoord betekenis

publiek public toegankelijk voor alle andere klassen

beschermd protected toegankelijk voor subtypes van de huidige klasse en voor klassen binnen hetzelfde pakket

pakket (geen) toegankelijk voor klassen binnen hetzelfde pakket

privé private alleen toegankelijk binnen de huidige klasse

Page 40: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

7 Kwaliteit

• Exceptions• Commentaar en documentatie• Levenscyclus systeemontwikkeling• Domeinklassen• Architectuur• Design patterns• Unit testing• Asserties

Page 41: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

7.3 De documentatiegenerator Javadoc

tag betekenis

@author gaat vooraf aan de naam van de auteur van een klasse of een onderdeel

@version geeft het versienummer en/of de datum, meestal alleen van een hele klasse

@exception signaleert dat een methode een bepaald type exception kan genereren, en wat daarvan de interpretatie is

@throws synoniem van @exception

@param gevolgd door de naam van een parameter, documenteert de betekenis van een methodeparameter. Nauw verwant hiermee is @return

@return legt de teruggeefwaarde van een methode uit

@see verwijst naar de documentatie van een andere klasse of een ander klasseonderdeel

Page 42: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

persoon

klant bestelling

7.5 Domeinklassen

Page 43: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

7.5 Domeinklassen

Page 44: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

7.5 Domeinklassen

Page 45: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

gui frontend

database

backofficedomein

7.6 Architectuur

Page 46: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

7.7 Moduletest met JUnitmethodenaam de test is geslaagd als …

assertEquals de twee parameters gelijke inhoud hebben (zelfs als het verschillende objecten zijn)

assertNotEquals

de twee parameters geen gelijke inhoud hebben

assertSame de twee parameters objecten zijn met hetzelfde adres in het geheugen (dus niet alleen dezelfde inhoud)

assertNotSame de twee parameters verschillende objecten zijn

assertTrue de gegeven logische waarde false is

assertFalse de gegeven logische waarde true is

assertNull de gegeven objectreferentie null is (niet naar een object verwijst)

assertNotNull de gegeven referentie naar een bestaand object verwijst

fail nooit geslaagd – gelijkwaardig met assertTrue(false)

Page 47: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

8 Bijzondere technieken

• Annotaties

• Abstracte gegevenstypes

• Generische gegevenstypes

• Collections

Page 48: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

Object 2

Object 3

Object 4

Object 1

Object 5

Object 2

Object 3

Object 4

Object 1

Object 5

aanwijzer aanwijzer

push

8.2 Abstract gegevenstype ‘stack’

Page 49: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

Collection Map

QueueList

SortedSet

Set SortedMap

8.4 Collections

Page 50: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

1 432

remove() add()

element()

8.4 Collections: wachtlijn

Page 51: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

9 Webtoepassingen

• Servers, browsers, HTTP en HTML

• Servlets

• JSP

• Sessies

Page 52: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

browser webserver

verzoek

antwoord

9.1 Servers, browsers en HTTP

Page 53: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

9.2 Levenscyclus van een servlet

Page 54: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

10 Grafische interfaces

• Swing-componenten• Layout management• Event handling• Menus• Graphics• Applets• MVC• Tabellen en bomen

Page 55: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

xy

Horizontaal (x)

Verti

caal

(y)

10.2 Component: coördinaten

Page 56: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

java.lang.Object

Bestaande klasse

Zelfgemaakte klasse

java.awt.Component

java.awt.Container

java.awt.Window

MijnVenster

extends

Legende:

java.awt.Frame

javax.swing.JFrame

10.2 Component: overerving

Page 57: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

gebruiker

run return

openklik toetsselect

klaar sluit klaarklaarklaar

klaar

klassieke,lineairetoepassing

gebeurtenis-gestuurdetoepassing

10.4 Event-driven programming

Page 58: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

Model

ControllerView

vraag toestand

meld wijziging

gebruikershandeling

bepaal/verandersamenstelling

wijzig toestand

10.7 Model/View/Controller

Page 59: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

financiën

uitgaveninkomsten

arbeid kapitaal wonen vervoerkleding diversen

verkoopwerkgever huur klima gas+elek

10.8 Boomstructuur

Page 60: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

11 Beans

• Herbruikbare componenten: rolverdeling• Gebruik van een bestaande bean• Het bestandsformaat jar• Zelf een bean ontwikkelen

– Properties– Events– Bound properties– Constrained properties

• BeanInfo

Page 61: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

12 Parallel programmeren

• Begrippen

• Timers

• Animatie

• Threads

• Prioriteit en activering

• Synchronisatie

Page 62: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

straal

X

Y

x1 x0 x2

y1

y0

y2

straal x cos(hoek)

straal x sin(hoek)

hoek

Page 63: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

uitvoerbaar

tijd van sleep omof einde van andere reden

sleepof andere reden

start

systeembeslissing yield

einde van runactiefdood

inactiefnieuw geblokkeerd

Page 64: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

uitvoerbaar

synchronized

tijd van sleep omof einde van andere reden

sleepof andere reden

start

systeembeslissing yield

einde van run geblokkeerdop objectactiefdood

krijg sleutel

inactiefnieuw geblokkeerd

Page 65: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

uitvoerbaar

synchronized

tijd van sleep omof einde van andere reden

sleepof andere reden

start

systeembeslissing yield

einde van run geblokkeerdop objectactiefdood

krijg sleutel

inactiefnieuw geblokkeerd

wachtkamer

wait

notifynotifyAll

Page 66: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

13 Databases

• SQL

• Java Database Connectivity

• Gegevens opvragen

• Gegevens wijzigen

• Transacties

• Gevorderde technieken

• Hibernate

Page 67: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

14 Gedistribueerd programmeren

• Algemene probleemstelling

• Webservices

• Call by value en call by reference

• Enterprise JavaBeans

• Spring

Page 68: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

presentatie

zakelijke logica

gegevensopslag

Page 69: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

presentatie zakelijke logica opslag

gedistribueerdepresentatie

presentatieop afstand

gedistribueerdelogica

opslagop afstand

gedistribueerdeopslag

Page 70: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

RekenServerImpl implements RekenServer

public int bereken(int param)

ClientKlasse

...int resultaat = bereken(17);...

RPC-infrastructuur

(eventueel metClientKlasseSkelet)

RekenServerStub implements RekenServer

public int bereken(int param)

netwerkcommunicatie(afgeschermd van programmeur)

gewone methodeaanroep in server-JVMgewone methodeaanroep in client-JVM

Page 71: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

stateful bean: sessie

1

stateful bean: sessie

2

client 1

client 2

14.4 EJB – stateful beans

Page 72: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

client 1

client 2client 3

pool van stateless beans

14.4 EJB – stateless beans

Page 73: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

15 Java op de GSM

• De beperkingen van Java Micro Edition

• Installatie van de programmeeromgeving

• Voorbeeldprogramma

• Installatie op de GSM

• Een spel

Page 74: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

15.3 Toestanden van een MIDlet

active

paused

destroyed

Page 75: Aan het werk met JavaLieven Smits Aan het werk met Java Platformonafhankelijk programmeren.

Aan het werk met Java Lieven Smits

INIT TERM1 RESULTTERM2

cijfercijfer

bewerkingcijfer gelijkteken

wis

15.3 De rekenmachine