Parallele und verteilte Anwendungen in Java
|
|
|
- Michaela Kramer
- vor 9 Jahren
- Abrufe
Transkript
1 Parallele und verteilte Anwendungen in Java Bearbeitet von Rainer Oechsle 3., erweiterte Auflage Buch. 416 S. Hardcover ISBN Format (B x L): 20,3 x 24,5 cm Gewicht: 1068 g Weitere Fachgebiete > EDV, Informatik > Software Engineering > Objekt-Orientiertes Software-Engineering Zu Inhaltsverzeichnis schnell und portofrei erhältlich bei Die Online-Fachbuchhandlung beck-shop.de ist spezialisiert auf Fachbücher, insbesondere Recht, Steuern und Wirtschaft. Im Sortiment finden Sie alle Medien (Bücher, Zeitschriften, CDs, ebooks, etc.) aller Verlage. Ergänzt wird das Programm durch Services wie Neuerscheinungsdienst oder Zusammenstellungen von Büchern zu Sonderpreisen. Der Shop führt mehr als 8 Millionen Produkte.
2 Leseprobe Rainer Oechsle Parallele und verteilte Anwendungen in Java ISBN: Weitere Informationen oder Bestellungen unter sowie im Buchhandel. Carl Hanser Verlag, München
3 2 2 Grundlegende Synchronisationskonzepte in Java In diesem Kapitel geht es um die grundlegenden Synchronisationskonzepte in Java. Diese bestehen im Wesentlichen aus dem Schlüsselwort synchronized sowie den Methoden wait, notify und notifyall der Klasse Object. Es wird erläutert, welche Wirkung synchronized, wait, notify und notifyall haben und wie sie eingesetzt werden sollen. Außerdem spielt die Klasse Thread eine zentrale Rolle. Diese Klasse wird benötigt, um Threads zu erzeugen und zu starten. 2.1 Erzeugung und Start von Java-Threads Wie schon im einleitenden Kapitel erläutert, wird beim Start eines Java-Programms (z.b. mittels des Kommandos java) ein Prozess erzeugt, der u.a. einen Thread enthält, der die Main-Methode der angegebenen Klasse ausführt. Der Programmcode weiterer vom Anwendungsprogrammierer definierter Threads muss sich in Methoden namens run befinden: public void run () // Code, der in eigenem Thread ausgeführt wird Es gibt zweimöglichkeiten, in welcher Art von Klasse diese Run-Methode definiert wird Ableiten der Klasse Thread Die erste Möglichkeit besteht darin, aus der Klasse Thread, die bereits eine leere Run-Methode besitzt, eine neue Klasse abzuleiten und darin die Run-Methode zu überschreiben. Die Klasse Thread ist eine Klasse des Package java.lang (so wie String) und kann deshalb ohne Import-Anweisung in jedem Java-Programm verwendet werden. Hat man eine derartige Klasse definiert, so muss noch ein Objekt dieser Klasse erzeugt und dieses Objekt (das 19
4 2 Grundlegende Synchronisationskonzepte in Java ja ein Thread ist, da es von Thread abgeleitet wurde) mit der Start-Methode gestartet werden.das Programm in Listing 2.1 zeigt dies anhand eines Beispiels. Listing 2.1: public class MyThread extends Thread public void run() System.out.println("Hello World"); public static void main(string[] args) MyThread t = new MyThread(); t.start(); An diesem ersten Programmbeispiel mag auf den ersten Blick verwirrend sein, dass in der Klasse MyThread zwar eine Run-Methode definiert wird, dass aber in der Main-Methode eine Methode namens start auf das Objekt der Klasse MyThread angewendet wird. Die Methode start ist in der Klasse Thread definiert und wird somit auf die Klasse MyThread vererbt. public class Thread public void start () Natürlich könnte man statt start auch die Methode run auf das erzeugte Objekt anwenden. Der Benutzer würde keinen Unterschied zwischen den beiden Programmen feststellen können, denn in beiden Fällen wird Hello World ausgegeben. Allerdings ist der Ablauf in beiden Fällen deutlich verschieden: In der Metapher der Küchen und Köche passiert bei dem oben angegebenen Programm Folgendes: Der bereits vorhandene Koch, der nach dem Rezept der Main-Methode kocht, erzeugt einen neuen Koch und erweckt diesen mit Hilfe der Start-Methode zum Leben. Dieser neue Koch geht nach dem Rezept der entsprechenden Run-Methode vor und gibt Hello World aus. Würde dagegen der Aufruf der Start- Methode durch einen Aufruf der Run-Methode in obigem Programm ersetzt, so wäre dies ein gewöhnlicher Methodenaufruf, wie Sie das aus der bisherigen sequenziellen Programmierung bereits kennen. Die Ausgabe Hello World erfolgt also in diesem Fall durch den Thread, der die Main-Methode ausführt, und nicht durch einen neuen Thread. In der Metapher der Küchen und Köche könnte man einen Methodenaufruf so sehen wie einen Hinweis in einem Kochbuch, in dem in einem Rezept die Anweisung Hefeteig zubereiten (s. Seite 456) steht. Derselbe Koch, der diese Anweisung liest, würde dann auf die Seite 456 blättern, die dort stehenden Anweisungen befolgen und anschließend zum ursprünglichen Rezept zurückkehren. Dieses kleine nur wenige Zeilen umfassende Beispielprogramm enthält noch ein weiteres Verständnisproblem für viele Neulinge: Warum muss ein Thread-Objekt (genauer: ein Ob- 20
5 2.1 Erzeugung und Start von Java-Threads jekt der aus Thread abgeleiteten Klasse MyThread) mit new erzeugt und warum muss dieses dann noch zusätzlich mit der Start-Methode gestartet werden? Diese Verständnisschwierigkeit kannbeseitigt werden, indem man sich klar macht, dass es einen Unterschied zwischen einem Thread-Objekt und dem eigentlichen Thread im Sinne einer selbstständig ablaufenden Aktivität gibt. In unserer Küchen-Köche-Metapher entspricht das Thread-Objekt dem Körper eines Kochs. Ein solcher Körper wird mit new erzeugt. Man kann bei diesem Objekt wie bei anderen Objekten üblich Attribute lesen und verändern, also z.b. Name, Personalnummer und Schuhgröße des Kochs. Dieses Objekt ist aber leblos wie andere Objekte bei der sequenziellen Programmierung auch. Erst durch Aufruf der Start-Methode wird dem Koch der Odem eingehaucht; er beginnt zu atmen und eigenständig gemäß seines Run-Rezepts zu handeln. Dieses Leben des Kochs ist als Objekt im Programm nicht repräsentiert, sondern lediglich der Körper des Kochs. Das Leben des Kochs ist beim Ablauf des Programms durch die vorhandene Aktivitätzu erkennen. Wie im richtigen Leben kann auf ein Thread-Objekt nur ein einziges Mal die Start-Methode angewendet werden. Wenn mehrere gleichartige Threads gestartet werden sollen, dann müssen entsprechend viele Thread-Objekte erzeugt werden(s. Abschnitt 2.1.3). Ist das Run-Rezept eines Kochs abgehandelt (d.h. ist die Run-Methode zu Ende), so stirbt dieser Koch wieder (der Thread ist als Aktivität nicht mehr vorhanden). Damit muss aber der Körper des Kochs nicht auch verschwinden, sondern dieser kann weiter existieren (falls es noch Referenzen auf das entsprechende Thread-Objekt gibt, ist dieses Objekt noch vorhanden; die verbleibenden Threads können weitere Methoden auf dieses Objekt anwenden) Implementieren der Schnittstelle Runnable Falls sich im Rahmen eines größeren Programms die Run-Methode in einer Klasse befinden soll, die bereits aus einer anderen Klasse abgeleitet ist, so kann diese Klasse nicht auch zusätzlich aus Thread abgeleitet werden, da es in Java keine Mehrfachvererbung gibt. Als Ersatz für die Mehrfachvererbung existieren in Java Schnittstellen (Interfaces). Es gibt eine Schnittstelle namens Runnable (wie die Klasse Thread im Package java.lang), die nur die schon oben vorgestellte Run-Methode enthält. public interface Runnable public void run(); Will man nun die Run-Methode in einer nicht aus Thread abgeleiteten Klasse definieren, so sollte diese Klasse stattdessen die Schnittstelle Runnable implementieren. Wenn ein Objekt einer solchen Klasse, die diese Schnittstelle implementiert, dem Thread-Konstruktor als Parameter übergeben wird, dann wird die Run-Methode dieses Objekts nach dem Starten des Threads ausgeführt. Das Programm in Listing 2.2 zeigt diese Vorgehensweise anhand eines Beispiels. 21
6 2 Grundlegende Synchronisationskonzepte in Java Listing 2.2: public class SomethingToRun implements Runnable public void run() System.out.println("Hello World"); public static void main(string[] args) SomethingToRun runner = new SomethingToRun(); Thread t = new Thread(runner); t.start(); Voraussetzung für die korrekte Übersetzung beider Beispielprogramme ist, dass die Klasse Thread u.a. folgende Konstruktoren besitzen muss: public class Thread public Thread() public Thread(Runnable r) Der zweite Konstruktor ist offenbar für das zweite Beispiel nötig. Die Nutzung des ersten Konstruktors im ersten Beispiel ist weniger offensichtlich. Da in der Klasse MyThread kein Konstruktor definiert wurde, ist automatisch der folgende Standardkonstruktor vorhanden: public MyThread() super(); Der Super-Aufruf bezieht sich auf den parameterlosen Konstruktor der Basisklasse Thread. Einen solchen muss es geben, damit das Programm übersetzbar ist. Auch für das zweite Beispiel gilt die Unterscheidung zwischen dem Thread-Objekt und dem eigentlichen Thread. Deshalb muss auch hier nach der Erzeugung des Thread-Objekts der eigentliche Thread noch gestartet werden. Auch wenn wie oben beschrieben ein Thread nur einmal gestartet werden kann, kann hier dennoch dasselbe Runnable-Objekt mehrmals als Parameter an Thread-Konstruktoren übergeben werden. Es wird ja jedes Mal ein neues Thread-Objekt erzeugt, das dann nur einmal gestartet wird. Unter Umständen kann dies aber zu Synchronisationsproblemen führen(s. Abschnitte 2.2 und 2.3) Einige Beispiele Um das bisher Gelernte etwas zu vertiefen, betrachten wir das Beispielprogramm aus Listing 2.3: 22
7 2.1 Erzeugung und Start von Java-Threads Listing 2.3: public class Loop1 extends Thread private String myname; public Loop1(String name) myname = name; public void run() for(int i = 1; i <= 100; i++) System.out.println(myName + " (" + i + ")"); public static void main(string[] args) Loop1 t1 = new Loop1("Thread 1"); Loop1 t2 = new Loop1("Thread 2"); Loop1 t3 = new Loop1("Thread 3"); t1.start(); t2.start(); t3.start(); In diesem Beispiel werden drei zusätzliche Threads gestartet. Die dazugehörigen Thread- Objekte gehören alle derselben Klasse an, so dass die Threads alle dieselbe Run-Methode ausführen. Bei der Ausgabe innerhalb der For-Schleife der Run-Methode wird auf das Attribut name des dazugehörigen Thread-Objekts und auf die lokale Variable i zugegriffen. Für alle Threads gibt es jeweils eigene Exemplare sowohl von name als auch von i. Für das Attribut name ist dies deshalb so, weil jeder Thread zu genau einem Thread-Objekt gehört und die Run-Methode jeweils auf das Attribut des dazugehörigen Thread-Objekts zugreift. Da in jedem Thread ein Aufruf der Methode run stattfindet, gibt es entsprechend auch für jeden Methodenaufruf gesonderte Exemplare der lokalen Variablen wie bei rein sequenziellen Programmen auch. Nach dem Übersetzen dieses Programms ergibt sich bei der Ausführung des Programms auf meinem Rechner folgende Ausgabe ( steht für Zeilen, die aus Gründen des Platzsparens ausgelassen wurden): Thread 1 (1) Thread 1 (2) Thread 1 (45) Thread 1 (46) Thread 2 (1) Thread 3 (1) Thread 2 (2) Thread 3 (2) Thread 2 (3) Thread 3 (3) Thread 2 (4) Thread 1 (47) Thread 2 (5) Thread 1 (48) 23
8 2 Grundlegende Synchronisationskonzepte in Java Thread 2 (6) Thread 1 (49) Thread 3 (4) Thread 1 (50) Thread 3 (5) Thread 1 (51) Thread 3 (6) Thread 1 (52) Thread 3 (7) Thread 2 (7) Thread 3 (8) Thread 2 (8) Thread 3 (9) Thread 2 (9) Thread 1 (53) Thread 2 (10) Thread 1 (54) Thread 2 (11) Thread 1 (55) Thread 2 (12) Thread 1 (56) Thread 3 (10) Thread 2 (13) Thread 1 (57) Thread 3 (11) Thread 2 (14) Offenbar wird automatisch zwischen den verschiedenen Threads umgeschaltet, so dass sich der Eindruck eines parallelen Ablaufs ergibt. Dabei ist die Anzahl der Schleifendurchläufe, die ein Thread durchführen kann, bevor auf einen anderen Thread umgeschaltet wird, nicht immer gleich. Wie Sie sehen können, kann der erste Thread seine Schleife 46- mal durchlaufen. Danachwird auf den zweiten Thread umgeschaltet. Diesem wird aber nur ein einziger Schleifendurchlauf gegönnt. Danach ist der dritte Thread an der Reihe, und zwar auch nur mit einer einzigen Runde. Dieses Verhalten ist schematisch in Abbildung 2.1 illustriert. Dabei ist die horizontale Achse die Zeitachse. Man sieht, welcher der Threads zu einem bestimmten Zeitpunkt ausgeführt wird. Auch ist zu erkennen, dass die Zeitintervalle, in denen die Threads ununterbrochen laufen können, unterschiedlich lang sind. Thread 1 Thread 2 Thread 3 Abbildung 2.1: Ausführungsintervalle von drei Threads Der Ablauf und entsprechend auch die Ausgabe dieses Programms müssen nicht bei jeder Ausführung gleich sein. Bei wiederholter Ausführung des Programms können sich unterschiedliche Ausgaben ergeben. Auch kann die Ausgabe vom eingesetzten Betriebssystem (z.b. Windows oder Linux) und der Hardware (z.b. Taktrate des Prozessors) abhängen. Falls Sie dieses Beispiel ausprobieren und Sie finden Ihre Ausgabe zu langweilig (erst alle 100 Ausgaben des ersten Threads, dann alle des zweiten und schließlich alle des dritten), 24
9 2.1 Erzeugung und Start von Java-Threads dann sollten Sie die Anzahl der Schleifendurchläufe so lange erhöhen (z.b. von 100 auf 1000), bis Sie eine Vermischung der Ausgaben der unterschiedlichen Threads sehen können. Das Attribut name ist nicht nötig, da die Klasse Thread bereits ein solches String-Attribut für den Namen des Threads besitzt. Der Wert des Namens-Attribut kann im Konstruktor als Argument angegeben werden und später durch die Methode setname verändert werden. Mit Hilfe der Methode getname kann der Name gelesen werden. Wird der Name eines Threads nicht explizit gesetzt, so wird ein Standardname gewählt. Neben den schon bekannten Konstruktoren der Klasse Thread ohne Argument und mit einem Runnable-Argument gibt es Konstruktoren mit einem zusätzlichen Namensargument. Damit kennen wir nun vier Konstruktoren der Klasse Thread. Zusätzlich werden die neuen Methoden set- Name und getname gezeigt: public class Thread public Thread() public Thread(Runnable r) public Thread(String name) public Thread(Runnable r, String name) public final void setname(string name) public final String getname() Im folgenden Beispiel (Listing 2.4) wird das Namensattribut der Klasse Thread statt eines eigenen Attributs verwendet. Beachten Sie, dass in der Ausgabe von System.out.println der Name nun mit getname beschafft werden muss. Listing 2.4: public class Loop2 extends Thread public Loop2(String name) super(name); public void run() for(int i = 1; i <= 100; i++) System.out.println(getName() + " (" + i + ")"); public static void main(string[] args) Loop2 t1 = new Loop2("Thread 1"); Loop2 t2 = new Loop2("Thread 2"); Loop2 t3 = new Loop2("Thread 3"); t1.start(); t2.start(); t3.start(); 25
Die Unternehmergesellschaft
Die Unternehmergesellschaft Recht, Besteuerung, Gestaltungspraxis Bearbeitet von Prof. Dr. Dr. hc. Michael Preißer, Gültan Acar 1. Auflage 2016. Buch. 300 S. Hardcover ISBN 978 3 7910 3445 4 Format (B
Betriebssysteme. Wintersemester 2015. Kapitel 2 Prozess und Threads. Patrick Kendzo [email protected]
Betriebssysteme Wintersemester 2015 Kapitel 2 Prozess und Threads Patrick Kendzo [email protected] Programm Inhalt Einleitung Prozesse und Threads Speicherverwaltung Eingabe und Ausgabe Dateisysteme Zusammenfassung
Filme der Kindheit Kindheit im Film
Kinder- und Jugendkultur, -literatur und -medien 66 Filme der Kindheit Kindheit im Film Beispiele aus Skandinavien, Mittel- und Osteuropa Bearbeitet von Christine Gölz, Anja Tippner, Karin Hoff 1. Auflage
Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
2.2 Prozesse in Java
2.2 Prozesse in Java! Java sieht kein Schlüsselwort für Prozesse vor, sondern bestimmte Klassen und Schnittstellen. Mit anderen Worten: der Prozessbegriff wird mit Mitteln der Objektorientierung eingeführt.
Vererbung, Polymorphie
Vererbung, Polymorphie Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 21.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung, Polymorphie 21.1.08
Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1
Netzwerkprogrammierung unter Linux und UNIX
Netzwerkprogrammierung unter Linux und UNIX Bearbeitet von Stefan Fischer, Walter Müller 2. Auflage 1999. Buch. XII, 228 S. Hardcover ISBN 978 3 446 21093 6 Format (B x L): 14 x 20,9 cm Gewicht: 329 g
Einstieg in die Informatik mit Java
1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren
Einstieg in die Informatik mit Java
1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen
3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
Dr. Monika Meiler. Inhalt
Inhalt 15 Parallele Programmierung... 15-2 15.1 Die Klasse java.lang.thread... 15-2 15.2 Beispiel 0-1-Printer als Thread... 15-3 15.3 Das Interface java.lang.runnable... 15-4 15.4 Beispiel 0-1-Printer
Javakurs für Anfänger
Javakurs für Anfänger Einheit 13: Interfaces Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Interfaces Motivation Eigenschaften Besonderheiten Anonyme Klassen Lambda-Ausdrücke Praxis:
3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und
Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden
Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08
Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:
Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -
Parallele Prozesse. Prozeß wartet
Parallele Prozesse B-66 Prozeß: Ausführung eines Programmes in seinem Adressraum (zugeordneter Speicher) Parallele Prozesse: gleichzeitig auf mehreren Prozessoren laufende Prozesse p1 p2 verzahnte Prozesse:
Durch die Teil-von-Beziehung soll ausgedrückt werden, dass ein Objekt A als (physikalischer) Teil eines Objekts B angesehen wird. Insbesondere kann ei
Lösungsvorschläge zur Klausur zum Kurs 1618 Sommersemester 2001 am 22.9.2001 Aufgabe 1 a) Benutzungsbeziehung: class Kennzeichen class Fahrzeug boolean gueltigeskennzeichen (Kennzeichen kz) Objekte der
Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen
Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18
Parallele und funktionale Programmierung Wintersemester 2015/ Übung Abgabe bis , 10:00 Uhr
3. Übung Abgabe bis 10.11.2015, 10:00 Uhr Aufgabe 3.1: Java-Synchronisation a) An welchen Stellen im Code kann das Schlüsselwort synchronized verwendet werden? b) Wie nennt sich die Synchronisations-Art,
Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik
Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen
Objektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 2 22.03.2017 Was bisher geschah... Klassen und Objekte Attribute und Methoden Klasse Bruch
Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm
Exkurs: ANONYME KLASSEN Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Anonyme Klassen Eigenschaften 1 Häufigste Anwendung lokaler Klassen: anonyme Definition. Klasse erhält keinen eigenen
Prozesse. Prozesse sind Programme. Prozesse können aus Unterprozessen bestehen. Prozesshierarchie Unterprozesse Threads
Threads Prozesse, Parallelität, Nebenläufigkeit, Threads, Erzeugung, Ausführung, Kommunikation, Interferenz, Kritischer Bereich, Deadlock, Synchronisation. Prozesse Prozesse sind Programme mehrere Prozesse
Grundkurs Programmieren in Java
Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung Bearbeitet von Dietmar Ratz, Jens Scheffler, Detlef Seese 1. Auflage 2001. Taschenbuch. 463 S. Paperback ISBN
Java Concurrency Utilities
Java Concurrency Utilities Java unterstützt seit Java 1.0 Multithreading Java unterstützt das Monitorkonzept mittels der Schlüsselworte synchronized und volatile sowie den java.lang.object Methoden wait(),
Koordinatenmesstechnik und CAX-Anwendungen in der Produktion
Koordinatenmesstechnik und CAX-Anwendungen in der Produktion Grundlagen, Schnittstellen und Integration Bearbeitet von Tilo Pfeifer, Dietrich Imkamp 1. Auflage 2004. Buch. 184 S. Hardcover ISBN 978 3 446
Einführung in die Programmierung
Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität
Java Einführung Methoden in Klassen
Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding
5. Threads, Serverprozesse und Benachrichtigungen
5. Threads, Serverprozesse und Benachrichtigungen Threads allgemein Threads in Android: Handler und Messages Services: Local, Remote, Binding Benachrichtigungen Entwicklung mobiler Anwendungen Europäische
12 Abstrakte Klassen, finale Klassen und Interfaces
12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
Grundzüge der Programmierung. Wiederverwendung VERERBUNG
Grundzüge der Programmierung Wiederverwendung VERERBUNG Inhalt dieser Einheit Syntax: Vererbung in Java Superklassen - Subklassen Konstruktorenaufruf in Subklassen super, abstract und final 2 Code-Reuse
Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java
Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Innere Klassen 13.06.07 1 / 11
Office 2010 Programmierung mit VSTO und.net 4.0
Office 2010 Programmierung mit VSTO und.net 4.0 Word, Excel und Outlook erweitern und anpassen Bearbeitet von Holger Schwichtenberg, Jan Tittel 1. Auflage 2011. Buch. X, 278 S. Hardcover ISBN 978 3 446
Erfolgreich mit Scrum - Einflussfaktor Personalmanagement
Erfolgreich mit Scrum - Einflussfaktor Personalmanagement Finden und Binden von Mitarbeitern in agilen Unternehmen Bearbeitet von Boris Gloger, André Häusling 1. Auflage 2011. Buch. XII, 219 S. Hardcover
Java: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
Programmieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
Schulungspaket ISO 9001
Schulungspaket ISO 9001 PPT-Präsentationen Übungen Dokumentationsvorlagen Bearbeitet von Jens Harmeier 1. Auflage 2014. Onlineprodukt. ISBN 978 3 8111 6740 7 Wirtschaft > Management > Qualitätsmanagement
Einführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Semestralklausur Einführung in die Programmierung Semestralklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList
Klausur zur Einführung in die objektorientierte Programmierung mit Java
Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-
Java-Programmierung. Remote Method Invocation - RMI
Java-Programmierung Remote Method Invocation - RMI Entwicklungsmethoden Sockets Entwurf verteilter Anwendungen ist relativ aufwändig, da zunächst ein Kommunikationsprotokoll entwickelt werden muss aufwändig
FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0
9 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Gerüstbeispiel Ein Duo, Quarto oder Sexto ist ein Gerüst. Die Klassen Duo, Quarto und Sexto sollen durch Vererbung
3. Klassen Statische Komponenten einer Klasse. Klassenvariablen
Klassenvariablen Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit aller Studentenobjekte.
Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen
Vorkurs Mathematik. Ein Übungsbuch für Fachhochschulen. Bearbeitet von Michael Knorrenschild
Vorkurs Mathematik Ein Übungsbuch für Fachhochschulen Bearbeitet von Michael Knorrenschild 1. Auflage 2004. Buch. 176 S. Hardcover ISBN 978 3 446 22818 4 Format (B x L): 14,6 x 21,2 cm Gewicht: 259 g Weitere
Javaprogrammierung unter Notes
Javaprogrammierung unter Notes 4.1 Einsatzmöglichkeiten von Java unter Notes Es gibt verschiedene Möglichkeiten, die Sprache Java bei der Anwendungsentwicklung unter Notes einzusetzen. Dabei unterscheiden
Einstieg in die Informatik mit Java
1 / 16 Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 16 1 Einführung 2 Element-Klassen 3 Lokale Klassen 4 Anonyme Klassen
Repetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
Fragen zur OOP in Java
- 1 - Inhalt Was bedeutet OOP?... 2 Was versteht man unter einer Klasse?... 2 Wie nennt man die Mitglieder einer Klasse?... 2 Wie erzeugt man Objekte?... 2 Wie greife ich auf Member einer Klasse zu?...
Programmieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware
Klassenmethoden. Klassenvariablen. Für das Auslesen des Studentenzählers definieren wir eine öffentliche Klassenmethode:
Klassenvariablen Klassenmethoden Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit
Vorkurs Mathematik. Ein Übungsbuch für Fachhochschulen. Bearbeitet von Michael Knorrenschild
Vorkurs Mathematik Ein Übungsbuch für Fachhochschulen Bearbeitet von Michael Knorrenschild 1. Auflage 2004. Buch. 176 S. Hardcover ISBN 978 3 446 22818 4 Format (B x L): 14,6 x 21,2 cm Gewicht: 259 g Weitere
Kapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
Medizinische Statistik mit R und Excel
Springer-Lehrbuch Medizinische Statistik mit R und Excel Einführung in die RExcel- und R-Commander-Oberflächen zur statistischen Auswertung Bearbeitet von Rainer Muche, Stefanie Lanzinger, Michael Rau
Einstieg in die Informatik mit Java
1 / 25 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 25 1 Die Philosophie 2 Definition
Power: Die 48 Gesetze der Macht
Power: Die 48 Gesetze der Macht Kompaktausgabe Bearbeitet von Hartmut Schickert, Birgit Brandau, Robert Greene 1. Auflage 2013. Buch. 256 S. Hardcover ISBN 978 3 446 43485 1 Format (B x L): 12,3 x 18,1
Anwendungen der Linearen Algebra
Anwendungen der Linearen Algebra mit MATLAB Bearbeitet von Günter M. Gramlich 1. Auflage 4. Buch. 179 S. Hardcover ISBN 978 3 446 22655 5 Format (B x L): 14,5 x 21 cm Gewicht: 265 g Weitere Fachgebiete
Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)
Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite
Einstieg in die Informatik mit Java
1 / 13 Einstieg in die Informatik mit Java Schnittstellen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 13 1 Einführung 2 Definition einer Schnittstelle 3 Implementierung
Kapitel 6. Vererbung
Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen
Programmierung mit Threads in Java
Programmierung mit Threads in Java Harald Kosch and Matthias Ohlenroth Institut für Informationstechnologie Universität Klagenfurt H. Kosch Threads in Java 1 Inhalt Grundlagen: Threads und Datenlokalität
Borland Delphi 6 -- Kochbuch
Borland Delphi 6 -- Kochbuch Bearbeitet von Walter Doberenz, Thomas Kowalski 1. Auflage 2001. Buch. 1328 S. Hardcover ISBN 978 3 446 21735 5 Format (B x L): 17,8 x 24,5 cm Gewicht: 1996 g Zu Inhaltsverzeichnis
Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren
Statistische Verfahren zur Maschinen- und Prozessqualifikation
Statistische Verfahren zur Maschinen- und Prozessqualifikation Bearbeitet von Edgar Dietrich, Alfred Schulze 5., aktualisierte Auflage 2005. Buch. XVIII, 630 S. Hardcover ISBN 978 3 446 22894 8 Format
Die Klasse java.lang.object. Thorsten Treffer
Die Klasse java.lang.object Thorsten Treffer 6. Dezember 2003 1 java.lang.object Die Klassenhierarchie von Java kann als Baum aufgezeichnet werden, dessen Wurzel die Klasse Object ist. Mit anderen Worten:
2.13 Vererbung. Rainer Feldmann Universität Paderborn Technische Informatik für Ingenieure (TIFI) WS 09/ Article
2.13 Vererbung Klassen modellieren Objekte der realen Welt. Diese sind oft hierarchisch gegliedert. Beispiel: Ein Verlag bietet Bücher und CDs an. Beide Medien sind Artikel des Verlages. Book author: String
Einführung in die Programmierung mit Java
Einführung in die Programmierung mit Java Martin Wirsing 2 Ziele Geschichte der OO-Programmiersprachen Warum Java als Programmiersprache verwenden? Ein einfaches Java-Programm erstellen, übersetzen und
Jetzt lerne ich die Zahlen und rechnen (ab 5)
Jetzt lerne ich die Zahlen und rechnen (ab 5) Vorschule Bearbeitet von Ulrike Holzwarth-Raether, Ute Müller-Wolfangel, Gabie Hilgert, Stefanie Scharnberg 1. Auflage 2012. Taschenbuch. 24 S. Paperback ISBN
Kapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
Java Vererbung. Inhalt
Java Vererbung Inhalt 1 Zielsetzung... 2 1.1 Bewertung... 2 2 Grundlagen der Vererbung... 2 2.1 Super und Subklassen... 2 3 Überladen von Methoden... 4 3.1 Unterschiedliche Parameter... 4 3.2 Gleiche Parameter
Praktikum aus Softwareentwicklung 2, Stunde 5
Praktikum aus Softwareentwicklung 2, Stunde 5 Lehrziele/Inhalt 1. Threads Threads Threads sind parallele, oder auf Rechnern mit nur einer CPU quasi-parallele, Programmabläufe in Java. Sie können beispielsweise
Webseiten entwickeln mit ASP.NET
Webseiten entwickeln mit ASP.NET Eine Einführung mit umfangreichem Beispielprojekt. Alle Codes in Visual Basic und C# Bearbeitet von Jamal Baydaoui 1. Auflage 2013. Buch. 316 S. ISBN 978 3 446 43723 4
Versuchsziele Konzepte der parallelen Programmierung am Beispiel von Threads anwenden können. Einbau von Kontrollmechanismen mittels Semaphore.
Hochschule Harz Versuch: fcopy Mit Java FB Automatisierung und Informatik Betriebssysteme Thema: Kopieren einer Datei unter der Kontrolle von Semaphoren Versuchsziele Konzepte der parallelen Programmierung
14 Abstrakte Klassen, finale Klassen, Interfaces
Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse
Sind die Schweizer die besseren Deutschen?
Sind die Schweizer die besseren Deutschen? Der Hass auf die kleinen Unterschiede Bearbeitet von Jürg Altwegg, Roger de Weck 1. Auflage 2010. Taschenbuch. 160 S. Paperback ISBN 978 3 312 00457 7 Format
Parallele Prozesse Prozeß Parallele Prozesse verzahnte Prozesse Nebenläufige Prozesse: Threads Vorlesung Software-Entwicklung / Folie 131 Ziele:
Parallele Prozesse SWE-131 Prozeß: Ausführung eines sequentiellen Programmstückes in dem zugeordneten Speicher (Adressraum). Veränderlicher Zustand: Speicherinhalt und Programmposition. Parallele Prozesse:
Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1
Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1 Parameter-Übergabe-Mechanismen in Java und in anderen Sprachen. 1. Methoden vereinbaren mit Parametern Wenn man (z.b. in Java) eine Methode
14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen
Auswertung von Ausdrücken Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt.
Objektorientierte Programmierung und Klassen
Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 16.5.07 G. Bohlender (IANM UNI Karlsruhe) OOP
Vererbung und Polymorphie
Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter
Funktionale und Objekt-Orientierte Programmierkonzepte
Funktionale und Objekt-Orientierte Programmierkonzepte Prof. Marc Fischlin, Wintersemester 15/16 Kapitel 17: GUI, Threads und verschachtelte Klassen 13. Oktober 2010 Dr.Marc Fischlin Kryptosicherheit 1
Java Einführung Abstrakte Klassen und Interfaces
Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer
Objektorientierte Programmierung. Kapitel 14: Interfaces
14. Interfaces 1/26 Objektorientierte Programmierung Kapitel 14: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/ brass/oop13/
7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure
7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG
Vorkurs Informatik WiSe 17/18
Java Einführung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 04.10.2017 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello World 04.10.2017 Dr. Werner Struckmann
Jetzt lerne ich erste Zahlen (ab 4)
Jetzt lerne ich erste Zahlen (ab 4) Kindergarten Bearbeitet von Ulrike Holzwarth-Raether, Ute Müller-Wolfangel, Gabie Hilgert, Stefanie Scharnberg 1. Auflage 2012. Taschenbuch. 24 S. Paperback ISBN 978
2 Teil 2: Nassi-Schneiderman
2 Teil 2: Nassi-Schneiderman Wie kann man Nassi-Schneiderman in einer objektorientierten Sprache verwenden? Jedes Objekt besitzt Methoden, welche die Attribute des Objektes verändern. Das Verhalten der
Speicherprogrammierbare Steuerungen
Speicherprogrammierbare Steuerungen Von den Grundlagen der Prozessautomatisierung bis zur vertikalen Integration Bearbeitet von Matthias Seitz 1. Auflage 2003. Buch. 240 S. Hardcover ISBN 978 3 446 22174
1 Abstrakte Klassen, finale Klassen und Interfaces
1 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
Einführung in die Programmierung 1
Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener
Parallele und verteilte Anwendungen in Java
Rainer Oechsle Parallele und verteilte Anwendungen in Java ISBN-10: 3-446-40714-6 ISBN-13: 978-3-446-40714-5 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-40714-5
Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt
