Toon posts:

[Java] Technische vragen over Java

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik moet een leuk wekstukje maken over de programmeertaal Java op de HHS. Het moet een nogal technisch verhaal worden maar het probleem is dat die technische antwoorden niet zo makkelijk te vinden zijn.

voorbeelden van de vragen zijn:

Wordt gecompileerd <-> geinterpreteerd?

Typen van modulen?

Separaat compileren?

Object-bibliotheken?

Hoe te linken?

Typen van geheugenallocatie (statisch, stack, dynamisch, extern)

Garbage collectie?

Elementaire typen van data-elementen en waarden.

Statische typering of dynamisch?

Runtime checks?

Typeconversies, casts e.d.?

Welke operaties?

Typeconstructies?

Bijzondere operaties of instructies?

Welke model voor parameteroverdracht?

Interfaces naar andere talen?


en ga zo nog maar even door.
Hebben jullie zelf nog goede links naar echte technische sites ipv al die stomme reclame van object georienteerd blabla. of hebben jullie toevallig zelf nog een rapportje oid.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Volgens mij is dat typisch wat je in elk boek over programmeertalen kan vinden die Java behandelen...

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Ik denk dat je dan het beste kunt kijken naar boeken over talen zoals:
Concepts in Programming Languages en
Concepts of Programming Languages. Dan komen verschillen tussen talen ook goed aan bod.

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Heb je wel eens van de bibliotheek gehoord? Op de HHS hebben ze er vast ook 1.
Hoe dan ook, een boek (zo'n geval van papier) waarmee ik mijzelf Java eigen heb gemaakt is:
Java 2, the complete reference van uitgeverij Osborne. ISBN: 0-07-211976-4

Ik ga ervan uit dat zo'n beetje elk boek over Java in het voorwoord of 1e hoofdstuk al antwoord geeft op 90% van je vragen. Succes!

  • 12_0_13
  • Registratie: April 2004
  • Laatst online: 12-02 13:19
Luie donder.
Je kan ook best zelf wat doen. Wat heb je al geprobeert?

kijk voor de gein maar eens op WikiPedia
http://en.wikipedia.org/wiki/Java_programming_language

[ Voor 94% gewijzigd door 12_0_13 op 25-05-2004 11:53 ]


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

bigbeng schreef op 25 mei 2004 @ 11:43:
Heb je wel eens van de bibliotheek gehoord? Op de HHS hebben ze er vast ook 1.
Hoe dan ook, een boek (zo'n geval van papier) waarmee ik mijzelf Java eigen heb gemaakt is:
Java 2, the complete reference van uitgeverij Osborne. ISBN: 0-07-211976-4

Ik ga ervan uit dat zo'n beetje elk boek over Java in het voorwoord of 1e hoofdstuk al antwoord geeft op 90% van je vragen. Succes!
Ik betwijfel of wat hij nodig heeft, in dit soort boeken staat. Een groot deel gaat vaak over de core api`s en niet zozeer of de low level zaken waar hij het over heeft.

Misschien kun je ook even kijken naar bytecode en de java virtual machine:
http://www.artima.com/insidejvm/ed2/index.html

[ Voor 12% gewijzigd door Alarmnummer op 25-05-2004 11:52 ]


  • Ximinez
  • Registratie: December 2001
  • Laatst online: 13-05 12:13

Verwijderd

Alarmnummer slaat de nagel op de kop. Ik vind jullie trouwens best grof. Het eigenste feit dat jullie de energie vinden om dergelijke aggressieve reacties te plaatsen een bewijs dat jullie teveel tijd om jullie handen hebben. In dat geval had je beter nog gewoon zijn vragen beantwoord.

De topicstarter vroeg niet om die termen uit te leggen maar om wat aanwijzingen om daar wat uitleg over te vinden in voor hem verstaanbare taal. Dat vind ik een perfect redelijke vraag.

Persoonlijk zou ik op google of een andere zoekengine wat rondzoeken met query's als: what's a ... ?
Natuurlijk gebruik je dan beter de engelse benamingen in plaats van die vernederlandste onzin. Ik zou zeggen probeer eens met:

Runtime Exception Handling
Compiling Java
Java Packages
Java Libraries
Java Classes
Java Types
Java Garbage Collection (http://developers.sun.com...icles/garbagecollection2/)
Java Casting
CORBA
RMI-IIOP

Wat parameteroverdracht betreft is het gewoonlijk Java die dat zelf bepaalt. By default pass by reference voor inter virtual machine communicatie en pass by value voor communicatie van de ene virtual machine naar de andere. Daar zal je vast wel meer over lezen als je naar RMI zoekt.

Op http://java.sun.com vind je ook nog wel eens artikels die eerst even uitleggen hoe het nu conceptueel in elkaar zit.

[ Voor 7% gewijzigd door Verwijderd op 25-05-2004 12:06 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:52

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 gooit het topic eventjes dicht....

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:52

gorgi_19

Kruimeltjes zijn weer op :9

En het topic blijft dicht. Ik kan me alleen maar aansluiten bij ACM. Met behulp van Google en in de bibliotheek zijn een hoop informatie te vinden over Java door middel van tutorials of in boeken.

Sowieso zal je weinig hebben aan de antwoorden op de vragen. Het werkstuk gaat er om dat je snapt wat je aan het doen bent; bij puur en alleen de antwoorden heb je er weinig aan, omdat je de achterliggende redenatie niet kent.

Ik krijg bij dit topic een beetje het idee dat je een probleem hebt en hoopt dat wij dit voor jou kunnen oplossen, door of de vragen te beantwoorden of directe links te geven. Huiswerktopics zijn geen probleem, mits de topicstarter voldoende onderzoek zelf heeft gedaan. Dat laatste mis ik een beetje, gezien een aantal vragen die je stelt.

[ Voor 22% gewijzigd door gorgi_19 op 25-05-2004 12:17 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-05 23:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

Topic in overleg weer open, op voorwaarde dat men niet argeloos wat linkjes post, maar het een en ander een beetje probeert te onderbouwen

[ Voor 4% gewijzigd door .oisyn op 25-05-2004 20:19 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Verwijderd schreef op 25 mei 2004 @ 11:36:
Wordt gecompileerd <-> geinterpreteerd?
Dat is een hele leuke vraag :) Java compileerd naar een virtuele instructie set (bytecode). In de oude versies werd het geintepreteerd, maar tegenwoordig gaat de JIT (Just in time compiler) het just in time compileren (alleen de hot-spots tenslotte zit je 90% van de tijd in 10% van de code). Het is te hopen dat in de toekomst deze gecompileerde code eventueel ook naar de hd gecached kan worden zodat niet iedere keer de analyse + compilatie hoeft plaats te vinden.
Statische typering of dynamisch?
Het lijkt me het meest handige als je even een java compiler ophaalt en zelf ff gaat proberen. Dan krijg je snel genoeg te zien of int a = "bla"; door de compiler komt.
Runtime checks?
Java is een safe language. Dit houd in dat je runtime geen auto object kan inlezen als fiets object.
Typeconversies, casts e.d.?
Zoek ook even op de java site naar autoboxing.
Typeconstructies?
Vanaf jdk1.5 is het mogelijk om naast class en interface type defintities ook gebruik te maken van geparametriseerde types en enumeratie types (eindelijk).
Bijzondere operaties of instructies?
Ik vind ze allemaal bijzonder ;)
Interfaces naar andere talen?
Zoek naar JNI. En kijk verder ook naar RMI/IIOP, Sockets, Corba, en webservices als je het over gedistribueerde objecten hebt die eventueel in verschillende talen geschreven zijn.

[ Voor 10% gewijzigd door Alarmnummer op 25-05-2004 20:33 ]


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Alarmnummer schreef op 25 mei 2004 @ 20:27:
Het lijkt me het meest handige als je even een java compiler ophaalt en zelf ff gaat proberen. Dan krijg je snel genoeg te zien of int a = "bla"; door de compiler komt.
Object a = new SubObject();
Object b = Factory.build("Some object");

void method(Object o)
{
o.toString();
}

Dat zijn ook voorbeelden van (min of meer) dynamisch typeren toch?

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-05 23:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

Nee, alleen in Java zijn alle klassen nu eenmaal afstammelingen van Object. Een instantie is dus altijd minstens een Object, maar dat heeft niets met dynamische typering te maken.

Dynamische typering is meer zoals je het in php of javascript ziet, een variabele kan een Object zijn, maar ook een int of een char. Terwijl een int en een Object verder totaal niets met elkaar gemeen hebben

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

ACM schreef op 25 mei 2004 @ 20:35:
[...]

Object a = new SubObject();
Object b = Factory.build("Some object");

void method(Object o)
{
o.toString();
}

Dat zijn ook voorbeelden van (min of meer) dynamisch typeren toch?
Statisch typesysteem: types worden compiletime bepaald.
Dynamisch typesysteem: types worden runtime bepaald.

In dit geval is er sprake van het type Object, en dat is statisch bepaald. Dat je verder gebruik maakt van een stukje polymorfisme is minder relevant.
.ioysin
Nee, alleen in Java zijn alle klassen nu eenmaal afstammelingen van Object.
Idd.. Een Object based class hierarchie (in tegenstelling tot c++). Dat is ook de hoofdreden dat c++ niet zonder templates kan en java wel. Verder vind ik generics voor Java wel een enorme aanwinst omdat je veel meer duidelijk kunt maken (en je veel sterke compiletime controles hebt)

[ Voor 33% gewijzigd door Alarmnummer op 25-05-2004 21:43 ]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-05 23:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

generics in C++ kan net zo goed als in Java, je kunt alle pointers converteren naar void * en weer terug.

(ik ken implementaties van std::vector<T *> (en andere containers) die als onderliggende container een std::vector<void *> gebruiken, om code-bloat in de executables te voorkomen. Ze casten de waarden dan steeds terug naar T * als dat nodig is (een cast naar void * kan al impliciet). Feitelijk is dat hetzelfde als de daadwerkelijke generics implementatie onder water. Die casts zelf zijn puur semantisch en produceren geen extra code)

[ Voor 75% gewijzigd door .oisyn op 25-05-2004 22:10 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

.oisyn schreef op 25 mei 2004 @ 22:02:
generics in C++ kan net zo goed als in Java, je kunt alle pointers converteren naar void * en weer terug.
Volgens mij gaat er iets mis. Wat ik heb gezegd is dat templates in c++ noodzaak is omdat c++ geen object based class hierarchie heeft en java wel. Daarom moet code worden gegenereerd code op basis van de template en de typeparameters. In Java is dit niet nodig omdat je bv in een vector zeker een object kan plaatsen. Aangezien ieder object van het type Object is, kan je dus ieder object erin plaatsen.

dus:
c++: templates noodzaak
java: geen noodzaak maar wel verdomd handig

[edit]
oeps.. ik heb niet goed gelezen ;) Jij zegt dat je met die void oplossing ook een soortement van gemeenschappelijk type kan simuleren.

[ Voor 15% gewijzigd door Alarmnummer op 25-05-2004 22:44 ]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-05 23:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

Oh ik dacht idd dat je bedoelde dat C++ templates nodig had ipv generics, maar voor dat wat je daadwerkelijk bedoelde geldt het natuurlijk ook ja :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Garbage collection, m'n favoriete onderwerp :P
Zie [rml]Glimi in "[ JAVA] Opruimen gereserveerd geheugen"[/rml] voor m'n verhaaltje daarover. Als je d'r meer over wilt weten, moet je het maar even laten weten.
Pagina: 1