Ich benutze Java seit ungefähr einem Jahr und entdecke ständig neue Dinge in der Sprache. Die meisten dieser coolen Sachen stammen interessanterweise nicht von APIs oder Bibliotheken von Drittanbietern, sondern von den Klassen, die im JDK ausgeliefert werden.
Ich frage mich also, teils aus Neugier und teils aus der Erziehung anderer und mir selbst, welche Klassen im JDK am interessantesten / nützlichsten / am liebsten sind?
Da Sie JDK ausdrücklich erwähnt haben, ist es meiner Meinung nach erlaubt, eine API zu erwähnen, die eigentlich nicht in der JRE verfügbar ist und auch bei den meisten von uns weniger bekannt ist: javax.tools
.
Hier ist ein vollständiges Demo-Snippet:
%Vor%Nützlich? Nicht sicher. Interessant? Ja, interessant zu wissen:)
Für den Rest mag ich die Sammlungen , Reflection , Concurrent und JDBC APIs. Alle diese sind bereits hier erwähnt.
Die meisten Klassen, die die Collection
Schnittstelle implementieren!
Eine Sache, die ich Neu-zu-Java-Leuten vermisse, ist die SimpleDateFormat-Klasse. Ich habe in meinem aktuellen Projekt einen Haufen Legacy-Code gefunden, der von einem C ++ - Programmierer geschrieben wurde, der Java nicht wirklich kannte und im Grunde alle Formatierungen von Datum zu String mit benutzerdefiniertem Code durchführte. Sprechen Sie darüber, das Rad neu zu erfinden.
Ich habe kürzlich angefangen, die zip / unzip-Unterstützung zu verwenden, die Teil des JDK ist. Es funktioniert super! Ich verwende es, um KMZ-Archive in einer Webapp zu erstellen.
ThreadLocal ist wahrscheinlich in der Nähe der Oben auf der Liste. Diese Klasse ist der Hauptweg, auf dem ein Großteil der Magie in übergeordneten Frameworks passiert, und bietet bei richtiger Verwendung eine interessante Möglichkeit, Referenzen innerhalb eines Threads zu teilen.
Das Reflection-Paket ist auch sehr leistungsfähig und ein lohnendes Werkzeug für die Moderation.
Langweilig, aber irgendwie kommt es immer wieder auf das ole System
zurück. Nicht für etwas Cooles oder Aufregendes (wie gesagt, langweilig), aber für diesen einen Befehl verwende ich wahrscheinlich mehr als alles andere - System.out.println
(oder drucke einfach, wenn das mehr dein Kessel Fisch ist.)
Collections-Framework, Java-Dienstprogrammpaket esp. die RegExp Parsing-Klassen. Kommt drauf an, was du machen willst!
Ich werde mich auf meine eigene Frage konzentrieren. Meine persönliche Lieblingsklasse ist java.util.Random. Ich denke, es ist unglaublich nützlich für die Wahrscheinlichkeitssimulation, Kartenspiele und andere kleine Programme. Ich finde auch die Idee der (Pseudo-) Zufälligkeit faszinierend.
Ich habe versucht, einige nützliche aufzulisten, aber ich denke, die Liste wird wirklich lange dauern.
SwingWorker
ist definitiv eine großartige Klasse. Es ermöglicht Ihnen, einfach Worker-Threads in Ihren Swing-Anwendungen zu erstellen. Dies wird das Endergebnis der Verarbeitung zurückgeben und kann dem EDT auf der Grundlage der Verarbeitung sogar Zwischenergebnisse liefern.