Videregående programmering i Java

by Jacob Nordfalk

Paper Book, 2003

Status

Available

Library's review

Indeholder "0 Forord", " 0.1 Formål og indhold", " 0.1.1 Bogens opbygning og indhold", " 0.2 Forudsætninger for at læse bogen", " 0.2.1 UML: Klassediagrammer", " 0.3 Netudgaven af bogen", " 0.4 Åben Dokumentlicens (ÅDL)", " 0.5 Tak", "Første del: Videregående Java", "1 Samlinger af data", "
Show More
1.1 Lister og mængder", " 1.1.1 De simple typer og samlinger af data", " 1.1.2 Interfacene til lister og mængder", " 1.1.3 Lister", " 1.1.4 Mængder", " 1.1.5 Iteratorer", " 1.2 Afbildninger (nøgleindekserede lister)", " 1.2.1 Afbildninger (Interfacet Map)", " 1.2.2 Hashtabeller (klassen HashMap)", " 1.2.3 Eksempel - ordbog", " 1.2.4 Eksempel - fødselsdatoer", " 1.2.5 Klassen LinkedHashMap", " 1.2.6 Interfacet SortedMap (sorterede afbildninger) og klassen TreeMap", " 1.3 Opgaver", " 1.4 Videre læsning", " 1.5 Appendiks", " 1.5.1 Collection", " 1.5.2 Set", " 1.5.3 SortedSet", " 1.5.4 List", " 1.5.5 Map", " 1.5.6 Iteratorer", " 1.5.7 Manipulation og sortering af data", " 1.6 Avanceret", " 1.6.1 Store-O-notationen", " 1.6.2 Arraybaserede listers virkemåde", " 1.6.3 Hægtede listers virkemåde", " 1.6.4 Hashtabellers virkemåde", " 1.6.5 Søgetræers virkemåde", " 1.6.6 Uforanderlige samlinger", " 1.6.7 Trådsikre samlinger", " 1.6.8 Uddrag af kildeteksten til Vector-klassen", "2 Dokumentation", " 2.1 Javadoc", " 2.1.1 API-dokumentation", " 2.1.2 At dokumentere med javadoc", " 2.1.3 Simpelt eksempel", " 2.1.4 Større eksempel: Vector-klassen", " 2.1.5 Oversigter", " 2.2 Kørsel af javadoc", " 2.2.1 Simpel brug", " 2.2.2 Henvise til den eksisterende javadokumentation", " 2.3 Appendiks", " 2.3.1 Parametre til javadoc", " 2.3.2 Koder tilgængelige i javadoc", " 2.3.3 Pakkekommentarer", " 2.4 Videre læsning", " 2.5 Opgaver", " 2.6 Løsninger", "3 Rekursion", " 3.1 Introduktion til rekursive algoritmer", " 3.1.1 Folde en rekursion ud", " 3.1.2 Forudsætninger for rekursion", " 3.2 Rekursiv listning af filer", " 3.3 Beregning af et matematisk udtryk", " 3.4 Tegning af fraktaler", " 3.5 Opgaver", "4 Komponentbaseret programmering", " 4.1 Genbrugelige komponenter", " 4.1.1 Javabønner", " 4.1.2 Eksempel: Bønnen TextField", " 4.1.3 Bruge en javabønne", " 4.2 At definere javabønner", " 4.2.1 En meget simpel bønne: GentagTekst", " 4.2.2 Brug af bønner fra et udviklingsværktøj", " 4.2.3 Størrelsen af en grafisk komponent", " 4.2.4 Skelne mellem udviklings- og i kørselsfasen", " 4.3 Karakteristika ved javabønner", " 4.3.1 Bønner skal have en parameterløs konstruktør", " 4.3.2 Bønner kan have egenskaber", " 4.3.3 Bønner kan have tilknyttet ekstra information", " 4.3.4 Bønner bør være afgrænsede og uafhængige", " 4.3.5 Bønner kan understøtte hændelses-lyttere", " 4.4 Ekstra eksempler", " 4.4.1 Rystetekst", " 4.4.2 Rulletekst", " 4.4.3 Simpel kryptering", " 4.4.4 Eksempel på brug af bønnerne i et værktøj", " 4.5 Opgaver", " 4.6 Løsninger", " 4.6.1 Grafisk komponent: GentagTekst", " 4.6.2 Grafisk komponent: Billede", " 4.6.3 Webserver-komponent", " 4.7 Avanceret", " 4.7.1 En komponent til at tegne kurver", " 4.7.2 Repræsentation af funktioner", " 4.7.3 Fortolkning af strenge til funktioner", " 4.7.4 Layout-manageres virkemåde", " 4.7.5 Øvelse: Samspil med layout-manager", " 4.7.6 Opgave: Adresseindtastningskomponent", " 4.7.7 Løsning: Adresseindtastningskomponent", "5 Grafiktegning (Java2D)", " 5.1 Java2D kort fortalt", " 5.1.1 Geometriske figurer", " 5.1.2 Geometriske operationer", " 5.1.3 Transformationer", " 5.1.4 Linjetyper", " 5.1.5 Tegnekvalitet", " 5.1.6 Videre læsning", " 5.2 Eksempel", " 5.3 Eksempel fra JDK'et", "6 Grafiske brugergrænseflader (Swing)", " 6.1 Introduktion til Swing", " 6.1.1 Eksempel på forskelle mellem Swing og AWT", " 6.2 MVC i Swing- og AWT-komponenter", " 6.2.1 AWT-komponenter", " 6.2.2 Swing-komponenter", " 6.3 Datamodellen i Swing-komponenter", " 6.3.1 Tekstfelter (interfacet Document)", " 6.3.2 Tabeller (interfacet TableModel)", " 6.3.3 Knapper (interfacet ButtonModel)", " 6.3.4 Andre komponenter", " 6.3.5 Opgaver", " 6.3.6 Løsning", " 6.4 Præsentationsdelen i Swing", " 6.4.1 Lister (ListCellRenderer)", " 6.4.2 Eksempel: Præsentation af skrifter i en liste", " 6.4.3 Tabeller (TableCellRenderer)", " 6.4.4 Træer (TreeCellRenderer)", " 6.4.5 Opgaver", " 6.5 Kontroldelen af Swing-komponenter", " 6.5.1 Tabeller (TableCellEditor)", " 6.5.2 Træer (TreeCellEditor)", " 6.5.3 Standardredigering med DefaultCellEditor", " 6.6 Eksempler", " 6.6.1 SwingSet2-demo af JTable", " 6.6.2 Eksempel med JTable", " 6.7 Avanceret: Udseendet af Swing", " 6.7.1 Swing-komponenters standardudseender", " 6.7.2 Andre udseender", " 6.7.3 Kunststoff-udseendet", " 6.7.4 Alloys-udseendet", " 6.7.5 Opgaver", "7 Internationalisering", " 7.1 Internationale programmer", " 7.1.1 Formatering af tidspunkter", " 7.1.2 Formatering af tal og beløb", " 7.1.3 Tekstindhold i resursefiler", " 7.1.4 Avanceret: Binære resursefiler", " 7.1.5 Avanceret tekstformatering", " 7.2 Selv bestemme sproget", " 7.2.1 Styre sproget fra kommandolinjen", " 7.2.2 De mulige Locale-objekter", " 7.2.3 Bruge Locale-objekter", " 7.2.4 Avanceret: Sætte standardsprog", "8 Databaser (JDBC)", " 8.1 Basisfunktioner i JDBC", " 8.1.1 Indlæse driveren", " 8.1.2 Etablere forbindelsen", " 8.1.3 Kommunikere med databasen", " 8.2 Forpligtigende eller ej? (commit)", " 8.3 Optimering", " 8.3.1 Bruge den rigtige databasedriver", " 8.3.2 Lægge opdateringer i kø (batch-opdateringer)", " 8.3.3 På forhånd forberedt SQL", " 8.3.4 Kalde gemte procedurer i databasen", " 8.4 Avanceret", " 8.4.1 Opdatering og navigering i ResultSet-objekter", " 8.4.2 Metadata", " 8.4.3 Metadata om databasen", " 8.4.4 Metadata om svaret på en forespørgsel", " 8.4.5 Eksempel - udskrive en vilkårlig tabel", " 8.4.6 Persistering af objekter - JDO", "9 Optimering", " 9.1 Optimering", " 9.2 Ting, man skal undgå (hvis man kan)", " 9.2.1 Oprette mange objekter", " 9.2.2 Oprette mange tråde", " 9.2.3 Kaste og fange mange undtagelser", " 9.2.4 Gå ind og ud af synkroniserede blokke/metoder", " 9.2.5 Bruge mange (evt. anonyme) klasser", " 9.3 Er C++ hurtigere end Java?", " 9.3.1 Et testprogram i Java", " 9.3.2 Testprogrammet i C++", " 9.4 Videre læsning", "10 Eksterne kald og JNI", " 10.1 Kalde eksterne programmer", " 10.1.1 Kommunikation med det eksterne program", " 10.2 Kald til andre programmeringssprog", " 10.2.1 JNI - Java Native Interface", " 10.2.2 Skrive Java-klasser med maskinkode", " 10.2.3 Skrive en metode i C++", " 10.2.4 Oversætte til maskinkode", " 10.2.5 Køre programmet", " 10.2.6 Kommunikation fra C-koden til Java", " 10.2.7 Henvisninger", "11 Introspektion", " 11.1 Læse klasseinformation for et objekt", " 11.1.1 Oversigt over pakken java.lang.reflect", " 11.1.2 Opremse metoderne i en klasse", " 11.2 Arbejde med objekter", " 11.3 Introspektion på javabønner", " 11.4 Generere nye klasser og indlæse dem", " 11.4.1 Kalde oversætteren som eksternt program", " 11.4.2 Bruge oversætteren internt", " 11.4.3 Indlæse klasser fra filsystemet", " 11.5 Videre læsning", "12 Standardbiblioteket (J2SE)", " 12.1 Grundlæggende klasser (java.lang)", " 12.1.1 Klasser, der svarer til de simple typer", " 12.1.2 Tråde", " 12.1.3 Introspektion og dynamisk klasseindlæsning", " 12.1.4 Svage referencer (java.lang.ref)", " 12.1.5 Matematik med vilkårlig præcision (java.math)", " 12.2 Værktøjsklasser (java.util)", " 12.2.1 De "klassiske" datastrukturer i java.util", " 12.2.2 Collections-klasserne i java.util", " 12.3 Behandling af tekst (java.text)", " 12.4 Grafiktegning (java.awt del 1)", " 12.4.1 Generelt", " 12.4.2 Grafiktegning (Java2D)", " 12.4.3 Udskrivning", " 12.5 Grafiske brugergrænseflader (java.awt del 2)", " 12.5.1 Grafiske komponenter i java.awt", " 12.5.2 Containere i java.awt", " 12.5.3 Appletter (pakken java.applet)", " 12.5.4 Layout-managere i java.awt", " 12.5.5 Hændelser i java.awt", " 12.5.6 Menuer i java.awt", " 12.5.7 Kopiering, udklipsholder og træk-og-slip", " 12.6 Lyd", " 12.6.1 WAV/indspillet lyd (javax.sound.sampled)", " 12.6.2 MIDI/nodebaseret musik (javax.sound.midi)", " 12.7 Netværkskommunikation (java.net)", " 12.8 Databasekommunikation (java.sql)", " 12.9 Fjernkald af metoder (java.rmi)", " 12.10 Sikkerhed, kryptering, adgangskontrol (java.security)", "13 Mobiltelefoner (J2ME)", " 13.1 Introduktion til midletter", " 13.1.1 Eksempel - en simpel midlet", " 13.1.2 Prøvekøre en midlet", " 13.1.3 Midletters livscyklus", " 13.2 Brugergrænseflader i midletter", " 13.2.1 Klassen Display (den fysiske skærm)", " 13.2.2 Klassen Displayable (skærmbilleder)", " 13.2.3 Klassen Ticker (rulletekst på et skærmbillede)", " 13.2.4 Klassen Image (billeder)", " 13.2.5 Klassen Font (skrifttyper)", " 13.3 Direkte grafiktegning og spil", " 13.3.1 Klassen Canvas", " 13.3.2 Klassen GameCanvas og lagdelt grafik", " 13.3.3 Klassen Graphics", " 13.4 Grafiske standardkomponenter", " 13.4.1 Eksempel: Gæt et tal", " 13.4.2 Kommandoer og hændelser i midletter", " 13.4.3 TextBox", " 13.4.4 Alert", " 13.4.5 List", " 13.4.6 Form", " 13.5 Tilgængelige klasser fra J2SE", " 13.5.1 Pakken java.lang", " 13.5.2 Pakken java.util", " 13.5.3 Pakken java.io", " 13.6 Netværkskommunikation", " 13.6.1 Pakken javax.microedition.io", " 13.6.2 Eksempel: Kommunikation med webserver", " 13.7 Gemme data i telefonen", " 13.8 Udviklingsværktøjer til midletter", " 13.8.1 Wireless Toolkit", " 13.8.2 Sun ONE Studio Mobile Edition", " 13.8.3 Borland JBuilder MobileSet", " 13.9 Opbygningen af J2ME", " 13.9.1 Konfigurationer", " 13.9.2 Profiler", " 13.10 Yderligere læsning", "14 Servere (J2EE & EJB)", " 14.1 J2EE-platformens dele", " 14.2 Webservere (servletter og JSP)", " 14.2.1 JSP-sider", " 14.2.2 HTML-formularer", " 14.3 RMI - objekter over netværk", " 14.3.1 Principper i kald over et netværk", " 14.3.2 Fjerninterfacet til serverobjektet", " 14.3.3 Implementationen af serverobjektet", " 14.3.4 Klientsiden - brug af fjerninterfacet", " 14.4 EJB-bønner", " 14.4.1 Kildeteksten i en bønne", " 14.4.2 Eksempel: Veksler", " 14.4.3 EJB-Containerens information om Veksler", " 14.5 Bruge en EJB-bønne", " 14.5.1 JNDI (Java Naming and Directory Interface)", " 14.5.2 Brug af Veksler-bønnen", " 14.5.3 Brug af Veksler fra JSP", " 14.6 Typer af EJB-bønner", " 14.6.1 Sessionsbønner", " 14.6.2 Entitetsbønner", " 14.6.3 Meddelelses-drevne bønner", " 14.6.4 Tilstandsfuld sessionsbønne: Brugeradgang", " 14.6.5 Opgaver", " 14.7 Entitetsbønner", " 14.7.1 Eksempel på en entitetsbønne", " 14.7.2 Fremfindingsmetoder", " 14.7.3 Idriftsætte bønnen", " 14.7.4 Bruge bønnen", " 14.7.5 Fremfinde entitetsbønner i EJB 1.1", " 14.7.6 EJB 2.0 og EJB Query language (EJBQL)", " 14.7.7 Opgaver", " 14.8 Transaktioner", " 14.8.1 JTS (Java Transaction Service)", " 14.8.2 Transaktioner i JDBC (resumé)", " 14.8.3 Transaktioner i en EJB-container", " 14.8.4 Deklarativ transaktionsstyring af metodekald", "Anden del: Videregående objektorienteret programmering", "15 Videregående OOP", " 15.1 Arv", " 15.1.1 Holdninger til arv", " 15.1.2 Modstrid mellem holdningerne", " 15.1.3 Øvelse", " 15.1.4 Nedarvinger, hvor funktionaliteten ikke udvides, men begrænses", " 15.2 Delegering (i stedet for arv)", " 15.2.1 At skjule nogle metoder", " 15.2.2 Modellering af roller", " 15.2.3 Resumé og konklusion", " 15.3 Specificér funktionalitet i et interface", " 15.3.1 Repetition af interfaces", " 15.3.2 Eksempel: Stak", " 15.3.3 Eksempel: Collections-klasserne", " 15.4 Konstanterklæringer i et interface", " 15.5 Markeringsinterface", " 15.6 Ansvarsområder", " 15.6.1 Eksempel på tildeling af ansvarsområder", " 15.6.2 Ekspert", " 15.6.3 Skaber", " 15.7 Lav kobling og høj kohæsion", " 15.7.1 Lav kobling", " 15.7.2 Høj kohæsion", " 15.7.3 Indkapsling", " 15.7.4 Indkapsling og pakker", " 15.8 GRASP", " 15.9 Introduktion til designmønstre", " 15.9.1 Designmønstre berørt i de følgende kapitler", "16 Skabende designmønstre", " 16.1 Overordnet idé", " 16.1.1 Fabrikeringsmetoder", " 16.2 Fabrik", " 16.2.1 Eksempel: Image", " 16.3 Singleton", " 16.3.1 Eksempel: java.lang.Runtime", " 16.3.2 Eksempel: java.awt.Toolkit", " 16.3.3 Eksempel: Dataforbindelse", " 16.3.4 Singleton med sen initialisering", " 16.3.5 Singleton uden privat konstruktør", " 16.4 Abstrakt Fabrik", " 16.4.1 Eksempel: AdresseFabrik", " 16.4.2 Eksempel fra standardklasserne: AWT", " 16.5 Bygmester", " 16.5.1 Trinvis konstruktion", " 16.5.2 Eksempel på trinvis konstruktion: E-post", " 16.5.3 Eksempel på netværk af objekter: Funktioner", " 16.6 Prototype", " 16.6.1 Interfacet Cloneable", " 16.6.2 Overfladisk og dyb kopiering", " 16.6.3 Eksempel: Et tegneprogram", " 16.7 Objektpulje", " 16.7.1 Eksempel: Begrænsede resurser", " 16.7.2 Variation: Klient 'hænger', hvis puljen løber tør", " 16.7.3 Genbrug af tråde", " 16.7.4 Opgave: Objektpulje med objektfabrik", " 16.8 Større eksempel: Dataforbindelse", " 16.8.1 Specialiseringer af Dataforbindelse", " 16.8.2 Dataforbindelse over netværk", " 16.8.3 Dataforbindelse, der cacher forespørgsler", " 16.8.4 Endelig udgave af Dataforbindelse", "17 Hyppigt anvendte designmønstre", " 17.1 Proxy", " 17.1.1 Simpelt eksempel: En stak, der logger kaldene", " 17.1.2 Variationer af designmønstret Proxy", " 17.1.3 Eksempel: Gøre data uforanderlige vha. Proxy", " 17.1.4 Doven Initialisering/Virtuel Proxy", " 17.1.5 Eksempel på Virtuel Proxy: En stak der først oprettes, når den skal bruges", " 17.2 Adapter", " 17.2.1 Simpelt eksempel", " 17.2.2 Anonyme klasser som adaptere", " 17.2.3 Anonyme adaptere til at lytte efter hændelser", " 17.2.4 Eksempel: Få data til at passe ind i en JTable", " 17.2.5 Ikke-eksempel: Adapter-klasserne", " 17.3 Iterator", " 17.3.1 Iteratorer i Collections-klasserne", " 17.3.2 Definere sin egen form for iterator", " 17.3.3 Iteratorer i JDBC", " 17.3.4 Iterator til at gennemløbe geometriske figurer", " 17.4 Facade", " 17.4.1 Eksempel: URL", " 17.4.2 Eksempel: Socket og ServerSocket", " 17.5 Observatør/Lytter", " 17.5.1 Eksempel: Hændelser", " 17.5.2 Eksempel: Kalender", " 17.6 Dynamisk Binding", " 17.6.1 JDBC og Dynamisk Binding", " 17.6.2 Eksempel: Fortolkning af matematikfunktioner", " 17.7 Opgaver", " 17.8 Løsninger", " 17.8.1 Dataforbindelseslogger", " 17.8.2 Designmønstre i JDBC", "18 Andre designmønstre", " 18.1 Uforanderligt objekt (Immutable)", " 18.1.1 Uforanderlige objekter i standardbiblioteket", " 18.1.2 Eksempel - en uforanderlig punkt-klasse", " 18.1.3 Opgave", " 18.2 Fluevægt", " 18.2.1 Eksempel: Strenge", " 18.2.2 Eksempel: Dele UforanderligtPunkt-objekter", " 18.3 Filter", " 18.3.1 Eksempel: Kunde-filtre", " 18.3.2 Eksempel: Streng-filtre", " 18.3.3 Opgave", " 18.3.4 Eksempel: Output- og InputStream-klasserne", " 18.3.5 Avanceret: Læse vs. skrive data", " 18.4 Lagdelt Initialisering", " 18.4.1 Simpelt eksempel", " 18.4.2 Lagdelt initialisering vs. fabrikeringsmetode", " 18.4.3 Eksempel: URL-klassen", " 18.4.4 Avanceret lagdelt initialisering", " 18.4.5 Avanceret lagdelt initialisering og dynamisk binding i URL-klassen", " 18.5 Komposit/Rekursiv komposition", " 18.5.1 Analogi til byggeindustrien", " 18.5.2 Eksempel: Component/Container", " 18.5.3 Eksempel: Funktioner", " 18.6 Kommando", " 18.6.1 Eksempel", " 18.6.2 Avanceret: Variationer af designmønstret", " 18.6.3 Opgaver", " 18.7 Opgave: Designmønstre i standardbibliotekerne", " 18.7.1 Løsning: Designmønstre i standardbiblioteket", "19 Model-View-Controller-arkitekturen", " 19.1 De tre dele af MVC", " 19.1.1 Modellen", " 19.1.2 Præsentationen", " 19.1.3 Kontrol-delen", " 19.2 Relationer mellem delene", " 19.2.1 Informationsstrøm gennem MVC", " 19.2.2 Opdatering af præsentationen - tre muligheder", " 19.2.3 A - Præsentationer undersøger modellen", " 19.2.4 B - Kontroldel underretter præsentationer", " 19.2.5 C - Modellen underretter præsentationer", " 19.3 Eksempel - bankkonti", " 19.3.1 Modellen", " 19.3.2 Præsentationer", " 19.3.3 Kontroldel", " 19.4 Model-View - "den lille MVC"", " 19.4.1 Adskillelse af præsentation og programlogik", " 19.5 Opgaver", " 19.5.1 Løsning", "Stikordsregister".

Ganske grundig lærebog med mange og fornuftige eksemple
Show Less

Publication

Nærum : Globe, 2003.

Language

Original language

Danish

Physical description

320 p.; 24.6 cm

ISBN

8779001955 / 9788779001954

Local notes

Omslag: Per Schou
Omslaget viser en dampende kop kaffe - java logoet
Indskannet omslag - N650U - 150 dpi

Pages

320

Library's rating

Rating

(1 rating; 4)
Page: 0.2314 seconds