Java debugger protocol (JVMTI) nemá dobrou podporu pro získání návratové hodnoty funkce. Podobná funkčnost je podporovaná například v Microsoft Visual C++, zobrazená v pohledu "variables" jako pseudo variable. Přístup k návratové hodnotě by měl být implementován v Java 6.0 (JDWP, JDI: Add return value to Method Exit Event), ale implementace není rychlá a vyžaduje zapnutí trasování metod na výstupu metod.
Nástroje statické analýzy mohou nalézt pravděpodobná problémová místa. Občas ale překvapí tím, že některé triviální chyby jim uniknou mezi prsty. Například při kompilaci Java 6.0 nebo v Eclipse 3.4 nenalezne FindBugs v1.3.8 v následující metodě nic podezřelého:
Eclipse debugger, přinejmenším verze 3.4.x, povolí změnu hodnoty primitivního typu. Třídy jako Boolean nebo Integer jsou založeny na své neměnnosti. Změna fieldu má
záludný vliv na všechny místa, kde se pracuje se stejnou instancí:
Pokud máte složitější build.xml, výstup není snadné číst a například struktura vnoření jednotlivých targetů je ztracena. Pro lepší výstup můžete použít XmlLogger (funguje i v Eclipse 3.4):
ant -logger org.apache.tools.ant.XmlLogger -logfile build_log.xml
(detaily použití lze nalézt v dokumentaci Ant listener)
Delší dobu mě trápil nepříjemný problém v IE 7.0, vždy když jsem otevřel odkaz v nové záložce, IE vždy na několik vteřin zamrznul. Podobné, ale delší zmrznutí (20 i více vteřin) nastávalo i při ukončení celé aplikace.
Defaultní pravidla pro řazení stringů v Javě ignorují mezery (whitespaces). To je nepříjemné, protože například pravidla řazení pro češtinu s mezerou pracují. Třída RuleBaseCollator používá CollationRules.DEFAULTRULES (SUN specific) a připojí pravidla pro místní řazení na konec. Defaultní pravidla řadí mezeru až v druhém pořadí. Možnosti řešení: