Kaffee & Kuchen HTML Datenbank
Web Datenbank - web database
Kaffee & Kuchen
die führende deutsche
Java-Seite
von Christoph Bergmann
und Hannes Gamperl


Was ist Java? Was kann man mit Java machen? Was Java NICHT kann...

Suche

Erweiterte Suche

Kommunikation
Chat
Forum

Java-Neuigkeiten

Einführung
Was ist Java?
Wie fange ich an?
Bücher über Java

Workshops
Animacons für jeden
Chat selbst gemacht
JDBC

Wissen
Entwicklungssysteme

Ressourcen
Applet-Bibliothek
Deutsche Java-Links
Internat. Java-Links
Glossar
News-Archiv

K&K Intern
Pressespiegel
Auszeichnungen
Werbung auf K&K

Weitere Angebote
Milch&Zucker: DHTML
K.&Kekse: Javascript
mac.seite: Apple

Fragen, Lob & Kritik
bitte in das Forum

EMail an java@acc.de
nur, wenn es nichts Allgemeines ist.

Kaffee & Kuchen
ist ein Service von
ACCESS Internet


Einführung in Java
    "Was ist Java?"

    In einem langen Satz:

      Java ist...

    • eine plattformunabhängige Programmiersprache, die ursprünglich von der Firma Sun Microsystems, entwickelt wurde. Java wird in allen IT-Bereichen von Handel, Industrie und Verwaltung eingesetzt und ist für unzählige Betriebssysteme und Plattformen, vom mobilen Telefon bis hin zur Echtzeit-Großrechneranlage kostenlos verfügbar.
    • sowie natürlich die Hauptinsel Indonesiens, als auch eine kleine Insel im Pazifik, deren Hauptexportprodukt Kaffee ist
    • und damit der umgangssprachliche Ausdruck für Kaffee in den USA.


    In 6 Stichpunkten:

      Java ist...

    1. einfach & klein
      Java ist für EInsteiger und Profis gleichermaßen geeignet. Einfache Fenster-Anwendungen, Browser-Applets oder komplexe Client-/Server- und Datenbank-Module lassen sich dank der klaren Spracheigenschaften und dem gegenüber C++ verbesserten objektorientierten Konzepts schnell umsetzen.


      Java kann in der Java 2 Micro Edtion (J2ME) auf sehr kleinen (mobilen) Geräten mit geringen Ressourcen wie Prozessorleistung und Speicherplatz laufen. Die "Java 2 Standard Edition" ist die Desktop-Variante für Fenster-Applikation (Windows, Linux, Mac, Solaris, ....).
      Für mehrschichtige Client-/Server-Anwendungen wird die "Java 2 Enterprise Edition" angeboten. Hierin finden sich auch Java Servlets und Java Server Pages für die Erstellung interaktiver Webseiten.

    2. objekt-orientiert & verteilt
      "Objekt-orientiert" ist sicherlich eines der meist-verschlunzten Wörter ("Jetzt zugreifen: objekt-orientierte Programme aus der Tube !"), das ändert jedoch nichts daran, daß es sich, aus guten Gründen, in der Software-Entwicklung durchgesetzt hat.

      Wie der Name schon sagt, konzentriert man sich bei der objekt-orientierten Programmierung auf die Erstellung sog. "Objekte". Grob gesagt besteht ein Objekt aus Daten und Funktionen (sog. "Methoden"), die diese Daten verändern. Im Idealfall erzeugt man mit objekt-orientierter Programmierung wiederverwendbare Objekte ("Klassen"). Bei fortschreitender Programmierung kann man dann auf einen immer größer werdenden Pool an schon bestehenden Objekten zurückgreifen ("Klassenbibliotheken").

      Auf entfernt liegende Objekte können Java-Programme sehr einfach über das Internet zugreifen.

    3. kompiliert & schnell
      Java-Programme werden im Gegensatz zu vielen anderen Compiler-Sprachen nicht direkt in eine für einen "echten Prozessor" verständliche Menge an Befehlen übersetzt, sondern zunächst in den sog. "Java Bytecode" umgewandelt.

      Dieser Bytecode ist dennoch sehr maschinennah. Erst auf der Zielmaschine wird er in einer Java Laufzeit-Umgebung ausgeführt (Java Runtime Environment, JRE).

      Die Idee mit dem Zwischenschritt ist nicht neu und wird in vielen Compilern "unbewußt" schon lange verwendet. Viele C/C++ - und Pascal Compiler nutzen diesen Zwischenschritt intern für die Optimierung des Codes, allerdings hinterlassen sie dabei keine "Spuren", wie er sich bei Java im Bytecode und bei Micro$ofts Java Clone (C#) "Intermediate Language" genannt wird.

      Da bei Java für gewöhnlich zweimal kompiliert wird (einmal beim Entwickler und einmal beim Nutzer), wird dieses Prinzip Just-In-Time Compiler (JIT) genannt. Dies hat neben den genannten Vorteilen natürlich auch den Nachteil, dass Java-Programme länger zum Starten benötigen, da während der Initialisierung der Maschinen-Code erzeugt wird. Auch hier stehen jedoch für die unterschiedlichen Anwendungszwecke ebenso unterschiedliche Laufzeitumgebungen bereit (one size fits all gibt's nicht). J2EE mit der sog. "HotSpot Performance Engine" erlaubt den gemischten Betrieb aus interpretiertem und kompiliertem Code: Zur Laufzeit prüft die Umgebung die kritischen Stellen des Codes (die sog. "HotSpots") und führt darauf weitere Optimierungen durch, so daß das Programm "schneller wird, je länger es anläuft." (natürlich nicht für ewig ;-))

    4. robust & sicher
      Die Kombination Compiler UND Laufzeitumgebung hat für Java unter einem anderen Gesichtspunkt große Vorteile: Einerseits kann der "Vor"-Compiler auf Typenfehler und dergleichen prüfen (Java ist eine typenstrenge Sprache), anderseits kann die Java-Runtime Umgebung Fehler während der Laufzeit abfangen und behandeln - ein kompiliertes Programm würde schlimmstenfalls abstürzen.

    5. plattformunabhängig & portierbar
      Hier wird ein Traum der Software-Entwickler wahr:
      Jeder kennt das Problem mit den verschiedenen Rechner- und Betriebssystemen. Auf dem einen läufts, auf dem anderen nicht und für Software-Entwickler ist das alles wirklich ein Graus! (Man stelle sich vor, es gäbe 10 verschiedene Video-Systeme..!)
      Auch hier greift das Compiler/Interpreter-Konzept: Der Compiler übersetzt das Programm in den "Bytecode", der völlig unabhängig von irgendeinem bestehenden Prozessor ist, auf dem das Programm später vielleicht mal läuft.

      Ein- und dasselbe Java-Programm läuft ohne Änderung auf allen unterstützten Systemen!!

    6. "multithread"-fähig & dynamisch
      In einem modernen Programm passieren viele Dinge gleichzeitig. Diese Eigenschaft nennt man "multithreading". Java unterstützt den Entwickler mit verschiedenen Funktionen beim Entwurf solcher parallel-verarbeitender Programme, so daß er sich auf seine eigentliche Aufgabe konzentrieren kann.

      Weiterhin ist Java durch verschiedene Verbesserungen "dynamischer" als C++. Das bedeutet: Beziehungen zwischen Klassen und Objekten sind nicht für immer festgelegt. Dadurch können diese, wenn sie sich später ändern, leichter ausgetauscht werden .




    "Was kann man mit Java machen?"

    In einem Wort:
      Alles!

    In zahllosen Stichworten:

      Animationen, Laufbänder, Chats auf Web-Seiten, Animacons, Taschenrechner, Spiele, Verschlüsselungsprogramme, interaktive Web-Seiten, Musik, Textverarbeitungen, kleine Internet-Applets, riesige Programmpakete, Bildverarbeitungsprogramme, neuartige Benutzeroberflächen, Übersetzungsprogramme, Bestellsysteme, Lernanwendungen, Uhren, Tabellenkalkulationen, Rechtschreibprüfungsprogramme, usw. usw.



    "Was Java NICHT kann..."

    In einem kurzen Satz:

      Kaffee kochen... ;-)



Nach oben

© 1998-2002 Christoph Bergmann, Danny Busch/ ACCESS Internet. Alle Rechte vorbehalten.