Avatar billede jonasbc Nybegynder
04. maj 2003 - 15:28 Der er 9 kommentarer og
1 løsning

J2SE, J2EE og J2ME

Hej!

Jeg sidder og skal til at skrive en mindre opgave om de forskellige API'er J2SE, J2EE og J2ME. Derfor vil jeg høre, om der er nogen, der kender websteder eller bøger, hvor de forskellige API'rt bliver sammenlignet, f.eks. mht. performance, garbage collection, sikkerhed osv.

Jeg har kigget lidt på Sun's hjemmeside og et par andre steder, men generelt findes der kun oplysninger om et enkelt API's styrker og muligheder - ikke en egentlig sammenligning.

Forrsten, hvis der er nogen, der gerne vil lidt videre med udvikling i J2ME, så kan jeg varmt anbefale en bog af Deitel & Associates: "Wireless Internet & Mobile Business - How To Program", der er ca. 1300 sider om I-mode, WAP, Bluetooth, XHTML, .NET, J2ME og meget, meget andet!

mvh
Jonas
Avatar billede jakoba Nybegynder
04. maj 2003 - 15:32 #1
Det giver ikke meget mening at lave sådan en sammenligning. De er lavet til hvert sit formål, og har hver deres prioriteter.
Avatar billede jonasbc Nybegynder
04. maj 2003 - 15:41 #2
Det er jeg klar over... Jeg vil netop uddybe disse prioriteter og definere, hvorfor der netop er lavet disse tre forskellige API'er.
Derfor er jeg, så vidt jeg kan se, nødt til at gå ind på nogle forskellige områder, f.eks. garbage collection, og finde ud af, hvordan det præcist fungerer i hver enkelt API.
Avatar billede arne_v Ekspert
04. maj 2003 - 15:52 #3
J2SE = Java 2 Standard Edition
J2EE = Java 2 Enterprise Edition
J2ME = Java 2 Micro Edition

Navnene er groft misvisende. Det er *ikke* 3 forskellige versioner
af det samme.

J2SE = JVM + compiler + basic library
J2EE = specielt server library

J2EE kode compiles med J2SE compiler, bruger også J2SE library og
udføres i en J2SE JVM - den bruger bare nogle additional J2EE libraries
og er undergivet nogle specielle restriktioner.

Så på trods af SUN's navngivning kan man ikke sammenligne J2SE og J2EE
med de punkter du nævner.

(kender ikke J2ME ret godt så jeg vil ikke kommentere på det)
Avatar billede arne_v Ekspert
04. maj 2003 - 15:53 #4
Da J2EE kode kører i en Jse JVM, så bruger den samme GC som
J2SE og performer fuldstændigt identisk (hvis den samme kode
udføres, hvilket dog sjældent er tilfældet).
Avatar billede disky Nybegynder
04. maj 2003 - 16:01 #5
arne det sidste du siger er næsten korrekt.

J2EE applicationer kører man tit med '-server' parameteren, som giver lidt længere startup tid, men grundet mere memory forbrug bedre performance, også via en mere grundig runtime analysator, hvor tingene bliver oversat til maskinkode og gemt som dette.

Jeg ved godt det er en overfladisk beskrivelse, men det er bare for at understrege at j2ee ofte performer lidt bedre end alm. applicationer grundet den måde de startes på.




jonasbc:
Hvad vil du vide om J2ME ? Jeg har været med til at implementere det i en telefon.
Avatar billede arne_v Ekspert
04. maj 2003 - 16:10 #6
disky>

-server er stadig en del af J2SE ikke J2EE.

Det er bare en af de J2SE features der er meget relevant for J2EE.

[ja strengt taget er den vel ikke engang en del af J2SE men kun af
SUN JVM - i BEA JVM er den en "do nothing" og IBM JVM har den slet ikke]
Avatar billede arne_v Ekspert
04. maj 2003 - 16:12 #7
Men der må være noget at fortælle om J2ME.

Fordi hvis jeg har forstået det rigtigt, så har man kun et subset
af J2SE API og der er ikke GC.
Avatar billede jonasbc Nybegynder
04. maj 2003 - 16:12 #8
Hej og tak for jeres kommentarer og svar indtil nu.

disky:
Jeg kunne godt tænke mig at få lidt indblik i, hvad det er, der gør, at J2ME kan køre på så små enheder (ex. 8 MHz, 160 kb hukommelse). Altså - hvad er ændret i forhold til SE, hvilke nye funktioner findes og hvad er skåret væk. Det er her, jeg tænker på f.eks. garbage collection, sikkerhed og diverse runtime-tjek, som jeg kan forestille mig er blevet kraftigt neddroslet.

Desuden kunne jeg godt tænke mig at vide lidt om forarbejdet. Så vist jeg har forstået, begyndte Sun udarbejdelsen i 1998, så der må vel ha' været noget før - og der må ligeledes findes andre alternativer, der af den ene eller den anden grund ikke har opnpet succes.

Som sagt er jeg ved at forbedere mig til en opgave, og jeg prøver at indkredset, hvad der kunne være interessant at beskæftige sig med. Forslag er derfor meget velkomne :)
Avatar billede jonasbc Nybegynder
04. maj 2003 - 16:15 #9
Det skal siges, at jeg endnu kun har teoretisk og meget begrænset viden om J2ME. Jeg har beskæftiget mig lidt med Java TV API, som er en del af J2ME, men kender faktisk endnu intet til f.eks. MIDP - desværre.
Avatar billede disky Nybegynder
04. maj 2003 - 16:40 #10
kort fortalt er j2me en skrabet udgave af j2se, en del klasser mangler, og JVM'en som hedder KVM'en (Kilo Virtuel Machine) er igen en skrabet udgave, som ikke performer ligeså godt, men tilgengæld fylder den ikke særligt meget og bruger ikke særligt meget.

Det bedste sted at kigge er hos Sun
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester