Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
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?

Spacer
<< zurück
Java ist auch eine Insel von Christian Ullenboom
Programmieren mit der Java Standard Edition Version 6
Buch: Java ist auch eine Insel

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
Pfeil 27 Dienstprogramme für die Java-Umgebung
Pfeil 27.1 Die Werkzeuge im Überblick
Pfeil 27.2 Java-Compiler
Pfeil 27.2.1 Bytecode Compiler javac
Pfeil 27.2.2 Native Compiler
Pfeil 27.2.3 Java-Programme in ein natives ausführbares Programm einpacken
Pfeil 27.3 Der Java-Interpreter java
Pfeil 27.3.1 Der Unterschied zwischen java.exe und javaw.exe
Pfeil 27.4 Das Archivformat Jar
Pfeil 27.4.1 Das Dienstprogramm Jar benutzen
Pfeil 27.4.2 Das Manifest
Pfeil 27.4.3 Applikationen in Jar-Archiven starten
Pfeil 27.4.4 Applets in Jar-Archiven
Pfeil 27.5 Monitoringprogramme
Pfeil 27.5.1 jps
Pfeil 27.5.2 jstat
Pfeil 27.5.3 jmap
Pfeil 27.5.4 jstack
Pfeil 27.6 Ant
Pfeil 27.6.1 Bezug und Installation von Ant
Pfeil 27.6.2 Properties
Pfeil 27.6.3 Externe und vordefinierte Properties
Pfeil 27.6.4 Weitere Ant-Tasks
Pfeil 27.7 Decompiler und Obfuscatoren
Pfeil 27.7.1 Der Decompiler Jad
Pfeil 27.7.2 Das Obfuscator-Programm ProGuard
Pfeil 27.8 Weitere Dienstprogramme
Pfeil 27.8.1 Sourcecode Beautifier
Pfeil 27.8.2 Java-Programme als Systemdienst ausführen
Pfeil 27.9 Zum Weiterlesen


Galileo Computing - Zum Seitenanfang

27.5 Monitoringprogramme Zur nächsten ÜberschriftZur vorigen Überschrift

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.


Galileo Computing - Zum Seitenanfang

27.5.1 jps Zur nächsten ÜberschriftZur vorigen Überschrift

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.


Galileo Computing - Zum Seitenanfang

27.5.2 jstat Zur nächsten ÜberschriftZur vorigen Überschrift

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.


Galileo Computing - Zum Seitenanfang

27.5.3 jmap Zur nächsten ÜberschriftZur vorigen Überschrift

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

Galileo Computing - Zum Seitenanfang

27.5.4 jstack topZur vorigen Überschrift

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.






<< zurück



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