10.661 Bytes hinzugefügt
, 09:54, 21. Jan. 2014
Siehe [[oldCt:Java-Tipps]]
== Java 2 Standard Edition ==
=== Java-Sprachkonstrukte ===
==== Lambdas ====
Siehe
* http://www.techempower.com/blog/2013/03/26/everything-about-java-8/
=== Java-Anwendungen ===
* Umfangreiches Verzeichnis freier Javaapplikationen findet sich bei [http://java-apps.org/ Java-Apps.org].
=== Dokumentation zu J2SE ===
* [http://java.sun.com/javase/reference/api.jsp Offizielle Dokumentation]
* [http://help.eclipse.org/juno/index.jsp Eclipse-Help]
* [http://java.sun.com/javase/6/docs/api/ J2SE V6 API-JavaDoc]
* Schöne [http://www.tutego.com/java/faq.html Java-FAQ] mit vielen Problemlösungen.
* [http://www.galileocomputing.de/openbook/java2/ Openbook zu Java2] (deutsch).
* [http://openbook.galileocomputing.de/java7/ Fortsetzung des Open Books für Entwickler mit guten Grundkenntnissen]
* [http://mindprod.com/jgloss/jgloss.html Java Glossary] mit vielen Beispielen
=== Entwicklungsumgebung ===
* [[Netbeans]] ist eine [[Plattformübergreifende Software]]. Sie findet sich z.B. auch im Repository von [[Ubuntu]].
* Eine Einführung in Maven 2 findet sich auf [http://www.javaworld.com/javaworld/jw-12-2005/jw-1205-maven.html JavaWorld.com]. Maven 2 ist auch in [http://wiki.netbeans.org/MavenBestPractices Netbeans integriert].
=== JUnit-Tests ===
* Auf [http://www.junit.org/ JUnit.org] finden sich auch die Java-API-Docs.
* http://stackoverflow.com/questions/309396/java-how-to-test-methods-that-call-system-exit
* Neben JUnit ist [http://www.jmock.org/getting-started.html jMock] ein großer Helfer beim schreiben von automatischen Tests. Eine Alternative, um "gefälschte" Java-Objekte zu nutzen, ist [http://www.easymock.org/EasyMock2_3_Documentation.html EasyMock].
=== Kommandozeilenparser ===
* [http://jewelcli.sourceforge.net/usage.html JewelCLI] ist ein OptionsParser, der auf Annotationen setzt.
* [http://commons.apache.org/cli/ CLI] ist eine [[Apache]]-Komponente, die die Verarbeitung von Kommandozeilenparametern erleichtert.
* [http://jopt-simple.sourceforge.net/index.html JOpt Simple]
=== Webanwendungen ===
* Siehe [http://cocoon.apache.org Apache Cocoon]
* [[HTML]] kann man mit [[deskriptivem]] Java-Code erzeugen: Dafür steht [http://jakarta.apache.org/ecs/index.html Apache ECS] zur Verfügung.
* Die Übersetzung von [[Java]] nach [[JavaScript]] leistet das [http://code.google.com/intl/de-DE/webtoolkit/ Google Web Toolkit].
** [http://www.netbeans.org/kb/docs/web/quickstart-webapps-gwt.html Anleitung zur Nutzung des Google Web Toolkit] mit der [[Netbeans]]-IDE.
=== Dateiverwaltung ===
Das Erstellen von Windows-Verknüpfungen ist nicht mit Bord-Mitteln von [[Java]] zu lösen. Aber es gibt schon [http://de.w3support.net/index.php?db=so&id=309495 fertigen Code im Web]. "JShortCut" soll auch helfen.
=== Java WebStart ===
* [http://www.lug-kr.de/wiki/JavaWebStart Wie erstelle ich ein Java Webstart-Programm?]
=== Web Services ===
* [http://www.webreference.com/authoring/web_service/ Einführung in Web Service Nutzung] (Java-unabhängig)
* [http://download.oracle.com/docs/cd/E17802_01/webservices/webservices/docs/1.6/tutorial/doc/index.html Java Web Services 1.6 Dokumentation]
** [http://www.theserverside.de/webservice-in-java/ Einfacher SOAP WebService-Server und -Client]
=== Datenformate ===
==== JSON ====
* [http://code.google.com/p/json-simple/ Json.Simple], Java Library to convert from and to JSON
* Siehe auch [http://jsontools.berlios.de/ JSONTools]
* [http://www.vogella.com/articles/AndroidJSON/article.html JSON unter Android]
* [http://jackson.codehaus.org/ Jackson]
==== MS-Excel ====
Dateien im Excel-Format können mit Hilfe der [[Open Source]]-APIs
* [http://jexcelapi.sourceforge.net/ jExcelAPI] und
* [http://poi.apache.org/ Apache POI] (auch für das [http://poi.apache.org/spreadsheet/index.html 2007er-XML-Format])
gelesen und geschrieben werden.
==== OpenDocument Format (ODF) ====
Für das Open Document Format, das v.a. durch [[OpenOffice]]/[[LibreOffice]] bekannt ist, existiert die [http://incubator.apache.org/odftoolkit/simple/document/cookbook/index.html#Table Simple API des ODFToolkits].
=== Inversion of Control/Dependency Injection ===
==== Theorie und Anleitungen ====
* Inversion of Control ist ein Name für das Konzept von Container-Frameworks, die Software-Komponenten verbinden, ohne dass ein Eingriff in deren Sourcecode vorgenommen werden muss. Dies ist eine Methode, Plugins zu schaffen.
* Die [http://martinfowler.com/articles/injection.html Theorie von Inversion of Control (englisch)] von Martin Fowler bietet einen Vergleich von Inversion of Control mit dem Service Locator Pattern.
* Eine weitere Anleitung zu [http://www.informit.com/guides/content.aspx?g=java&seqNum=314 Inversion of Control] erstellt einen einfachen IoC-Container "BeanFactory".
==== Einzelne IoC-Container-Frameworks ====
* [http://www.picocontainer.org/ PicoContainer] und seine Weiterentwicklung NanoContainer beherrschen Constructor Injection und Setter Injection. Außerdem bieten Sie Konfiguration durch Annotations.
* [http://www.springframework.org/about Spring] beherrscht Setter Injection. Beim Spring Framework ist Inversion of Control nur einer von vielen Features.
* Die Nachfolger von [http://avalon.apache.org/closed.html Avalon] bieten Interface Injection.
** [http://excalibur.apache.org/ Excalibur] ist ein Nachfolgeprojekt Avalons unter dem Dach von Apache.
** [http://www.dpml.net/metro/concepts/index.html DPML Metro] ging aus Avalon hervor.
* HiveMind befindet sich derzeit im Übergang auf Version 2 (noch alpha-Version).
* Eine Liste von OpenSource IoC-Containern findet sich bei [http://java-source.net/open-source/containers java-source.net].
=== FTP Client API ===
* [http://www.javaworld.com/javaworld/jw-04-2003/jw-0404-ftp.html?page=1 Artikel über Java FTP Client APIs] einschließlich in J2SE vorhandenem Standard
=== Statistik ===
* [[Statistik#HP-Filter | Implementation eines HP-Filters in Java]]
=== Synchronisation ===
Siehe auch [[Synchronisation unter Linux]]
==== SyncML ====
* [http://developers.sun.com/techtopics/mobility/midp/articles/syncml/ Article SyncML basics]
* [http://java.sun.com/developer/Books/J2MEwireless/J2ME12.pdf SyncML on J2ME (with source code)]
==== vCard/vCalendar/iCal ====
* vCard/vCalendar home - http://www.imc.org/pdi/
* Open Source [http://ical4j.sourceforge.net/ iCal4J-API]
==== Bluetooth ====
Siehe [[Bluetooth-Tipps]].
=== Java als HTTP-Client ===
* [http://www.iks.hs-merseburg.de/~uschroet/Literatur/Java_Lit/JAVA_Insel/javainsel_18_002.htm#mj307bd06e7adbd612ac192f4e9c4b8f86 Standard-Java URL-Klasse]
* [http://www.tutorials.de/forum/java/224720-post-daten-uebertragen-einloggen.html Gegenüberstellung von Standard-HttpURLConnection und Apache-HttpClient]
* [http://java.sun.com/docs/books/tutorial/networking/urls/readingWriting.html Sun Tutorial für eine HTTP-Query]
* [https://developer.mozilla.org/en/JavaXPCOM/Embedding_Mozilla_in_a_Java_Application_using_JavaXPCOM Java als Controller für Firefox] mittels JavaXPCOM
* Eine ganz andere Lösung ist das Selenium - Framework zur Steuerung eines Browsers.
** Wenn man Javascript deaktivieren will, hilft bei Nutzung von [[Firefox]] [http://stackoverflow.com/questions/1285917/how-to-disable-javascript-when-using-selenium diese Lösung].
=== Databases ===
==== JDBC ====
* Ein [http://java.sun.com/docs/books/tutorial/jdbc/overview/index.html Überblick über JDBC/SQL] findet sich auf java.sun.com.
* [http://www.netbeans.org/kb/55/derby-demo.html Mit NetBeans-IDE auf Datenbanken zugreifen]
==== SQL ====
* [[SQL]]
==== Java Persistence API ====
* [http://java.sun.com/javaee/technologies/persistence.jsp Java Persistence API at Javasoft]
* [http://java.sun.com/javaee/5/docs/api/javax/persistence/package-summary.html Java Persistence API Doc]
* Folien zur [http://www.uni-koblenz.de/FB4/Institutes/IST/AGEbert/Teaching/WS0607/SemOP/Finals/klassen.slides.pdf Einführung in JPA]
* [http://www.jroller.com/marceloverdijk/entry/java_persistence_api_kickstart_example MiniBeispiel einer Java-Persistence-API mit J2SE]
* [http://today.java.net/pub/a/today/2006/05/23/ejb3-persistence-api-for-client-side-developer.html Addressbuch mit Java Persistence API, Hibernate und HSQLDB]
* [https://glassfish.dev.java.net/javaee5/persistence/persistence-example.html Glassfish-Example] (JavaSE mit/ohne Netbeans oder JavaEE]
=== XML ===
* [http://xstream.codehaus.org/persistence-tutorial.html XStream] (ein XML-Persistence-Library]
=== PDF ===
Mit der [[Open Source]]-Bibliothek itext lassen sich PDF nicht nur erstellen, sondern auch [http://www.itextpdf.com/examples/iia.php?id=277 z.B. als reiner Text] lesen.
=== Geometrie ===
* Flächenberechnung von Polygonen:
** [http://iti.fh-flensburg.de/lang/algorithmen/geo/polygon.htm Flächenberechnung mathematisch]
* Bilden von Schnittmengen von Polygonen:
** [http://www.vividsolutions.com/jts/jtshome.htm JTS Topology Suite] ist eine Open Source Bibliothek, die auch das Verschneiden von Polygonen unterstützt.
** http://www.integis.ch/documents/ISem_Opprecht_Overlay_2002-02-28.pdf
* Übrigens: Flächen eines Polygons kann man auch mechanisch mit einem [http://bluemich.net/rechner/rmplanimeter.htm Planimeter] messen.
=== Java 3D ===
* Eine kleine Anleitung mit Kurzbeispielen zu Java 3D findet sich [http://www.diplom-informatikerin.de/tutorials/java-3d.html hier].
* Einen Überblick über Java 3D verschafft [http://www.informatik.uni-mannheim.de/pi4.data/content/courses/1998-ws/seminarvrml/thema3/index.html].
=== Hardware-I/O ===
Für den Universal Serial Bus (USB) ist die Unterstützung durch [[Java]] nur für [[Linux]] vollständig:
* [http://javax-usb.org/ Javax.USB] als Standardimplementation des JSR80.
=== Neuronale Netze ===
* Siehe [[Neuronale Netze]].
== Scripting ==
* Für JavaFX gibt es eine [http://java.sun.com/developer/technicalArticles/scripting/javafxpart1/ Anleitung für Java-Programmierer].
== Java 2 Mobile Edition ==
Siehe [[J2ME]]
== Java-Einstieg ==
* Installation von
** JRE / JDK
** Netbeans
* Hello-World-Programm auf Konsole
** Ausgabe einer <code>for</code>-Schleife
** <code>if</code>-Anweisung
** Debuggen: Schritt-für-Schritt-Ablauf plus Variablen-Überwachung
** Ausgabe in eine Text-Datei / CSV-Datei
*** Variante: Schreiben über Funktionen
*** Variante: Schreiben über Klassenobjekte
* Swing
** Hello-World-Programm auf GUI
** Addition bei Drücken eines Knopfes
* Bearbeiten von Excel-Dateien mit [[Apache POI]]
----
Siehe auch [[Softwareentwicklung]]
[[Category:Java-Tipps]]
[[Category:Softwareentwicklung]]
[[Category:Informationstechnik]]
[[Category:OldCt]]