This page (revision-13) was last changed on 17-Dec-2013 12:54 by Dieter Käppel

This page was created on 20-Oct-2011 16:07 by Dieter Käppel

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
13 17-Dec-2013 12:54 4 KB Dieter Käppel to previous
12 17-Dec-2013 12:54 3 KB Dieter Käppel to previous | to last
11 17-Dec-2013 12:51 3 KB Dieter Käppel to previous | to last
10 31-Jul-2012 08:36 3 KB Dieter Käppel to previous | to last
9 17-Jul-2012 12:06 3 KB Dieter Käppel to previous | to last
8 15-May-2012 22:07 2 KB Dieter Käppel to previous | to last
7 08-May-2012 14:14 2 KB Dieter Käppel to previous | to last
6 08-May-2012 14:12 1 KB Dieter Käppel to previous | to last
5 29-Nov-2011 13:58 1 KB Dieter Käppel to previous | to last
4 17-Nov-2011 10:48 1 KB Dieter Käppel to previous | to last
3 21-Oct-2011 13:15 1 KB Dieter Käppel to previous | to last
2 21-Oct-2011 07:32 886 bytes Dieter Käppel to previous | to last
1 20-Oct-2011 16:07 771 bytes Dieter Käppel to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 3 changed one line
!Beispiel
!!!Java Beispiel
At line 14 changed one line
!Java Virtual Machine Sourcen
!!!Java Virtual Machine Sourcen
At line 16 added 88 lines
!Certificate von Web-Seite im Keystore installieren
Mit folgender Klasse kann ein Zertifikat einer HTTPS-Web-Seite im Keystore der lokalen Java-Installation hinzugefügt werden, sodass dieser Seite immer vertraut wird.
[Java/InstallCert.class]
{{{
java InstallCert <address>:<port>
}}}
Source Code:
[Java/InstallCert.java]
!!!Proxy Konfigurieren
Beim Starten der virtuellen Maschine können Parameter für das Verwenden eines Proxys übergeben werden:
{{{
java -DproxyHost=<host> -DproxyPort=<port>
}}}
Oder die System-Proxy-Einstellungen verwenden:
{{{
System.setProperty("java.net.useSystemProxies", "true");
Proxy proxy = ProxySelector.getDefault().select(new URI("http://intersult.com/")).get(0);
}}}
!!!Java Debug Options
{{{
-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y
}}}
!!!SSL-Zertifikat
Für HTTPS- und allgemein SSL-Verbindungen werden Zertifikate (Trusted Certificate) verwendet. Mit der Kommandozeile ist dies durch das Kommando keytool (%JAVA_HOME%/bin) mögich.
!!!HTTPS-Zertifikate
Der Keystore muss angegeben werden, eine Datei in der die Zertifikate gespeichert werden. Der Default-Keystore, der von Java benutzt wird, lautet %JAVA_HOME%\jre\lib\security\cacerts, das Default-Passwort lautet changeit.
||Aufgabe||Befehl
|Auflisten|keytool -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -storepass changeit -list
|Importieren|keytool -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -storepass changeit -import -file <filename>
!!StartCom-Zertifikate
StartCom ist bei den meisten neuen Browsern bereits enthalten, bei Java jedoch noch nicht. Kann durch folgende Kommandos hinzugefügt werden:
{{{
keytool -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -storepass changeit -import -alias startcom.ca -file ca.pem -trustcacerts
keytool -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -storepass changeit -import -alias startcom.ca.sub -file sub.class1.server.ca.pem -trustcacerts
}}}
Es handelt sich um zwei Zerfitikate in der Key-Chain. Die Dateien ca.pem und sub.class1.server.ca.pem können von [http://www.startcom.org/] besorgt werden:
* [http://www.startssl.com/certs/ca.crt]
* [http://www.startssl.com/certs/sub.class1.server.ca.crt]
!!!Speicher
[Java] benutzt nur begrenzt Speicher. Falls eine Anwendung mehr Speicher braucht, muss dieser manuell erhöht werden. Insbesondere ist davon der sogenannte PermGen-Space betroffen, Speicher der dauerhaft belegt wird:
{{{
-Xmx512M -XX:MaxPermSize=256M
}}}
Zusätzlich kann das Entladen von Java-Klassen aktiviert werden:
{{{
-XX:+CMSClassUnloadingEnabled
}}}
Darüber kann das Verwenden des neuen Garbage-Kollektors noch Vorteile bringen:
{{{
-XX:+UseConcMarkSweepGC
}}}
Also alles zusammen:
{{{
-Xmx512M -XX:MaxPermSize=256M -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC
}}}
!!!Code Metriken und Reporting
Es gibt einige Tools um sich eine Übersicht über Abhängigkeiten und den Zustand von Code zu verschaffen. Praktisch sind Maven-Plugins, da diese automatisch heruntergeladen und ausgeführt werden:
!!JDepend
Mit jdepend:generate kann ein Report generiert werden, hier ein Auszug:
[Java/jdepend.PNG]