Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Java ist auch eine Sprache
2 Sprachbeschreibung
3 Klassen und Objekte
4 Der Umgang mit Zeichenketten
5 Mathematisches
6 Eigene Klassen schreiben
7 Angewandte Objektorientierung
8 Exceptions
9 Die Funktionsbibliothek
10 Threads und nebenläufige Programmierung
11 Raum und Zeit
12 Datenstrukturen und Algorithmen
13 Dateien und Datenströme
14 Die eXtensible Markup Language (XML)
15 Grafische Oberflächen mit Swing
16 Grafikprogrammierung
17 Netzwerkprogrammierung
18 Verteilte Programmierung mit RMI und Web-Services
19 JavaServer Pages und Servlets
20 Applets
21 Midlets und die Java ME
22 Datenbankmanagement mit JDBC
23 Reflection und Annotationen
24 Logging und Monitoring
25 Sicherheitskonzepte
26 Java Native Interface (JNI)
27 Dienstprogramme für die Java-Umgebung
A Die Begleit-DVD
Stichwort
Download: - ZIP, ca. 12,5 MB
Buch bestellen
Ihre Meinung?
<< zurück | Galileo Computing / <openbook> /Java-Insel | vor >>
Java ist auch eine Insel von Christian Ullenboom Programmieren mit der Java Standard Edition Version 6
Java ist auch eine Insel 7., aktualisierte Auflage geb., mit DVD (November 2007) 1.492 S., 49,90 Euro Galileo Computing ISBN 978-3-8362-1146-8 |
| 27 Dienstprogramme für die Java-Umgebung
|  | 27.1 Die Werkzeuge im Überblick
|  | 27.2 Java-Compiler
|  |  | 27.2.1 Bytecode Compiler javac
|  |  | 27.2.2 Native Compiler
|  |  | 27.2.3 Java-Programme in ein natives ausführbares Programm einpacken
|  | 27.3 Der Java-Interpreter java
|  |  | 27.3.1 Der Unterschied zwischen java.exe und javaw.exe
|  | 27.4 Das Archivformat Jar
|  |  | 27.4.1 Das Dienstprogramm Jar benutzen
|  |  | 27.4.2 Das Manifest
|  |  | 27.4.3 Applikationen in Jar-Archiven starten
|  |  | 27.4.4 Applets in Jar-Archiven
|  | 27.5 Monitoringprogramme
|  |  | 27.5.1 jps
|  |  | 27.5.2 jstat
|  |  | 27.5.3 jmap
|  |  | 27.5.4 jstack
|  | 27.6 Ant
|  |  | 27.6.1 Bezug und Installation von Ant
|  |  | 27.6.2 Properties
|  |  | 27.6.3 Externe und vordefinierte Properties
|  |  | 27.6.4 Weitere Ant-Tasks
|  | 27.7 Decompiler und Obfuscatoren
|  |  | 27.7.1 Der Decompiler Jad
|  |  | 27.7.2 Das Obfuscator-Programm ProGuard
|  | 27.8 Weitere Dienstprogramme
|  |  | 27.8.1 Sourcecode Beautifier
|  |  | 27.8.2 Java-Programme als Systemdienst ausführen
|  | 27.9 Zum Weiterlesen
## 27.5 Monitoringprogramme Seit Java 5 und Java 6 sind im bin-Order einer JDK-Installation Programme hinzugekommen, die die gestarteten Java-Programme auflisten und gezielte Anfragen erlauben. Wie andere Dienstprogramme, dokumentiert Sun die Programme unter http://tutego.com/go/tools. Zwei Webseiten mit Beschreibungen einiger Tools sind http://tutego.com/go/observer und http://tutego.com/go/heap. ### 27.5.1 jps Das Programm jps ist das »Java Virtual Machine Process Status Tool« liefert alle laufenden Java-Programme mit einem lokalen VM Identifizierer.
    C:\Programme\Java\jdk1.6.0\bin>jps -l
    2032 sun.tools.jps.Jps
    3728
    2460 C:\Programme\Eclipse\eclipse32\startup.jar
Die Option -l zeigt den Paketnamen an. Die weiteren Optionen -m zeigen Argumente der main()-Methode. In dieser Sitzung ist die ID von Eclipse 2460. Die folgenden Beispiele nutzt die ID für zusätzliche Anfragen. ### 27.5.2 jstat Mit jstat, dem »Java Virtual Machine Statistics Monitoring Tool«, ist es möglich, Performance-Statistiken zu erfragen.
    C:\Programme\Java\jdk1.6.0\bin>jstat -gcutil 2460
      S0     S1     E     O      P      YGC    YGCT    FGC   FGCT     GCT
      0,00   0,00   0,14  38,88  99,64  299    2,682   107   55,371   58,053
Die Ausgaben zeigen zum Beispiel mit FGC die Anzahl der GC-Ereignisse an. ### 27.5.3 jmap Das Tool »Memory Map« jmap zeigt eine Liste mit der Anzahl der Exemplare von Java-Objekten und wie viel Hauptspeicher sie verbrauchen.
    C:\Programme\Java\jdk1.6.0\bin>jmap -histo 2460
    num   #instances    #bytes  class name
    --------------------------------------
      1:     88096    13401560  <constMethodKlass>
      2:     88096     7055480  <methodKlass>
      3:    145875     6878904  <symbolKlass>
      4:     70039     6100016  [C
      5:      8568     5586736  <constantPoolKlass>
      6:      8568     3901512  <instanceKlassKlass>
      7:      7501     3419840  <constantPoolCacheKlass>
      8:      9016     2093560  [B
      9:     67391     1617384  java.lang.String
     10:     11009     1247312  [I
     11:      3435     1147928  [Ljava.util.HashMap$Entry;
    ...
    3819:         1           8  org.eclipse.core.internal.expressions.TypeExtension$1
    3820:         1           8  org.eclipse.jdt.launching.StandardSourcePathProvider
    Total   707359    60781592
### 27.5.4 jstack Das Stack-Trace-Programm jstack zeigt laufende Threads an zusammen mit Informationen über den durch Monitore erzwungenen Wartezustand. Ein Ausschnitt für die Eclipse-Threads:
    C:\Programme\Java\jdk1.6.0\bin>jstack 2460
    2006-08-01 21:19:38
    Full thread dump Java HotSpot(TM) Client VM (1.6.0-rc-b92 mixed mode, sharing):

    "CompilerThread0" daemon prio=10 tid=0x02b08000 nid=0x8b0 waiting on condition
     [0x00000000..0x02dbf61c]
       java.lang.Thread.State: RUNNABLE

    "Finalizer" daemon prio=8 tid=0x02b01800 nid=0xfd0 in Object.wait() [0x02ccf000.
    .0x02ccfa94]
       java.lang.Thread.State: WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            – waiting on <0x17d102b0> (a java.lang.ref.ReferenceQueue$Lock)
            at java.lang.ref.ReferenceQueue.remove(Unknown Source)
            – locked <0x17d102b0> (a java.lang.ref.ReferenceQueue$Lock)
            at java.lang.ref.ReferenceQueue.remove(Unknown Source)
            at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

    "main" prio=6 tid=0x00386000 nid=0x8d4 runnable [0x003ef000..0x003efe5c]
       java.lang.Thread.State: RUNNABLE
            at org.eclipse.swt.internal.win32.OS.WaitMessage(Native Method)
            at org.eclipse.swt.widgets.Display.sleep(Display.java:3736)
     ...

    "VM Thread" prio=10 tid=0x02af3c00 nid=0xb04 runnable

    "VM Periodic Task Thread" prio=10 tid=0x02b27800 nid=0x16c waiting on condition
    JNI global references: 1307
### Ihr Kommentar Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.
Name |
E-Mail |
Ihr Kommentar |
<< zurück | <top> | vor >>

Copyright © Galileo Press 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

[Galileo Computing]
Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de