<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>JVM Languages on JAVAPRO Germany</title><link>https://javapro.svenruppert.com/categories/jvm-languages/</link><description>Recent content in JVM Languages on JAVAPRO Germany</description><generator>Hugo</generator><language>de-DE</language><lastBuildDate>Mon, 25 Aug 2025 07:00:45 +0000</lastBuildDate><atom:link href="https://javapro.svenruppert.com/categories/jvm-languages/index.xml" rel="self" type="application/rss+xml"/><item><title>Wie man den Milliarden-Dollar-Fehler repariert</title><link>https://javapro.svenruppert.com/wie-man-den-milliarden-dollar-fehler-repariert/</link><pubDate>Mon, 25 Aug 2025 07:00:45 +0000</pubDate><guid>https://javapro.svenruppert.com/wie-man-den-milliarden-dollar-fehler-repariert/</guid><description>&lt;p&gt;Es gibt Fehler, die sind einfach nur teuer. Und dann gibt es die Nullreferenz. Ein Sprachfeature, das 1965 eingeführt wurde – „einfach, weil es so leicht zu implementieren war“. Seitdem hat die Nullreferenz unzählige Bugs, Systemabstürze und Sicherheitsprobleme hervorgerufen – und Milliarden an Kosten für Wartung und Fehlersuche verursacht. In vielen modernen Programmiersprachen wurde die Referenz daher bereits eliminiert. Dieser Artikel zeigt praktische Wege, wie sich dieser Sprachfehler auch in Java vermeiden lässt.&lt;/p&gt;</description></item><item><title>Die lange Geschichte von Log4j</title><link>https://javapro.svenruppert.com/die-lange-geschichte-von-log4j/</link><pubDate>Mon, 26 May 2025 07:00:04 +0000</pubDate><guid>https://javapro.svenruppert.com/die-lange-geschichte-von-log4j/</guid><description>&lt;p&gt;Logging ist die Kunst, ein System zu verstehen.&lt;/p&gt;
&lt;p&gt;Software protokolliert was gerade passiert in Log-Dateien, und Entwickler durchsuchen sie in der Hoffnung, das zu finden, was sie brauchen. Das Problem dabei? Systeme protokollieren selten die richtigen Dinge. Doch ohne diese Dateien würden wir im Blindflug fliegen, ohne zu wissen, dass überhaupt etwas schiefgelaufen ist.&lt;/p&gt;
&lt;p&gt;Dies ist die Geschichte von Apache Log4j - eines der ältesten Java-Frameworks, das heute noch verwendet wird. Ein Tool, das Entwicklern die Möglichkeit gab, ihre Systeme zu verstehen.&lt;/p&gt;</description></item><item><title>30 Jahre Java - Wie sich die Sprache entwickelt hat</title><link>https://javapro.svenruppert.com/30-jahre-java-wie-sich-die-sprache-entwickelt-hat/</link><pubDate>Mon, 19 May 2025 07:00:31 +0000</pubDate><guid>https://javapro.svenruppert.com/30-jahre-java-wie-sich-die-sprache-entwickelt-hat/</guid><description>&lt;p&gt;Wir feiern 30 Jahre Java. Zeit für einen Rückblick wie sich Java als Programmiersprache entwickelt hat. Wir werden sehen, wie Java verschiedene Paradigmen der Softwareentwicklung integriert hat, ohne seine klare Struktur zu verlieren. Es ist faszinierend, dass man trotz all dieser Veränderungen in Java immer noch genauso programmieren kann wie vor 30 Jahren.&lt;/p&gt;
&lt;p&gt;Als Java Mitte der 90er Jahre aufkam, war die objektorientierte Programmierung das dominierende Paradigma. Dies spiegelt sich in Java wider, das von Anfang an eine „rein“ objektorientierte Sprache war. „Alles ist ein Objekt“ kann wörtlich genommen werden. Mit Ausnahme der Primitiven ist alles von der Basisklasse „Objekt“ abgeleitet. Anfangs hielt sich die Sprache strikt an dieses Paradigma. Dies änderte sich im Laufe der Zeit, als die Sprache immer mehr Elemente des funktionalen Programmierparadigmas übernahm. Diese Entwicklung lässt sich auch in anderen Programmiersprachen beobachten.&lt;/p&gt;</description></item><item><title>Vernetzte Systeme mit FEPCOS-J</title><link>https://javapro.svenruppert.com/vernetzte-systeme-mit-fepcos-j/</link><pubDate>Mon, 21 Dec 2020 09:17:49 +0000</pubDate><guid>https://javapro.svenruppert.com/vernetzte-systeme-mit-fepcos-j/</guid><description>&lt;p&gt;&lt;strong&gt;FEPCOS-J ist ein Programmiergerüst für Java, das die Entwicklung von zusammengesetzten, vernetzten Systemen, wie zum Beispiel Roboterschwärme, beschleunigt, indem es die benötigte Netzwerkprogrammierung automatisiert und die Spezifikation von Nebenläufigkeit vereinfacht. In diesem Artikel werden die Grundlagen und, mit einem einfachen Beispiel, die Anwendung von FEPCOS-J vorgestellt.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;„Das Ganze ist mehr als die Summe seiner Teile.“ Aristoteles (384 v.Chr. - 322 v.Chr.). Dieses Prinzip ist auf ein vernetztes, technisches System, das aus Teilsystemen zusammengesetzt ist, übertragbar. Zum Beispiel ist bei einem Roboterschwarm der Schwarm das Ganze und die Roboter sind die Teile. Jeder Roboter kann für sich fahren. Der Schwarm kann mehr. Er kann zum Beispiel ausschwärmen, indem die einzelnen Roboter in verschiedene Richtungen fahren. Dies ist ein möglicher Mehrwert. Allerdings bekommt man diesen nicht geschenkt. Bei der Entwicklung eines vernetzten, technischen Systems, das ein aus Teilen zusammengesetztes Ganzes ist, ist mehr zu beachten als bei einem einzelnen System. Die Programmierung derartiger Systeme umfasst Netzwerkkommunikation und systemübergreifende Nebenläufigkeit, da die Teile kommunizieren und hochgradig parallel arbeiten. Dies ist ein Mehraufwand.&lt;/p&gt;</description></item><item><title>Be part of the future of JavaFX - JFX Adopters Meeting 2020</title><link>https://javapro.svenruppert.com/be-part-of-the-future-of-javafx-jfx-adopters-meeting-2020/</link><pubDate>Mon, 21 Sep 2020 17:03:37 +0000</pubDate><guid>https://javapro.svenruppert.com/be-part-of-the-future-of-javafx-jfx-adopters-meeting-2020/</guid><description>&lt;p&gt;&lt;strong&gt;&amp;ldquo;Write once, run anywhere&amp;rdquo; is not only the slogan but also the key advantage of this multi-platform-development launched by Java.&lt;/strong&gt; JavaFX - a next-generation client application platform for desktop, mobile and embedded systems built on Java. It enables the development of modern applications with Rich Media content, audio, video and provides an attractive experience when using applications developed with it. JavaFX was originally part of Java SE Development Kit as JDK 8. It is fully open-sourced and detached from the Development Kit since JDK 11. This enables individuals and companies alike to join the community and drive the future of JavaFX. A JFX Adopters Meeting was held 2018 in Munich, to exchange information on current projects and future plans. Representatives of the JavaFX ‘ecosystem’ (e.g. Oracle, Gluon, BestSolution, Karakun, JPro) attended the meeting, to discuss a viable picture of JavaFX with the attendees. Concerns raised at the time regarding the difficulty in contributing code changes and lack of support for 3D-rendering have now been overcome. The move from JavaFX Mercurial Repository to Git and OpenJFX on GitHub has drastically reduced the turnaround time and facilitated developers to integrate their own fixes in official JavaFX code. Lead developers have been freed up to concentrate on future development whilst the community contributes to fixing and stabilizing JavaFX. Contributions and accepted pull requests have shown that the process of fixing bugs, instead of only reporting in a bug database, is now becoming best practice and JavaFX is back to being a highly active initiative. The number of new projects started with JavaFX as user interface technology has increased. Integrated devices, like user interfaces in the car or machines, have come more into focus. Furthermore, due to the separation of JavaFX and the JDK with JDK11, it is now finally possible to compile JavaFX like any other open-source library. Consequently, with the greatly increased development speed, the JavaFX developer is more independent than ever before. Since JavaFX13, its support for 3D-Rendering has greatly improved. With the new NIO-Support for writable images, it is now possible to integrate VLC, WebGL, OpenGL into existing JavaFX applications. Furthermore, Oracle has announced the extension of its commercial support for JavaFX 8 to the year 2025: a total of 11 years, considering Java SE Development Kit 8 was released in 2014. Compared to other UI-Toolkits (I’m pointing to you, Angular), this is a very reliable foundation for Desktop-Development, which can also be used for Mobile Applications (Gluon) and Web Applications (JPro) with a reliable API that will be stable for decades. Nevertheless, for successful further development of JavaFX, a strong ecosystem is needed, particularly from adopter companies contributions. The next JFX Adopters online meeting will be held virtual on Wednesday, the 14th of October 2020. To register for the JFX Adopters Meeting online on Wednesday, the 14th of October 2020 please click on the following URL: &lt;a href="http://zeiss.com/jfx-adopters-meeting"&gt;http://zeiss.com/jfx-adopters-meeting&lt;/a&gt; Further readings: Oracle Java Client Roadmap Updates: &lt;a href="https://blogs.oracle.com/java-platform-group/java-client-roadmap-updates"&gt;https://blogs.oracle.com/java-platform-group/java-client-roadmap-updates&lt;/a&gt; OpenJFX: &lt;a href="https://openjfx.io/"&gt;https://openjfx.io/&lt;/a&gt; Gluon: &lt;a href="https://gluonhq.com/"&gt;https://gluonhq.com/&lt;/a&gt; JPro: &lt;a href="https://www.jpro.one/"&gt;https://www.jpro.one/&lt;/a&gt; Karakun: &lt;a href="https://karakun.com/"&gt;https://karakun.com/&lt;/a&gt;   [accordion-group title=&amp;ldquo;Autor - Christian Heilmann&amp;rdquo;] &lt;strong&gt;Christian Heilmann&lt;/strong&gt; is software architect at Carl Zeiss Meditec AG in Munich [/accordion-group]&lt;/p&gt;</description></item></channel></rss>