java - Tipps,Tricks, Bugs + Lösungsvorschläge
liebe java-freaks,
was hält ihr davon einen thread zu starten, indem wir unsere persönlichen (nicht-trivialen) Programmiererfahrungen austauschen, die uns (sinnlos) viel zeit und nerven kosten/gekostet haben?
zB:
Ich hab da bis java-Version 1.5 öfters mit graphischen Objekten ein Thread-Problem gehabt (= offizieller Bug),..
öfters haben da graphische Objekte nicht oder nicht zur richtigen Zeit das gemacht, was ich wollte das sie machen,..
das kann man dann (laut sun) meist umgehen indem man:
eingibt.
oder auch: Wenn ich applets mit der neuesten java-version kompiliere, können ja "normale Surfer" das applet nicht angezeigt bekommen (wegen ihrer zu alten java-version (jvm))
meine rangehensweise ist nun mit
- HtmlConverter.exe (= im bin-Verzeichnis des jdk) den html-einbindungscode des applets zu optimieren (--> Browser des Users will Java-Version updaten, wenn die version nicht passt)
- oder eben mit einer älteren Verision (1.4.2) zu kompilieren und von der älteren Version den HtmlConverter zu starten,..
kennt da wer vielleicht eine optimalerer Lösung bzw. "wie kompiliert ihr applets"?,..
lg asterix
was hält ihr davon einen thread zu starten, indem wir unsere persönlichen (nicht-trivialen) Programmiererfahrungen austauschen, die uns (sinnlos) viel zeit und nerven kosten/gekostet haben?
zB:
Ich hab da bis java-Version 1.5 öfters mit graphischen Objekten ein Thread-Problem gehabt (= offizieller Bug),..
öfters haben da graphische Objekte nicht oder nicht zur richtigen Zeit das gemacht, was ich wollte das sie machen,..

das kann man dann (laut sun) meist umgehen indem man:
|
|
Quellcode |
1 2 3 4 5 6 7 |
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
hier, das was (in der graphischen darstellung) nicht gescheit funktioniert eingeben
}
});
|
oder auch: Wenn ich applets mit der neuesten java-version kompiliere, können ja "normale Surfer" das applet nicht angezeigt bekommen (wegen ihrer zu alten java-version (jvm))
meine rangehensweise ist nun mit
- HtmlConverter.exe (= im bin-Verzeichnis des jdk) den html-einbindungscode des applets zu optimieren (--> Browser des Users will Java-Version updaten, wenn die version nicht passt)
- oder eben mit einer älteren Verision (1.4.2) zu kompilieren und von der älteren Version den HtmlConverter zu starten,..
kennt da wer vielleicht eine optimalerer Lösung bzw. "wie kompiliert ihr applets"?,..
lg asterix
gawk; talk; time; grep; cd ~; wine; talk; touch; unzip; touch; strip; gasp; finger; gasp; mount; fsck; more; yes; gasp; umount; make clean; sleep
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »asterix« (6. Dezember 2005, 12:37)
Tricks
Der idee schließ ich mich an. Hab gleich etwas.
Da hat meine webserver-application die Applets fehlerhaft übertragen. Der übertragene bytecode war nicht identisch mit dem eigentlichen bytecode des Applets. Das Problem war das ich zwar den MIME-Typ richtig gesetzt hatte, aber nicht die Übertragungsart (Binär).
So kam es das von 7.000 Bytes immer ca. 40 Zeichen nicht stimmten.
Es ist also ein Entwicklungsfehler gewesen.
Es hilft enorm, wenn man einen java-debugger hat und einen Hex-editor.
Ich Kompiliere mit java 1.3.1 wenn du mit IBM Eclipse arbeitest kann ich beim einrichten helfen. Ich selber hatte schwierigkeiten dem Browser zu sagen, er soll die und die >Java-Version benutzen.
Da hat meine webserver-application die Applets fehlerhaft übertragen. Der übertragene bytecode war nicht identisch mit dem eigentlichen bytecode des Applets. Das Problem war das ich zwar den MIME-Typ richtig gesetzt hatte, aber nicht die Übertragungsart (Binär).
So kam es das von 7.000 Bytes immer ca. 40 Zeichen nicht stimmten.
Es ist also ein Entwicklungsfehler gewesen.
Es hilft enorm, wenn man einen java-debugger hat und einen Hex-editor.
Ich Kompiliere mit java 1.3.1 wenn du mit IBM Eclipse arbeitest kann ich beim einrichten helfen. Ich selber hatte schwierigkeiten dem Browser zu sagen, er soll die und die >Java-Version benutzen.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »nocturne« (8. Dezember 2005, 09:21)
Trick - Objekt an Stacktrace binden.
Ich habe nochein:
Wir arbeiten mit Servlets.
Jetzt musste ich eine Möglichkeit finden individuelle Objekte an die Ausführung einer Methode zu binden, ohne diese als Parameter zu übergeben.
Beispiel:
public class Test{
public Test(){
UserList.getCurrentUser().doNotify("Test successfully.");
Client.getCurrentClient().write("Hello World.");
}
}
Gelöst habe ich das durch die dynamische Kompilierung von individuellen Java-Klassen zur Laufzeit. Dem erzeugten Stacktrace entnehme ich dann den dynamischen Namen einer bestimmten Klasse (i.e.:imowe2348706127) welcher auf einen Eintrag in einer statischen Hashmap verweist.
So konnte ich Objekte also an ein Stacktrace binden.
Wir arbeiten mit Servlets.
Jetzt musste ich eine Möglichkeit finden individuelle Objekte an die Ausführung einer Methode zu binden, ohne diese als Parameter zu übergeben.
Beispiel:
public class Test{
public Test(){
UserList.getCurrentUser().doNotify("Test successfully.");
Client.getCurrentClient().write("Hello World.");
}
}
Gelöst habe ich das durch die dynamische Kompilierung von individuellen Java-Klassen zur Laufzeit. Dem erzeugten Stacktrace entnehme ich dann den dynamischen Namen einer bestimmten Klasse (i.e.:imowe2348706127) welcher auf einen Eintrag in einer statischen Hashmap verweist.
So konnte ich Objekte also an ein Stacktrace binden.


