Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

35
Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU

Transcript of Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Page 1: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Pawlow Konstantin

AM-511 Automatik und Rechentechnik

2006

NSTU

Page 2: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

JAVA Write once, run anywhere

(deutsch: „Einmal schreiben, überall ausführen“) java.sun.com sun.com javagu.ru www.borland.com/de

Page 3: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Java-Technologie

Die Java-Technologie wurde von Sun Microsystemsentwickelt.Die Java-Technologie besteht aus den folgendenKomponenten:

– Programmiersprache Java – Java-Plattform

Auf diesen Komponenten aufbauend gibt es folgendeTechnologien:

– Java 2 Platform Standard Edition – Java 2 Platform Enterprise Edition – Java 2 Platform Micro Edition – Java Card

Page 4: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Inhaltsverzeichnis

Grundkonzepte der SpracheObjektorientierungReflectionWrite Once, Run AnywhereModulare Ausführung auf fernen Computern

Merkmale der Sprache Entstehung und Weiterentwicklung der Sprache

EntstehungSun und JCP (Java Community Process)

Entwicklungsumgebungen

Page 5: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Grundkonzepte der Sprache

Objektorientierte Programmiersprache Gleiche Programme auf unterschiedlichen

Computersystemen Eingebaute Unterstützung für die Verwendung

von Computernetzen Code aus entfernten Quellen sicher ausführen

können

Page 6: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Das Sicherheitskonzept von Java

drei Schichten besteht: 1. dem Code-Verifier, der sicherstellt, dass die VM

keinen ungültigen Bytecode ausführen kann

2. den Class-Loadern, die die sichere Zuführung von Klasseninformationen zur JVM steuern

3. den Security-Managern die sicherstellen, dass nur Zugriff auf Programmobjekte erlaubt wird, für die entsprechende Rechte vorhanden sind

Page 7: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Grundkonzepte der Sprache

Die erfolgreichen Aspekte bereits verbreiteter objektorientierter Programmiersprachen sollen Java-Programmierer zur Verfügung stehen

Page 8: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Objektorientierung

Die Sprache Java gehört zu den objektorientierten Programmiersprachen

Java ist nicht vollständig objektorientiert: Die Grunddatentypen (int, boolean usw.) und Literale sind keine Objekte

Page 9: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Reflection

Java bietet eine Reflection-API als Bestandteil der Laufzeitumgebung

Page 10: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Write Once, Run Anywhere

Java funktioniert nach dem Konzept Write Once, Run Anywhere

Das bedeutet, dass man ein Programm, das in Java programmiert wurde, theoretisch nur einmal zu kompilieren braucht und es auf allen anderen Systemen läuft, die eine Java-Laufzeitumgebung (Java Runtime Environment bzw. JRE) besitzen

Page 11: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Write Once, Run Anywhere

Der Bytecode funktioniert also als Zwischencode, zwischen Programmiersprache und Maschinensprache.

So ist das Javaprogramm nicht an eine bestimmte Maschine gebunden.

Page 12: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Write Once, Run Anywhere

Das Java Runtime Environment existiert für weit verbreitete Betriebssysteme wie Microsoft Windows, Linux, Solaris, Mac OS X, AIX und viele andere

Page 13: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Write Once, Run Anywhere

Daneben gibt es eine JRE nicht nur für Server- und Desktop-Betriebssysteme, sondern auch für viele Embedded Systeme wie Mobiltelefone, PDAs, sowie Smartcards und andere technische Plattformen, wie Auto und TV.

Page 14: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Write Once, Run Anywhere

Es gibt aber auch Compiler, die Java direkt in Maschinencode übersetzen (Native Compiler)

Page 15: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Modulare Ausführung auf fernen Computern

Java bietet die Möglichkeit, Klassen zu schreiben, die in unterschiedlichen Ausführungsumgebungen ablaufen.

Beispielsweise lassen sich Applets in Webbrowsern, die Java unterstützen, ausführen.

Beispiele für Java-Ausführungsumgebungen sind Applets, Servlets, Portlets, Midlets, Xlets, Translets, und Enterprise Java Beans.

Page 16: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Merkmale der Sprache

Der Objektzugriff in Java ist über Referenzengenannte Zeiger implementiert.

So genannte Zeigerarithmetik ist mit der Sprache also ausgeschlossen. Per Design können so Fehler, welche häufig in anderen Programmiersprachen auftreten, von vornherein ausgeschlossen werden.

Page 17: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Merkmale der Sprache

Zusammengehörige Klassen werden in Paketen (englisch packages) zusammengefasst. Diese Pakete ermöglichen die Einschränkung der Sichtbarkeit von Klassen, eine Strukturierung von größeren Projekten sowie eine Trennung des Namensraums für verschiedene Entwickler.

Page 18: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Merkmale der Sprache

Unterstützt die Sprache Threads (nebenläufig ablaufende Programmteile) und Ausnahmen (englisch exception) und Java beinhaltet auch eine automatische Speicherbereinigung (englisch garbage collector), die nicht (mehr) referenzierte Objekte aus dem Speicher entfernt.

Page 19: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Merkmale der Sprache

Zu Java gehört eine umfangreiche Klassenbibliothek.

Mit Java 1.2 wurden die Java Foundation Classes (JFC) eingeführt, die unter anderem Swing bereitstellen, das zur Erzeugung plattformunabhängiger grafischer Benutzerschnittstellen (GUI) dient und auf AWT basiert.

Page 20: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Entstehung und Weiterentwicklung der Sprache

Entstehung Geschichte Javas

Sun и JCP (JCP – Java Community Process)

Page 21: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Geschichte Javas

Die Urversion von Java - auch Oak genannt - wurde in einem Zeitraum von 18 Monaten vom Frühjahr 1991 bis Sommer 1992 unter dem Projektnamen The Green Project

Page 22: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Geschichte Javas

The Green Project von Patrick Naughton, Mike Sheridan, James Gosling und Bill Joy sowie neun weiteren Entwicklern im Auftrag des US-amerikanischen Computerherstellers Sun Microsystems entwickelt.

Bill JoyJames Gosling

Patrick Naughton

Page 23: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Geschichte Javas

Die Entwicklung fand in einem unauffälligen Bürogebäude in der Sand Hill Road in Menlo Park statt.

Page 24: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Geschichte Javas

Im Sommer 1992 schließlich war die erste Oak-basierte Anwendung fertig gestellt – “an interactive, handheld home-entertainment device controller with an animated touchscreen user interface”. Diese Technologiedemonstration einer Touchscreen-basierten Gerätesteuerung mit animierter Benutzeroberfläche (GUI) hatte den Namen *7 (StarSeven).

Page 25: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Geschichte Javas

Hinterzimmer-Projekt „The Green Project“ entstand die Firma „FirstPerson“. Aus dem Büro wurde ein Bürohaus in der 100 Hamilton Avenue in Palo Alto.

Page 26: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Sun и JCP

Der JCP wurde 1998 von Sun Microsystemsins Leben gerufen

Die grossen Unternehmen vervollkommnendJava.

Page 27: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Entwicklungsumgebungen

Die bekanntesten Open-Source-Umgebungen sind Eclipse und NetBeans

Eclipse

NetBeans

Page 28: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

NetBeans

Eigenschaftenfenster

Das Basisfenster

Der Manager des Projektes

Arbeitsraum

Page 29: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Eclipse Platform

Das Basisfenster

Arbeitsraum

Der Forscher des Paketes

Page 30: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

X-CODE aus Mac OS X

Groups & Files

Der Editor

Page 31: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Unter den kommerziellen Entwicklungsumgebungen

Netbeans basierende Sun ONE Studio von Sun

IntelliJ IDEA von JetBrains JBuilder von Borland

Page 32: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Links & Web

http://www.sun.de/http://java.sun.com/http://de.wikipedia.org/http://www.apple.com/de/macosx/http://javagu.ru/http://www.borland.com/dehttp://www.falkhausen.de/download/diagram/img/http://www-128.ibm.com/developerworks/java/library/

Page 33: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Anhang.Bytecode

Page 34: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Anhang.JFC

Page 35: Pawlow Konstantin AM-511 Automatik und Rechentechnik 2006 NSTU.

Pawlow Konstantin

AM-511 Automatik und Rechentechnik

2006

NSTU