Sie sind hier
E-Book

Das Java 2 JDK 5 Lehrbuch

Sprache und Bibliotheken

VerlagC & L Computer- und Literaturverlag GmbH
Erscheinungsjahr2005
Seitenanzahl845 Seiten
ISBN9783936546255
FormatPDF
KopierschutzDRM
GerätePC/MAC/eReader/Tablet
Preis20,00 EUR

Karsten Wolke (Hrsg.), Anja Austermann, Kostyantyn Yermashov
Das Java 2 JDK 5 Lehrbuch
Sprache und Bibliotheken


Java hat sich als plattformunabhängige Sprache zur unkomplizierten Entwicklung skalierbarer Client- und Server-Anwendungen etabliert.

Dieses umfassende Lehrbuch auf der Basis des JDK 5 ist für das Erlernen der objektorientierten Programmiersprache Java und der Bibliotheken des JDK bestens geeignet. Es ist sowohl für das Selbststudium als auch als Begleitmaterial zu Kursen zu empfehlen. Der Einsteiger findet darin alles, was er über Java wissen muß, er lernt die grundlegenden Eigenschaften und Sprachkonzepte praxisgerecht kennen und weiß nach der Lektüre der Spracheinführung, wie man Programmabläufe modelliert und effiziente Anwendungen entwirft.

Hat sich der Leser mit den Sprachstrukturen vertraut gemacht, führen die Autoren durch die Bibliotheken des JDK auf Server und Client. Sie erklären, wie man unter Einsatz der vielen neuen Features des JDK 5 Applikationen, Applets, Servlets und Java Server Pages schreibt. Dabei erfährt man, wie man lokalen Daten und Informationen aus dem Netzwerk liest und schreibt und mit Swing anwenderfreundliche Oberflächen für Programme entwickelt, auch das Drucken, die Grafik und Audio kommen nicht zu kurz.

Großen Wert legen die Autoren auch auf das Thema Sicherheit: Nicht nur das allgemeine Abfangen von Ausnahmen wird behandelt, auch der Aufbau von Sandboxes wird geschildert. Wer trotzdem bei lokalen Java-Anwendungen – auf eigenes Risko – direkt auf die Funktionen des Betriebssystems zugreifen will, erfährt im Buch, wie das geht.

Die Themen:

-- Die Neuerungen des JDK 5: New I/O, Generics, Enums, Autoboxing
-- GUI-Programme mit Swing
-- 2- und 3D-Grafik
-- Multitasking und Multithreading
-- Netzwerk-Programmierung und verteilte Anwendungen
-- Applets, Applikationen, Servlets und Java Server Pages
-- Sicherheit

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

3 Weiterführende Spracheigenschaften (S. 138-139)

3.1 ZEICHENKETTEN
von Karsten Wolke

3.1.1 Die Klasse String

Zeichenketten sind unumstritten wohl eine der meist verwendeten Datenstrukturen in vielen Programmen. Wie in vielen anderen Programmiersprachen auch gibt es in Java für Zeichenketten eine eigene Datenstruktur. Viele Programmiersprachen bieten einen primitiven Datentypen für Zeichenketten an, in Java dagegen werden Zeichenketten hauptsächlich durch die Klasse java.lang.String repräsentiert. Mittlerweile werden die Begriffe String und Zeichenkette von Entwicklern und in der Literatur synonym verwendet. An dieser Stelle soll der Umgang mit der Klasse String erläutert und die Behandlung von Strings in Java verdeutlicht werden. Die String-Klasse hat im wesentlichen dieselbe Bedeutung wie Zeichenketten in anderen Sprachen auch. Einer ihrer Haupteinsatzgebiete ist die Ein- und Ausgabeverarbeitung. Überall dort, wo der Anwender mit dem Programm in Kontakt tritt, werden Zeichenketten verwendet – bei der Ausgabe eines Ergebnisses, eines Fehlers, einer Warnung und auch beim Einlesen von Daten. Eine Zeichenkette ist in Java ein Objekt der Klasse String. Sie bietet mehrere Konstruktoren und eine Reihe von Methoden zum Erzeugen einer Zeichenkette. Die Methoden dienen im wesentlichen zum Zerlegen einer Zeichenkette in eine Teilzeichenkette, zum Vergleichen von Zeichenketten und zum Suchen in einer Zeichenkette.

In Java sind Zeichenketten beziehungsweise Objekte der Klasse String eine Aneinanderreihung von Zeichen. Ein Zeichen wird in Java durch den primitiven Datentypen char dargestellt und repräsentiert ein Unicodezeichen. Informationen zum char- Datentyp, zum Unicode-Standard und zu den Escape-Sequenzen in Zeichenketten sind im Abschnitt 2.1.4 zu finden.

Der Umgang mit Zeichenketten in Java ist nicht viel anders als in anderen Programmiersprachen, die auf dem ASCII.Standard basieren, der abhängig von der Spracheinstellung des Systems nur 256 Zeichen groß ist. Lediglich die ersten 128 Zeichen sind auf jedem System identisch. Da der Unicode- aber mit dem ASCIIStandard weitestgehend kompatibel ist, muß sich der Umsteiger nicht zu viele Gedanken machen.

Weil ein Zeichen in Java grundsätzlich zwei Byte groß ist, sind Zeichenketten in Java doppelt so groß wie in anderen Programmiersprachen, die den ASCII-Zeichensatz verwenden. Diese Eigenschaft hat aber nur bei der externen Ablage von Zeichenketten eine Bedeutung, beispielsweise beim Schreiben einer Textdatei. Bei der internen Behandlung von Strings in Java bemerkt der Entwickler keinen Unterschied zu einer anderen Programmiersprache.

In Java bleibt die innere Struktur einer Zeichenkette verborgen. Ob Java einen String als Character-Array oder auf eine andere Weise behandelt, sieht der Entwickler nicht. Die Analyse beziehungsweise der Zugriff auf die Zeichen eines Strings erfolgt über Methoden der Klasse String.

Besonderheiten von Strings in Java

String-Objekte sind in Java nicht dynamisch. Das heißt, die Zeichenkette, die ein Objekt von String repräsentiert, kann nicht manipuliert beziehungsweise verändert werden. Damit bleiben Länge und Inhalt eines String-Objekts immer gleich. Zudem ist die Klasse String als final deklariert worden. Das heißt, es können keine Unterklassen von der Klasse String erzeugt werden. Diese Eigenschaften bringen Geschwindigkeitsvorteile für die Java-Laufzeitumgebung. Beispielsweise muß der Speicherbereich für eine Zeichenkette nicht dynamisch angepaßt werden, denn ein String-Objekt kann seinen Inhalt und seine Länge nicht verändern. Zudem muß bei der Ausführung von Methoden nicht geprüft werden, ob das Objekt eine Unterklasse von String ist und Methoden dieser Klasse überschrieben hat. Neben den Geschwindigkeitsvorteilen für die Java-Laufzeitumgebung hat dies auch einen Nachteil für den Entwickler: Man kann String nicht um nützliche Methoden erweitern. Wenn man Operationen auf Strings definieren möchte, muß man eine neue Klasse dafür definieren und das String-Objekt als Parameter übergeben. Dies verletzt aber den objektorientierten Gedanken. Operationen und Daten sollten immer zu einer Klasse zusammengefaßt werden.

Veränderbare Zeichenketten werden in Java durch die beiden Klassen StringBuffer und StringBuilder repräsentiert. Möchte man mehrere Operationen auf einer Zeichenkette durchführen, bieten sich diese Klassen eher an als String. Die folgende Anweisung beweist das:

String str = "Hello" + "World",

Zunächst wird für die Literale Hello und World jeweils ein String-Objekt erzeugt. Danach werden die beiden String-Objekte konkateniert. Das Ergebnis dieser Operation ist ein neues String-Objekt, das der Variablen str zugewiesen wird. Da die beiden String-Objekte mit den Zeichenketten Hello und World nicht mehr verwendet werden, kann der Garbage Collector diesen Speicherbereich wieder freigeben. Führt man also Operationen auf Zeichenketten aus, kommt es zu einem nicht zu unterschätzenden Overhead. Die beiden Klassen StringBuffer und StringBuilder wurden extra für veränderbare Zeichenketten entwickelt und werden in einem gesonderten Abschnitt dieses Kapitels behandelt.

Die Klasse String besitzt eine Reihe von Konstruktoren zum Erzeugen von Zeichenketten, und Methoden zur Durchführung von Operationen auf Zeichenketten. Das Ergebnis einer Stringmanipulation ist immer ein neues String-Objekt. Aus diesem Grund verändern die Methoden eines String-Objekts auch nicht das Objekt selbst. Sie führen eine Operation auf die Zeichenkette des Objekts aus und liefern das Ergebnis der Operation als Rückgabewert.

Konstruktoren der Klasse String

Eine Zeichenkette ist in Java ein Objekt. Damit übernimmt die Java-Laufzeitumgebung automatisch das Speichermanagement. Als Entwickler muß man sich nicht wie beispielsweise in der Programmiersprache C oder C++ darum kümmern. Je nach Länge der Zeichenkette wird Speicher bereitgestellt. Wenn die Zeichenkette nicht mehr verwendet wird, wird der Speicherbereich durch den Garbage Collector wieder freigegeben. Zeichenketten können durch eine Reihe von Konstruktoren der Klasse String erzeugt werden:

Inhaltsverzeichnis
Inhalt6
1 Das Fundament von Java16
1.1 DIE SPRACHE JAVA17
1.1.1 Warum Java?17
1.2 OBJEKTORIENTIERTE PROGRAMMIERUNG25
1.2.1 Objekt25
1.2.2 Methode25
1.2.3 Kapselung von Eigenschaften26
1.2.4 Nachrichten27
1.2.5 Klasse27
1.2.6 Vererbung28
1.2.7 Überschreiben von Methoden und Eigenschaften29
1.2.8 Überladung von Methoden30
1.2.9 Mehrfachvererbung31
1.3 DIE INSTALLATION32
1.3 DIE INSTALLATION JAVA32
1.3.1 Installation von J2SE32
1.3.2 Installation des JDK33
1.3.3 Installation der Dokumentation des JDK34
1.3.4 Installation der Quelltexte35
1.3.5 Java-Software entwickeln35
1.3.6 Entwicklungswerkzeuge36
2 Grundlagen von Java38
2.1 GRUNDLEGENDE PROGRAMMIERSTRUKTUREN39
2.1.1 Das erste Java-Programm39
2.1.2 Kommentare41
2.1.3 Bezeichner43
2.1.4 Datentypen44
2.1.5 Variablen48
2.1.6 Konstanten49
2.1.7 Arrays50
2.1.8 Speichermanagement53
2.1.9 Typkonvertierungen54
2.1.10 Ausdrücke56
2.1.11 Anweisungen65
2.2 OBJEKTORIENTIERTE PROGRAMMIERSTRUKTUREN81
2.2.1 Klassen81
2.2.2 Eigenschaften82
2.2.3 Objekte82
2.2.4 Methoden83
2.2.5 Die this-Referenz88
2.2.6 Konstruktoren89
2.2.7 Destruktoren90
2.2.8 Pakete91
2.2.9 Modifier97
2.2.10 Statische Strukturen103
2.2.11 Vererbung106
2.2.12 Initialisierungsprozeß eines Objekts111
2.2.13 Aufruf überschriebener Methoden aus Konstruktoren113
2.2.14 Abstrakte Klassen114
2.2.15 Schnittstellen (Interfaces)116
2.2.16 Innere und anonyme Klassen120
2.3 EXCEPTIONS124
2.3.1 Abfangen und Behandeln von Exceptions125
2.3.2 Die Klassifizierung von Exceptions127
2.3.3 Das Ausnahmeobjekt verwenden128
2.3.4 Mehr als eine Ausnahme abfangen129
2.3.5 Die finally-Klausel131
2.3.6 Weiterleiten von Exceptions132
2.3.7 Struktur der Ausnahmebehandlung133
2.3.8 Eigene Exception-Typen definieren134
2.3.9 Auslösen einer Exception135
3 Weiterführende Spracheigenschaften138
3.1 ZEICHENKETTEN139
3.1.1 Die Klasse String139
3.1.2 StringBuffer und StringBuilder150
3.1.3 Die Klasse StringTokenizer152
3.2 HILFSKLASSEN155
3.2.1 Wrapper-Klassen155
3.2.2 Mathematische Klassen162
3.2.3 Die Klasse Arrays170
3.2.4 Die Klasse System172
3.2.5 Die Klasse Runtime180
3.2.6 Die Klassen Date, Calendar und GregorianCalendar184
3.3 EVENTS188
3.3.1 Ereignisverarbeitung in Java189
3.3.2 Ereignistypen191
3.3.3 Ereignisempfänger191
3.3.4 Ereignisquellen191
3.3.5 AWT-Ereignisse192
3.3.6 Implementierung von Ereignisempfängern202
3.3.7 Eigene Ereignisse definieren und auslösen211
3.4 COLLECTIONS216
3.4.2 Java-Implementierungen der Mengenklassen218
3.4.3 Synchronisation von Collections226
3.4.4 Das Interface Iterator zum Durchlaufen von Collections226
3.4.5 Suchen, Sortieren und andere Algorithmen227
3.5 ENTWURFSMUSTER232
3.5.1 Singleton233
3.5.2 Immutable235
3.5.3 Factory237
3.5.4 Iterator242
3.5.5 Delegate244
4 Erweiterte Sprachkonzepte248
4.1 AUTOBOXING UND UNBOXING249
4.1.1 Regeln für das Autoboxing beziehungsweise Unboxing251
4.2 STATIC IMPORTS256
4.2.1 Statische Importe257
4.2.2 Gefahren und Nachteile statischer Importe259
4.3 TYPSICHERE AUFZÄHLUNGEN261
4.3.1 Aufzählungen mit enum262
4.3.2 Eigenschaften und Struktur von enum-Aufzählungen264
4.3.3 Aufzählungen innerhalb anderer Strukturen erzeugen265
4.3.4 Iteration über Aufzählungen266
4.3.5 enum-Aufzählungen in switch-Anweisungen266
4.3.6 Mengen von Aufzählungen268
4.3.7 Benutzerdefinierte Elemente in enums270
4.3.8 Schnittstellen implementieren in Aufzählungen271
4.3.9 Aufzählungswertbezogene Klassenrümpfe272
4.4 VARIABLE PARAMETERLISTEN274
4.4.1 Variable Parameterlisten als erweitertes Sprachkonzept276
4.4.2 Einschränkungen von VarArgs-Definitionen277
4.5 METADATEN277
4.5.1 Deklaration von Annotationstypen278
4.5.2 Annotationsverarbeitung281
4.6 GENERICS291
4.6.1 Definition parametrisierbarer Typen295
4.6.2 Untertypisierung300
4.6.3 Bounds300
4.6.4 Generische Methoden und Konstruktoren304
4.6.5 Wildcards306
4.6.6 Java Generics kompilieren310
4.6.7 Besonderheiten von Java Generics315
4.6.8 Generischen Quellcode mit nicht generischem Quellcode verknüpfen320
5 Datenströme und Datenpersistenz324
5.1 EIN- UND AUSGABE VON DATEN325
5.1.2 Stream-Klassen326
5.1.3 Wahlfreier Zugriff auf Dateien334
5.1.4 Einfache Datenein- und -ausgabe mit der Klasse System336
5.2.1 Objekte serialisieren und deserialisieren338
5.2.2 Der Serialisierungs-Mechanismus340
5.2.3 Erweiterte Eigenschaften der Serialisierung340
5.3 NEW I/O342
5.3.1 Puffer343
5.3.2 Channels346
5.3.3 Dateisperren347
5.3.4 File Memory Mapping347
5.3.5 Scattering und Gathering348
5.3.6 Non-blocking und Multiplexed I/O349
5.3.7 Zeichensätze351
5.4 DATENBANKEN MIT JDBC352
5.4.1 Die Architektur von JDBC353
5.4.2 Kommunikation via JDBC356
5.4.3 Beispieldatenbank362
5.4.4 Weiterführende JDBC-Eigenschaften370
6 GUI-Programmierung376
6.1 SWING377
6.1.1 Das Prinzip von Swing377
6.1.2 Komponenten der Bibliothek Swing381
6.2 DRAG&DROP459
6.2.1 Drag&Drop-Unterstützung in Swing459
6.2.2 TransferHandler für die Datenübertragung461
6.2.3 Datei-Drag&Drop465
7 Netzwerk und verteilte Systeme470
7.1 TCP-/UDP-SOCKETS471
7.1.1 Das erste Netzwerkprogramm472
7.1.2 Der Client lernt sprechen473
7.1.3 Ein erster Internet-Server...476
7.1.4 Quasseln im Netz – der Chatserver479
7.1.5 UDP-Sockets485
7.1.6 Die Klassen URL und URLConnection489
7.1.7 Die Klasse URI492
7.2 RMI – VERTEILTE PROGRAMMIERUNG IN JAVA493
7.2.1 Entwurf einer verteilten Applikation mit Hilfe von RMI494
7.2.2 Verteilte Beispielapplikation495
7.2.3 Dynamisches Generieren von Stubs504
7.2.4 Skalierung von entfernten Objekten505
7.2.5 Weitere Eigenschaften von RMI510
7.3 EVENT HANDLING IN VERTEILTEN SYSTEMEN511
7.3.1 Fallbeispiel Value Change511
7.3.2 Implementierung von Listenern in verteilten Systemen517
7.4 SERVLETS – DIE ALTERNATIVE ZU CGI526
7.4.1 Vorteile von Servlets gegenüber CGI-Skripten526
7.4.2 Servlets programmieren526
7.4.3 Kommunikation leichtgemacht – der Java-Chat530
7.4.4 Cookies – Informative Krümel536
7.4.5 Sessions – Behalten Sie Ihre Kunden im Auge541
7.5 JAVA SERVER PAGES547
7.5.1 Wann Servlets, wann JSPs?548
7.5.2 Die Struktur von JSPs549
7.5.3 JSPs laden550
7.5.4 JSP-Elemente551
7.5.5 Scopes567
7.5.6 Implizite Objekte567
7.5.7 Expression Language (EL)568
7.5.8 Tag-Extensions569
7.6 JAVA NAMING AND DIRECTORY INTERFACE (JNDI)576
7.6.1 Die Architektur von JNDI577
7.6.2 Programmieren mit der JNDI-API580
7.6.3 Zusammenfassung585
7.7 APPLETS585
7.7.1 Kompatibilitätsprobleme586
7.7.2 Das HelloWorld-Applet586
7.7.3 Applets und Applikationen588
7.7.4 Das APPLET-Tag589
7.7.5 Übergeben von Parametern an Applets590
7.7.6 Die Klasse Applet591
7.7.7 Sicherheitsbeschränkungen595
8 Konkurrierende Programmierung596
8.1 MULTITHREADING597
8.1.1 Die Klasse Thread598
8.1.2 Die Schnittstelle Runnable606
8.1.3 Threadgruppen611
8.1.4 Die Klassen Timer und TimerTask614
8.2 SYNCHRONISATION616
8.2.1 Monitore618
8.2.2 Die Methoden wait() und notify()623
8.2.3 Die Klassen PipedInputStream und PipedOutputStream626
8.3 CONCURRENCY628
8.3.1 Das Interface Executor628
8.3.2 Semaphore629
8.3.3 Locks630
8.3.4 CyclicBarrier632
9 Weitere Java-Klassenbibliotheken634
9.1 SICHERHEIT IN JAVA635
9.1.1 Das Sandbox-Modell635
9.1.2 Das Security-API636
9.1.3 Der Security Manager638
9.1.4 Der Access Controller641
9.1.5 Beispielanwendung650
9.2 PREFERENCES654
9.2.1 Die Architektur des Preferences API655
9.2.2 Die Klasse Preferences655
9.2.3 Beispielanwendung658
9.3 REGULÄRE AUSDRÜCKE661
9.3.1 Die Syntax regulärer Ausdrücke662
9.3.2 Die Klasse Pattern664
9.3.3 Die Klasse Matcher665
9.3.4 Redundante Methoden in der Klasse String666
9.3.5 Beispielszenarios für reguläre Ausdrücke666
9.4 DRUCKEN MIT DEM PRINTSERVICE-API670
9.4.1 Einfache Dokumente drucken670
9.4.2 Drucken in eine Postscriptdatei673
9.4.3 Drucken von frei formatierten Dokumenten675
9.5 SOUND IN JAVA677
9.5.1 JavaMediaFramework versus Java Sound677
9.5.2 Wie funktioniert Audio-Sampling?678
9.5.3 Einbindung von Audiodateien mit der Klasse AudioClip679
9.5.4 Aufnahme und Wiedergabe mit dem Java-Sound-API681
9.5.5 Achtung, Aufnahme!685
9.5.6 MIDI688
9.6 DAS REFLECTION-API691
9.6.1 Die Basisklassen Object und Class692
9.6.2 Modifier analysieren696
9.6.3 Dynamisches Laden und Objekterzeugung von Klassen697
9.6.4 Dynamische Methodenaufrufe699
9.7 LOGGING709
9.7.1 Einfaches Logging710
9.7.2 Erweitertes Logging711
9.7.3 Anpassen der Logging-Konfiguration714
9.7.4 Handler715
9.7.5 Filter definieren721
9.7.6 Formatter definieren722
9.8 JAVA NATIVE INTERFACE723
9.8.1 Erstellen von Java-Klassen mit nativen Methoden723
9.8.2 Mapping zwischen Java und nativen Datentypen727
9.8.3 Zugriff auf Java-Objekte in nativen Methoden728
10 Grafikprogrammierung738
10.1 GRAFIK MIT DEM 2D-API739
10.1.1 Koordinatensysteme739
10.1.2 Einfache Formen zeichnen740
10.1.3 Verwenden komplexerer 2D-API-Zeichenfunktionen742
10.1.4 Figur + Figur = Constructive Area Geometry744
10.1.5 Komplexere Zeichenobjekte – Kurven und General Paths746
10.1.6 Transformationen749
10.1.7 Fonts751
10.1.8 Linien zeichnen – das Interface »Stroke«753
10.1.9 Bilder, Farbverläufe – Formen füllen756
10.1.10 Bildbearbeitung761
10.1.11 Transparenz und die Klasse AlphaComposite763
10.1.12 Bildbearbeitung mit der Klasse BufferedImage766
10.1.13 Filter768
10.1.14 Animationen in Java773
10.1.15 Clipping775
10.2 DREIDIMENSIONALE GRAFIKEN MIT DEM 3D-API777
10.2.1 Licht aus – Spot an! Noch mehr Beleuchtung781
10.2.2 Weitere Objekte – die Interfaces Shape3D und Primitive782
10.2.3 Das Aussehen von Objekten festlegen – Appearance785
10.2.4 Bewegung kommt ins Spiel: Transformation und Behavior790
10.2.5 Die Klasse Interpolator799
10.2.6 Interaktion802
Anhang A Werkzeuge des JDK806
Literaturverzeichnis828
Stichwortverzeichnis830
Mehr eBooks bei www.ciando.com0

Weitere E-Books zum Thema: Sonstiges IT

Citrix Presentation Server

E-Book Citrix Presentation Server
Format: PDF

Der Citrix MetaFrame Presentation Server ist unangefochtener Marktführer unter den Terminalservern für Windows-Systeme. Unternehmen setzen ihn ein, um die Systemverwaltung von Windows-Netzwerken…

Citrix Presentation Server

E-Book Citrix Presentation Server
Format: PDF

Der Citrix MetaFrame Presentation Server ist unangefochtener Marktführer unter den Terminalservern für Windows-Systeme. Unternehmen setzen ihn ein, um die Systemverwaltung von Windows-Netzwerken…

Home Networking

E-Book Home Networking
Format: PDF

Home Networking - das bedeutet die Verbindung der unterschiedlichsten im Haushalt vorhandenen elektronischen Geräte, sei es per Kabel oder drahtlos per Funk. Das beginnt meist mit der Vernetzung von…

Weitere Zeitschriften

Atalanta

Atalanta

Atalanta ist die Zeitschrift der Deutschen Forschungszentrale für Schmetterlingswanderung. Im Atalanta-Magazin werden Themen behandelt wie Wanderfalterforschung, Systematik, Taxonomie und Ökologie. ...

Card Forum International

Card Forum International

Card Forum International, Magazine for Card Technologies and Applications, is a leading source for information in the field of card-based payment systems, related technologies, and required reading ...

cards Karten cartes

cards Karten cartes

Die führende Zeitschrift für Zahlungsverkehr und Payments – international und branchenübergreifend, erscheint seit 1990 monatlich (viermal als Fachmagazin, achtmal als ...

care konkret

care konkret

care konkret ist die Wochenzeitung für Entscheider in der Pflege. Ambulant wie stationär. Sie fasst topaktuelle Informationen und Hintergründe aus der Pflegebranche kompakt und kompetent für Sie ...

DULV info

DULV info

UL-Technik, UL-Flugbetrieb, Luftrecht, Reiseberichte, Verbandsinte. Der Deutsche Ultraleichtflugverband e. V. - oder kurz DULV - wurde 1982 von ein paar Enthusiasten gegründet. Wegen der hohen ...

EineWelt

EineWelt

Lebendige Reportagen, spannende Interviews, interessante Meldungen, informative Hintergrundberichte. Lesen Sie in der Zeitschrift „EineWelt“, was Menschen in Mission und Kirche bewegt Man kann ...

Eishockey NEWS

Eishockey NEWS

Eishockey NEWS bringt alles über die DEL, die DEL2, die Oberliga sowie die Regionalligen und Informationen über die NHL. Dazu ausführliche Statistiken, Hintergrundberichte, Personalities ...

Evangelische Theologie

Evangelische Theologie

Über »Evangelische Theologie« In interdisziplinären Themenheften gibt die Evangelische Theologie entscheidende Impulse, die komplexe Einheit der Theologie wahrzunehmen. Neben den Themenheften ...

FileMaker Magazin

FileMaker Magazin

Das unabhängige Magazin für Anwender und Entwickler, die mit dem Datenbankprogramm Claris FileMaker Pro arbeiten. In jeder Ausgabe finden Sie von kompletten Lösungsschritten bis zu ...