Danke für die Nutzung der Insel als Vorlage für Uni-Folien
Hier möchte ich mich bei Ihnen, Herrn Dr. Ralf Kunze, und Team der Universität Osnabrück herzlich bedanken. Es freut mich sehr, dass Sie für ihre Vorlesungsunterlagen http://www-lehre.inf.uos.de/~binf/2007/index.html "Objekt-orientierte Programmierung in Java" im Sommersemester 2007 so viel Abschnitte der Insel gebrauchen konnten. Immer wieder beglückt es mich, wenn Referenten und Dozenten Abschnitte 1:1 übernehmen und damit die Qualität meines Buches „Java ist auch eine Insel“ auch für den wissenschaftlichen Alltag bestätigen. (Ich wusste auch nicht, dass Rechtschreibfehler im Buch ebenfalls zum Insel-Kult gehören, und sie deshalb auch immer mitkopiert werden müssen.) Dass Sie dabei die Insel erst an dritter Stelle Ihrer Literaturangaben platzieren, ist selbstverständlich zu verzeihen. Besonders gefallen hat mir auf Ihrer Uni-Seite die Aussage „Zum legalen online Lesen, herunterladen oder auch kaufen“. Das finde ich gut, denn „illegales Online-Lesen“ wäre ja quatsch. Natürlich habe weder ich noch mein Verlag Galileo-Computing etwas dagegen einzuwenden, wenn ohne Nachfrage die geglücktesten Abschnitte kopiert und ohne Kennung der Quellen übernommen werden – Seite für Seite als Zitat zu kennzeichnen ist natürlich lästig. Das ist Arbeiten im Sinne von Stanisław Jerzy Lec: „Von der Mehrzahl der Werke bleiben nur die Zitate übrig. Ist es dann nicht besser, von Anfang an nur die Zitate aufzuschreiben?“
Ich war so frei, einige Ihrer Folien auf meinen Blog aufzunehmen. Ich hoffe, Sie sehen von Klagen wegen Urheberrechtsverletzungen ab; immerhin kopiere ich Ihre Texte hier ohne Nachfrage. (Alles Aufzulisten wäre zu viel Arbeit.
Das sind nur einige Beispiele mit direkten Kopien ganzer Absätze
für je eine Folie.)
| Insel | Kopie |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Auch für zwei Beispiele durfte die Insel Vorlage sein. (Das ist rechtlich sicher, da die Insel im Vorwort erlaubt, dass alle Beispiele frei verwendet werden können.) Das eine ist JCheckBoxDemo, welches als CheckBoxDemo mit anderen Grafiken und Beschriftungen -- aus der Auswahl "Ein Colt für alle Fälle" und "MacGyver" wird "Informatik A und Informatik B" -- einer weiteren Zeile im Listener ein neues Leben führt.
Oder
package com.javatutor.insel.thread.group;
public class ShowThreadsInMain
{
public static void main( String[] args )
{
ThreadGroup top = Thread.currentThread().getThreadGroup();
while ( top.getParent() != null )
top = top.getParent();
showGroupInfo( top );
}
public static void showGroupInfo( ThreadGroup group )
{
Thread[] threads = new Thread[ group.activeCount() ];
group.enumerate( threads, false );
System.out.println( group );
for ( Thread t : threads )
if ( t != null )
System.out.printf( "%s -> %s is %sDaemon%n",
group.getName(), t, t.isDaemon() ? "" : "no " );
ThreadGroup[] activeGroup = new ThreadGroup[ group.activeGroupCount() ];
group.enumerate( activeGroup, false );
for ( ThreadGroup g : activeGroup )
showGroupInfo( g );
}
}
Und das Beispiel vom Doktor:
package threadgroup1;
/**
* Informationen ueber die laufenden Threads liefern.
*
* @author Ralf Kunze (rkunze@uos.de), Institut fuer Informatik, Universitaet
* Osnabrueck
* @date 06.05.2007
*/
public class ThreadInfo {
public static void main(String[] args) {
ThreadGroup top = Thread.currentThread().getThreadGroup();
while (top.getParent() != null)
top = top.getParent();
showGroupInfo(" ",top);
}
public static void showGroupInfo(String indent, ThreadGroup group) {
Thread[] threads = new Thread[group.activeCount()];
group.enumerate(threads, false);
System.out.println(indent + group);
for (Thread t : threads)
if (t != null)
System.out.printf("%s%s -> %s is %sDaemon%n",
indent ,group.getName(), t, t.isDaemon() ? "" : "no ");
ThreadGroup[] activeGroup = new ThreadGroup[group.activeGroupCount()];
group.enumerate(activeGroup, false);
for (ThreadGroup g : activeGroup)
showGroupInfo(indent+indent, g);
}
}
Das @author-Tag gefällt mir besonders. Die indent-Erweiterung ist natürlich anzuerkennen. Das habe ich gleich übernommen. Daher gefällt mir der wissenschaftliche Austausch so sehr. Leider gibt es das JavaDoc-Tag @date nicht (zumindest bis Java 6), aber man kann ja schon für die Zukunft programmieren.
Insgesamt finden sich sehr viele Abschnitte aus dem Kapitel IO, Thread, Reflection und Netzwerk in den Uni-Unterlagen, aber in der Reihenfolge, Satzbau und Formulieren sind auch in anderen Kapiteln deutliche Ähnlichkeiten zu erkennen. Danke für die Hommage.
