<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Real-Time_Java</id>
	<title>Real-Time Java - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Real-Time_Java"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Real-Time_Java&amp;action=history"/>
	<updated>2026-05-16T12:13:59Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Real-Time_Java&amp;diff=1781289&amp;oldid=prev</id>
		<title>imported&gt;InsightTheory: /* growthexperiments-addlink-summary-summary:3|0|0 */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Real-Time_Java&amp;diff=1781289&amp;oldid=prev"/>
		<updated>2024-11-07T22:23:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:3|0|0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Real-Time Java&amp;#039;&amp;#039;&amp;#039; ist eine Sammlung von [[Programmierschnittstelle]]n, welche die [[Java (Technik)|Java-Technologie]] um harte [[Echtzeit]]fähigkeiten erweitert. Diese &amp;#039;&amp;#039;Real-Time Specification for Java&amp;#039;&amp;#039; (RTSJ) wurde als [[Java Specification Request]]&amp;amp;nbsp;1 im Rahmen des [[Java Community Process]] entwickelt und als Standard im November 2001 verabschiedet. Aktuell wird an einer erweiterten Version der RTSJ im Rahmen des JSR 282 gearbeitet.&amp;lt;ref&amp;gt;https://jcp.org/en/jsr/detail?id=282&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hintergründe ==&lt;br /&gt;
Einige der üblicherweise als Stärken von Java angesehenen Eigenschaften, wie beispielsweise die untrennbar mit der Sprache verbundene [[Garbage Collection]], sowie die native Unterstützung von [[Thread (Informatik)|Threads]] und [[Nebenläufigkeit]], machten eine direkte Verwendung von Java in harten Echtzeitsystemen unmöglich:&lt;br /&gt;
* Java unterstützt, wie die meisten der Betriebssysteme, für die Java angeboten wird, kein striktes auf [[Multitasking#Präemptives Multitasking|Prioritäten]] basierendes Threading-Modell. Damit unterstützen die [[Lock]]-Mechanismen von Java keine Mechanismen zur Vermeidung der [[Prioritätsinversion]] wie beispielsweise [[Prioritätsgrenze]]n oder [[Prioritätsvererbung]].&lt;br /&gt;
* Das Verhalten bestimmter Java Garbage Collectors kann Unterbrechungen unbegrenzter Dauer in der Programmausführung verursachen und untergräbt somit alle Echtzeitgarantien von Javaprogrammen.&lt;br /&gt;
&lt;br /&gt;
Um diese Schwierigkeiten zu meistern, wurde die &amp;#039;&amp;#039;Real-Time Specification for Java&amp;#039;&amp;#039; (RTSJ) als [[Java Specification Request]] entwickelt. Sie ermöglicht es in Java, die obengenannten Hindernisse zu umgehen, in dem sie ein entsprechendes Threading-Modell einführt und es ermöglicht, die [[Java Virtual Machine]] durch weitere Threading-Modelle zu erweitern. Darüber hinaus definiert sie spezielle Speicherbereiche, welche nicht durch die herkömmliche Garbage Collection bereinigt werden, sondern durch realtimefähige Threads, welche nicht durch die Garbage Collection pausiert werden können.&lt;br /&gt;
&lt;br /&gt;
Aktuelle Umsetzungen der RTSJ ermöglichen es, in Java harte und weiche Echtzeitanwendungen zu entwickeln. Zu den bekanntesten Implementierungen gehört die [[Referenzimplementierung]] von Timesys, [[IBM]]s [[WebSphere]] Real Time, [[Sun Microsystems]] Java SE Real-Time Systems, Aonix PERC und JamaicaVM von aicas.&lt;br /&gt;
&lt;br /&gt;
== Entwicklung ==&lt;br /&gt;
Der seit Java 9 bei Servern standardmäßig eingesetzte „Garbage first Garbage Collector“ (G1GC) hat Zielvorgaben für die maximale Länge der Pausen, welche er bis auf seltene Ausnahmen auch erreicht. Damit sind weiche Echtzeitanwendungen in Java möglich.&amp;lt;ref&amp;gt;[https://www.oracle.com/technical-resources/articles/java/g1gc.html] Garbage First Garbage Collector Tuning, Monica Beckwith, August 2013&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seit längerem existieren auch Garbage-Collectors, die [[Algorithmus|Algorithmen]] verwenden, deren zeitliches Verhalten vorhersagbar ist und damit auch harte Echtzeit-Anwendungen in Java erlauben.&amp;lt;ref&amp;gt;[https://researcher.watson.ibm.com/researcher/view_group_subpage.php?id=175 Metronome-GC-Algorithmus] für harte Echtzeit-Java-Anwendungen; IBM; abgerufen am 12. Juni 2014&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://www.ibm.com/docs/en/wxs/8.6.1?topic=time-websphere-real-in-websphere-application-server] WebSphere Real Time in WebSphere Application Server&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://www.azul.com/products/components/pgc/&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://wiki.openjdk.java.net/display/zgc] The Z Garbage Collector - Sub-millisecond max pause times&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Eric J. Bruno, Greg Bollella&lt;br /&gt;
   |Titel=Real-Time Java™ Programming with Java RTS&lt;br /&gt;
   |Verlag=Prentice Hall&lt;br /&gt;
   |Datum=2009&lt;br /&gt;
   |ISBN=978-0-13-714298-9&lt;br /&gt;
   |Sprache=en&lt;br /&gt;
   |Online=http://safari5.bvdep.com/9780137153626&lt;br /&gt;
   |Abruf=2011-12-06}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Peter C. Dibble&lt;br /&gt;
   |Titel=Real-Time Java Platform Programming&lt;br /&gt;
   |Verlag=Prentice Hall&lt;br /&gt;
   |Datum=2002&lt;br /&gt;
   |ISBN=978-0-13-028261-3&lt;br /&gt;
   |Sprache=en}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Andrew Wellings&lt;br /&gt;
   |Titel=Concurrent and Real-Time Programming in Java&lt;br /&gt;
   |Verlag=John Wiley &amp;amp; Sons&lt;br /&gt;
   |Datum=2004&lt;br /&gt;
   |ISBN=978-0-470-84437-3&lt;br /&gt;
   |Sprache=en}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Benjamin Brosgol, James Gosling, Peter Dibble, Steve Furr, David Hardin, Mark Turnbull&lt;br /&gt;
   |Hrsg=Gregory Bollella&lt;br /&gt;
   |Titel=The Real-Time Specification for Java&lt;br /&gt;
   |Verlag=Addison-Wesley Longman&lt;br /&gt;
   |Datum=2000&lt;br /&gt;
   |ISBN=0-201-70323-8&lt;br /&gt;
   |Sprache=en}}&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.rtsj.org/ Real-Time Specification for Java (RTSJ)]&lt;br /&gt;
* [http://jcp.org/en/jsr/detail?id=1 JSR-1] und [http://jcp.org/en/jsr/detail?id=282 JSR-282] – die JSRs für Real time Java&lt;br /&gt;
* [http://www-01.ibm.com/software/webservers/realtime IBM WebSphere Real Time] – eine Implementierung der Real-Time Specification von IBM&lt;br /&gt;
* [http://www.atego.com/products/aonix-perc/ Aonix Perc] – eine alternative Real-Time VM von Atego, basierend auf der Java Standard Edition (nicht RTSJ)&lt;br /&gt;
* [http://java.sun.com/javase/technologies/realtime/rts/ Sun Java Real-Time System] – Real time Java Homepage&lt;br /&gt;
* [http://www.timesys.com/java/ Timesys RTSJ] – Referenzimplementierung und Testsystem von timesys&lt;br /&gt;
* [http://jrate.sourceforge.net/ jRate (Java Real-Time Extension)] – eine Open-Source-Erweiterung des GNU-GCJ-Compilers mit Unterstützung der meisten Features von RTSJ&lt;br /&gt;
* [https://www.aicas.com/cms/en/JamaicaVM JamaicaVM] – eine Implementierung der Real-Time Specification von aicas&lt;br /&gt;
* [http://www.oracle.com/us/products/middleware/application-server/jrockit-real-time-ds-068267.pdf JRockit Real Time] (PDF; 62&amp;amp;nbsp;kB) – Implementierung der Real-Time Specification von Oracle&lt;br /&gt;
* [http://rtjava.blogspot.com/2009/07/real-time-java-vms.html Real-Time Java VMs] – Liste von Real-Time Java VMs&lt;br /&gt;
* [http://www.cs.purdue.edu/homes/jv/JTRES05/index.html JTRES05], [http://www-users.cs.york.ac.uk/~andy/JTRES06/index.php JTRES06], [http://www.vmars.tuwien.ac.at/jtres2007/ JTRES07] [http://pan.vmars.tuwien.ac.at/jtres2008/ JTRES08], [http://pan.vmars.tuwien.ac.at/jtres2009/ JTRES09], [http://d3s.mff.cuni.cz/conferences/jtres2010/ JTRES10], [http://www.artist-embedded.org/artist/JTRES-2011 JTRES11] – International Workshop on Java Technologies for Real-time and Embedded Systems&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{SORTIERUNG:Real Time Java}}&lt;br /&gt;
[[Kategorie:Java-Technologie]]&lt;br /&gt;
[[Kategorie:Java-Programmierschnittstelle]]&lt;/div&gt;</summary>
		<author><name>imported&gt;InsightTheory</name></author>
	</entry>
</feed>