Java-Tipps: Unterschied zwischen den Versionen

Aus CodicaTipps
Zur Navigation springen Zur Suche springen
Zeile 65: Zeile 65:
 
=== Kommandozeilenparser ===
 
=== Kommandozeilenparser ===
  
 +
* [https://picocli.info/ picocli] ist eine Bibliothek zum Parsen der Kommandozeile mit vielen Funktionen, u.a. integrierter [[Tab-Completion]]
 
* [http://jewelcli.sourceforge.net/usage.html JewelCLI] ist ein OptionsParser, der auf Annotationen setzt.
 
* [http://jewelcli.sourceforge.net/usage.html JewelCLI] ist ein OptionsParser, der auf Annotationen setzt.
 
* [http://commons.apache.org/cli/ Commons CLI] ist eine [[Apache]]-Komponente, die die Verarbeitung von Kommandozeilenparametern erleichtert.
 
* [http://commons.apache.org/cli/ Commons CLI] ist eine [[Apache]]-Komponente, die die Verarbeitung von Kommandozeilenparametern erleichtert.

Version vom 2. Oktober 2021, 13:53 Uhr

Siehe oldCt:Java-Tipps

Java 2 Standard Edition

Installation

auf einem Raspberry Pi

Zur Installation von Oracle Java 8 JDK auf einem Raspberry Pi siehe

aus dem webupd8team-Repository

 sudo add-apt-repository ppa:webupd8team/java
 sudo aptitude update && sudo aptitude install oracle-java8-installer

Siehe

Java-Sprachkonstrukte

Lambdas

Siehe

Java-Anwendungen

  • Umfangreiches Verzeichnis freier Javaapplikationen findet sich bei Java-Apps.org.

Java auf dem Desktop

Links zu Java-Desktop-Anwendungen

Java-Desktop-Anwendungen können sich unter Windows so registrieren, dass sie mit Hilfe von Links aus dem Browser aufgerufen werden können.

Siehe Windows#Aufruf_von_Programmen_mit_URLs


Das ist nicht zu verwechseln mit Protokoll-Handlern, die Aufrufe von unbekannten Protokollen aus dem Java-Programm selbst behandeln:

Dokumentation zu J2SE

Entwicklungsumgebung


JUnit-Tests


Kommandozeilenparser

  • picocli ist eine Bibliothek zum Parsen der Kommandozeile mit vielen Funktionen, u.a. integrierter Tab-Completion
  • JewelCLI ist ein OptionsParser, der auf Annotationen setzt.
  • Commons CLI ist eine Apache-Komponente, die die Verarbeitung von Kommandozeilenparametern erleichtert.
  • JOpt-Simple

Webanwendungen

Simple HTTP-Server

Das JDK kommt bereits mit einem eingebauten einfachen HTTP-Server:

Noch mehr Basic ist die Programmierung auf den IO-Sockets:


Vaadin

Auf dem Google Web Toolkit basiert auch das serverseitige Webapplikationsframework Vaadin. Auch hier wird serverseitig Java geschrieben, jedoch auf dem Browser als Javascript ausgeführt.

Siehe

sparkjava

Sparkjava ist ein Micro-Framework, um ähnlich einer funktionalen Herangehensweise wie in Node.js Anfragen von Web-Clients zu bedienen.

Siehe

JavaLite ActiveWeb

Siehe http://javalite.io/activeweb

molecule

Molecule ist ein kleines Framework für Java, das einen Java-Webserver (Simple oder Undertow) integriert und ähnlich wie Express für Node.js-Anwendungen zu benutzen ist.

Siehe

Dateiverwaltung

Das Erstellen von Windows-Verknüpfungen ist nicht mit Bord-Mitteln von Java zu lösen. Aber es gibt schon fertigen Code im Web. "JShortCut" soll auch helfen.

Java WebStart

Web Services

Datenformate

JSON

MS-Excel

Dateien im Excel-Format können mit Hilfe der Open Source-APIs

gelesen und geschrieben werden.

OpenDocument Format (ODF)

Für das Open Document Format, das v.a. durch OpenOffice/LibreOffice bekannt ist, existiert die Simple API des ODFToolkits.

Http Push Technology / Long Polling

Siehe

Java Bericht Generator

Allgemeines

Für die Erstellung von Berichten (Reports aus Datenbanken) gibt es unterschiedliche Open Source-Produkte:


JasperReports

JasperReports ist wohl der Platzhirsch unter den Open Source - Berichtsgeneratoren für Java.

Siehe auch

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 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 Inversion of Control erstellt einen einfachen IoC-Container "BeanFactory".

Einzelne IoC-Container-Frameworks

  • PicoContainer und seine Weiterentwicklung NanoContainer beherrschen Constructor Injection und Setter Injection. Außerdem bieten Sie Konfiguration durch Annotations.
  • Spring beherrscht Setter Injection. Beim Spring Framework ist Inversion of Control nur einer von vielen Features.
  • Die Nachfolger von Avalon bieten Interface Injection.
    • Excalibur ist ein Nachfolgeprojekt Avalons unter dem Dach von Apache.
    • 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 java-source.net.

FTP Client API

Statistik

Synchronisation

Siehe auch Synchronisation unter Linux


SyncML

vCard/vCalendar/iCal


Bluetooth

Siehe Bluetooth-Tipps.


Java als HTTP-Client

  • Eine ganz andere Lösung ist das Selenium - Framework zur Steuerung eines Browsers.

Aufruf des Standard-Browsers

Mit java.awt.Desktop kann der Standardbrowser des Betriebssystems aufgerufen werden.[2] Unter Windows können für bestimmte URLs auch eigene Anwendungen registriert werden (siehe Windows#Aufruf von Programmen mit URLs). Dann können mit der java.awt.Desktop-Methode auch andere Programme als der Browser gestartet werden.

Databases

JDBC


Query-Builder

Um die Tippfehler von SQL-Queries in Java-Code zu reduzieren, gibt es leicht- oder schwergewichtige Query-Builder, bei denen die SQL-Sprachkonstrukte in Java-Methoden oder -Eigenschaften abgebildet werden. Vertreter sind z.B.

Siehe auch Apache Calcite - ein Datenbank-Adapter

Object Relational Mapper

Es gibt schwergewichtige Zwischenschichten, die SQL-Datensätze auf Java-Objekte spiegeln. Siehe z.B.

SQL


Java Persistence API

XML

  • XStream (ein XML-Persistence-Library]

PDF

Mit der Open Source-Bibliothek itext lassen sich PDF nicht nur erstellen, sondern auch z.B. als reiner Text lesen.

Geometrie

  • Flächenberechnung von Polygonen:

Java Swing

Die GUI-Bibliothek Swing wird wohl nicht mehr weiterentwickelt.

JLayeredPane

Für die Nutzung von JLayeredPane hilft wohl ein spezialisierter LayoutManager.

Java 3D

  • Eine kleine Anleitung mit Kurzbeispielen zu Java 3D findet sich hier.
  • Einen Überblick über Java 3D verschafft [1].

Hardware-I/O

Für den Universal Serial Bus (USB) ist die Unterstützung durch Java nur für Linux vollständig:

  • Javax.USB als Standardimplementation des JSR80.

Neuronale Netze

Scripting

Java 2 Mobile Edition

Siehe J2ME

Java Servlets

Java Servlets benötigen eine Ausführungsumgebung wie Apache Tomcat.


Java-Einstieg

  • Installation von
    • JRE / JDK
    • Netbeans
  • Hello-World-Programm auf Konsole
    • Ausgabe einer for-Schleife
    • if-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


Siehe auch Softwareentwicklung