Navigation

 News
 Blog
 Dokumente
    - Upload
    - Linux
    - Windows
    - IT-Security
    - Kryptologie
     Programmierung
    - Netzwerktechnik
    - Allgemeines
 Projekte
 Hacks
 Download
 Forum
 Partner
 Banner
 Links
 Changelog
 Impressum


Willkommen 18.117.94.77

Neuesten 3 Dokus:


Partner:

www.wissenundpraxis.com
www.saveyour.homelinux.org
www.sco-world.de
www.hakin9.org/de

schon Partner...?


zurück

Warum Java


Hallo,

und Willkommen zur Ausarbeitung; Warum Java?

Zur besseren Strukturierung habe ich das Dokument in 5 Teile gegliedert.

1. Teil - Java die Programmiersprache
2. Teil - Vorteile von Java
3. Teil - Was Java kann und was nicht
4. Teil - Meine erste kleine Anwendung
5. Teil - Literaturhinweise und weitere Informationen


Teil 1 - Java die Programmiersprache

Java ist eine moderne, objektorientierte Programmiersprache, deren Grundlage 1991 bei Sun Microsystems gelegt wurde. Der Vater dieser Sprache ist Smalltalk, von wo Java unter anderem die grundsätzliche Konzeption eines Objektbaumes, in den alle Objekte eingehängt werden und von einem einzigen Mutterobjekt abstammen (java.lang.Object), geerbt hat. Die Syntax lehnt Java wiederum an der bekannten Programmiersprache C++ an.
Einer der Ziele bei der damaligen Entwicklung von Java war es, eine Programmiersprache zu entwerfen, bei der ein Programm auf unterschiedlichen Computersystemen laufen kann. Dies ist auch das Konzept von Java: Write Once, Run Anywhere (zu Deutsch: "Einmal schreiben, überall ausführen"). Weitere Erläuterungen und die Umsetzung dieses Konzeptes sind im nächsten Teil dieses Dokumentes zu finden.

Eine Programmiersprache, die man als Konkurrent zu Java ansehen kann ist C#, welche von Microsoft entworfen wurde.


Teil 2 - Vorteile von Java

Der wohl größte Vorteil von Java ist, das es prinzipiell auf allen Plattformen und Betriebssystemen läuft, für die eine Java-Laufzeitumgebung zur Verfügung steht. Dadurch lassen sich Kosten und Entwicklungszeit reduzieren. Weitere Vorteile von Java sind z.B. die vielen, schon mitgelieferten Bibliotheken und natürlich die kostenfreie Verfügbarkeit von Java. Dennoch leidet Java nicht darunter, das es kostenfrei ist, da es von Sun Microsystems zentral standardisiert wird. Darüber hinaus ist Java dafür prädestiniert um jemanden an die Objektorientierte Programmierung heran zu führen.

Teil 3 - Was Java kann und was nicht

Um ein Java-Programm zu entwickeln benötigt man das JDK - das Java Development Kid, welches mittlerweile in der Version 5.0 Update 7 vorliegt (Stand Juli 2006).
Diese JDKs unterscheiden sich nochmals zusätzlich in ihren Umfang. So gibt es das J2ME (Java 2, Micro Edition) welches für Anwendungen wie Telefone, Handys, Kühlschränke etc. gedacht ist. J2SE (Java 2, Standard Edition) ist für die Entwicklung auf leistungsfähigeren Computersystemen ausgerichtet und ist in aller Regel für die meisten Anwendungen mehr als ausreichend. Die meisten Java-Entwickler nutzen diese Version. Das letzte zu erwähnende JDK ist das J2EE (Java 2, Enterprise Edition). Dieses verfügt noch über zusätzliche Bibliotheken für verteilte Anwendungen und Web-Services im vergleich zum J2SE.

Das JDK kann man sich unter java.sun.com kostenlos herunterladen. Meistens findet man unter "Related Links" die neuste Version des JDKs.

Möchte man hingegen nur eine Java-Anwendung ausführen, ist zumindest die virtuelle Maschine notwendig. Der Name dieser virtuellen Maschine ist JRE (Java Runtime Environment). Diese ist im JDK schon mit integriert.
Das JDK kann man ebenfalls unter java.sun.com kostenlos herunterladen.

Um besser verstehen zu können wie Java arbeitet skizziere ich das hier mal beispielhaft.

1. Schreiben des Java-Programms
Zu aller erst wird das Java-Programm geschrieben. Dabei besteht ein Java-Programm aus mindestens einer Quelltextdatei, welche durch die Programmiersprache Java, Anweisungen erhält, die später am Zielrechner ausgeführt werden sollen. Einzige Bedingung ist es, dass die Datei auf ".java" endet. Mit welchem Editor diese Datei erstellt wurde spielt dabei keine Rolle.

2. Übersetzen des Programms mit dem Java-Compiler(javac)
Das Java-Programm wird mit dem Compiler in einen Zwischencode(ByteCode) übersetzt, der Plattformunabhängig ist.

3.Ausführen des Programms über den Java-Interpreter(Java-Laufzeitumgebung ? JRE)
Das JRE - hier der Interpreter welcher auch virtuelle Maschine genannt wird - führt den ByteCode auf einer speziellen Rechnerplattform aus. Für jede Rechnerplattform ist ein spezieller Interpreter notwendig. Somit läuft der ByteCode immer auf einer virtuellen Maschine, welche immer die identischen Eigenschaften für den ByteCode besitzt. Anschließend übernimmt dann die virtuelle Maschine die übersetzung des ByteCodes in Anweisungen der spezifischen Rechnerplattform.

Teil 4 - Meine erste kleine Anwendung

Nach dem man sich das JDK herunter geladen und erfolgreich installiert hat, wie es beiGalileocomputing beschrieben ist, beginnen wir mit der Entwicklung unseres ersten Java-Programms. Wir erstellen mit einem beliebigen Editor jetzt eine ".java"-Datei. Dabei ist darauf zu achten, dass der Name des Programms auch der Namen der Datei ist. Heißt unser Programm also Neu, so muss unsere Datei nun "Neu.java" heißen. Wichtig ist dabei auch auf Groß-/Kleinschreibung zu achten, da Java genauso wie Linux "Case sensitive" ist.
Nun erstellen wir mit einem beliebigen Editor eine Datei mit dem Namen "FirstApplication.java".
Diese füllen wir dann mit folgendem Inhalt:

Code:

public class FirstApplication
{
	public static void main (String args[])
	{
	  System.out.println("Hallo Welt");
	}
}

Dies ist ein minimales Java-Programm, welches auf der Konsole nun Hallo Welt ausgeben würde. Doch zunächst einmal muss diese Datei erstmal kompiliert werden. Hierzu ruft man aus dem bin-Verzeichnis von Java das Programm javac auf:

Code:
	javac FirstApplication.java

Danach erhalten wir eine Datei die FirstApplication.class heißen wird. Diese können wir nun mit folgenden Code aufrufen:

Code:
	java  FirstApplication


Erklärung:

"public class" ist die Klasse in der wir unser Java-Programm definieren. Ein Java-Programm wird immer in einer Klasse definiert. Danach folgt der Name der Klasse hier ist dieser FirstApplication und muss den gleichen Namen haben wie unsere Datei. "public static void main (String args[])" ist die Main-Methode des Java-Programms, das ist der Teil in dem alles Ausgeführt wird, sofern es kein Applet ist. Mit "System.out.println("Hallo Welt");" wird der String Hallo Welt in der Standardausgabe ausgegeben. Die geschweiften Klammern definieren dabei den Bereich in dem eine Methode oder Klasse Gültigkeit besitzt.


Teil 5 - Literaturhinweise und weitere Informationen

Literaturverweise:
"Java ist auch eine Insel", von Christian Ullenboom, ist wohl eines der besten, deutschsprachigen Bücher auf den Markt, die es zu Java gibt. Der Vorteil ist, das komplette Buch gibt es als Openbook unter folgender Adresse:
http://www.galileocomputing.de

Sonstige Infos:
http://java.sun.com/j2se/1.5.0/docs/api/
http://www.dpunkt.de/java/

IDEs (Integrated Development Environment, die Integrierte Entwicklungsumgebung):
http://www.eclipse.org/
http://www.netbeans.org/

Compiler:
Im Buch von "Java ist auch eine Insel" werden folgende Dinge auch noch festgehalten:
"[...] Native Compiler:
Compiler, die direkt plattformabhängigen Maschinensprachcode erzeugen, heißen native Compiler. Ihre Ausführungsgeschwindigkeit liegt nicht zwangsläufig über der der neuen optimierten Laufzeitumgebungen. Ein freier Compiler unter der GNU-Lizenz ist der GNU-Compiler gcj unter
http://gcc.gnu.org/java/ .

Wrapper:
Ein Wrapper ist ein ausführbares Programm und liegt wie eine
Schale um die Java-Klassen. Der Wrapper ruft dann die virtuelle Maschine auf und übergibt ihr die Klassen. Es ist also immer noch eine Laufzeitumgebung nötig, doch lassen sich den Java-Programmen Icons mitgeben und Startparameter setzen. Ein freies Produkt ist JSmooth unter
http://jsmooth.sourceforge.net/.
[...]"


Quellenverzeichnis:
http://www.galileocomputing.de
Java 2 SDK v 1.4.0 Grundlagen Programmierung - Herdt Verlag


Bei weiteren Fragen, Kritik oder Anregungen zum Artikel stehe ich natürlich jederzeit zur Verfügung.
Einfach eine E-Mail an duddits-[at]-remoteshell-security.com. Ich versuche diese dann so schnell als möglich zu beantworten.

Nach oben


Copyright © 2006-2024 Daniel Baier: Alle Rechte vorbehalten