Difference between revisions of "Java home"

(Thread Dumps)
Ms (talk)
(Thread Dumps)
 
Zeile 50: Zeile 50:
 
*http://rfeest.blogspot.com/2008/02/thread-dumps-erzeugen.html
 
*http://rfeest.blogspot.com/2008/02/thread-dumps-erzeugen.html
 
*[https://tda.dev.java.net/ Thread Dump Analyzer]
 
*[https://tda.dev.java.net/ Thread Dump Analyzer]
  +
*[http://www.tagtraum.com/gcviewer.html free open source tool to visualize garbage collector data]
 
*[https://visualvm.dev.java.net/ All-in-One Java Troubleshooting Tool]
 
*[https://visualvm.dev.java.net/ All-in-One Java Troubleshooting Tool]
   

Latest revision as of 19:40, 16 Februar 2009

Runtime Environments

Links

Tips and Tricks

Rules Engines

Overview

Business Rules Management Systems (BRMS), decision tables (Entscheidungstabellen)

Links

JUnit

Version Info

Manchmal möchte man die Version einer junit-JAR herausbekommen. Das manifest enthält keine Versionskennzeichnung und die Klasse Version besitzt keine Main-Methode. Also braucht man eine kleine Klasse, die die Version auslesen kann.

import junit.runner.Version;
public class JUnitVersion {
	public static void main(String[] args) {
		System.out.println(Version.id());
	}
}

Thread Dumps

Zum Erzeugen eines Thread Dumps muss man seit JDK 1.5 kein SIGQUIT (kill -3 ...) an die JavaVM schicken, sondern es gibt ein eigenes Kommando daf+r

 jstack <pid> >stack.txt

Links

Exceptions

Links

Klonen von Objekten

Um bitweise Kopien von Objekten zu erzeugen, kann man die clone-Methode der Klasse Object verwenden. Dafür muss die zu klonende Klasse das Interface Clonable implementieren.

public class MyClass implements Cloneable {
}
    /** Objekt clonen (unter Verwendung von Object.clone()).
     * @see java.lang.Object#clone()
     * @return Clone oder null, falls Object.clone() CloneNotSupportedException lieferte
     */
    public MyClass clone() {
        try {
            return (MyClass) super.clone();
        } catch (CloneNotSupportedException e) {
            return null;
        }
    } 

Links