https://de.wikipedia.org/w/index.php?action=history&feed=atom&title=Real-Time_Java Real-Time Java - Versionsgeschichte 2025-05-30T13:00:02Z Versionsgeschichte dieser Seite in Wikipedia MediaWiki 1.45.0-wmf.3 https://de.wikipedia.org/w/index.php?title=Real-Time_Java&diff=250136639&oldid=prev InsightTheory: /* growthexperiments-addlink-summary-summary:3|0|0 */ 2024-11-07T22:23:36Z <p>Linkvorschlag-Funktion: 3 Links hinzugefügt.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 8. November 2024, 00:23 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 8:</td> <td colspan="2" class="diff-lineno">Zeile 8:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Um diese Schwierigkeiten zu meistern, wurde die ''Real-Time Specification for Java'' (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.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Um diese Schwierigkeiten zu meistern, wurde die ''Real-Time Specification for Java'' (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.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>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.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Aktuelle Umsetzungen der RTSJ ermöglichen es, in Java harte und weiche Echtzeitanwendungen zu entwickeln. Zu den bekanntesten Implementierungen gehört die <ins style="font-weight: bold; text-decoration: none;">[[</ins>Referenzimplementierung<ins style="font-weight: bold; text-decoration: none;">]]</ins> von Timesys, [[IBM]]s <ins style="font-weight: bold; text-decoration: none;">[[</ins>WebSphere<ins style="font-weight: bold; text-decoration: none;">]]</ins> Real Time, [[Sun Microsystems]] Java SE Real-Time Systems, Aonix PERC und JamaicaVM von aicas.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Entwicklung ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Entwicklung ==</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.&lt;ref&gt;[https://www.oracle.com/technical-resources/articles/java/g1gc.html] Garbage First Garbage Collector Tuning, Monica Beckwith, August 2013&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.&lt;ref&gt;[https://www.oracle.com/technical-resources/articles/java/g1gc.html] Garbage First Garbage Collector Tuning, Monica Beckwith, August 2013&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Seit längerem existieren auch Garbage-Collectors, die Algorithmen verwenden, deren zeitliches Verhalten vorhersagbar ist und damit auch harte Echtzeit-Anwendungen in Java erlauben.&lt;ref&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&lt;/ref&gt;&lt;ref&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&lt;/ref&gt;&lt;ref&gt;https://www.azul.com/products/components/pgc/&lt;/ref&gt;&lt;ref&gt;[https://wiki.openjdk.java.net/display/zgc] The Z Garbage Collector - Sub-millisecond max pause times&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Seit längerem existieren auch Garbage-Collectors, die <ins style="font-weight: bold; text-decoration: none;">[[Algorithmus|</ins>Algorithmen<ins style="font-weight: bold; text-decoration: none;">]]</ins> verwenden, deren zeitliches Verhalten vorhersagbar ist und damit auch harte Echtzeit-Anwendungen in Java erlauben.&lt;ref&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&lt;/ref&gt;&lt;ref&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&lt;/ref&gt;&lt;ref&gt;https://www.azul.com/products/components/pgc/&lt;/ref&gt;&lt;ref&gt;[https://wiki.openjdk.java.net/display/zgc] The Z Garbage Collector - Sub-millisecond max pause times&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> </tr> </table> InsightTheory https://de.wikipedia.org/w/index.php?title=Real-Time_Java&diff=246143130&oldid=prev 86.111.154.6: verstaendlicher; Typo 2024-06-23T08:45:04Z <p>verstaendlicher; Typo</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 23. Juni 2024, 10:45 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 4:</td> <td colspan="2" class="diff-lineno">Zeile 4:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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:</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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:</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* 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]].</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* 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]].</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* Das Verhalten bestimmter Java Garbage Collectors kann <del style="font-weight: bold; text-decoration: none;">unbegrenzte</del> <del style="font-weight: bold; text-decoration: none;">Pausen</del> <del style="font-weight: bold; text-decoration: none;">bei</del> <del style="font-weight: bold; text-decoration: none;">Berechnungen</del> verursachen und untergräbt somit alle Echtzeitgarantien von Javaprogrammen.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Das Verhalten bestimmter Java Garbage Collectors kann <ins style="font-weight: bold; text-decoration: none;">Unterbrechungen</ins> <ins style="font-weight: bold; text-decoration: none;">unbegrenzter</ins> <ins style="font-weight: bold; text-decoration: none;">Dauer</ins> <ins style="font-weight: bold; text-decoration: none;">in der Programmausführung</ins> verursachen und untergräbt somit alle Echtzeitgarantien von Javaprogrammen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Um diese Schwierigkeiten zu meistern wurde die ''Real-Time Specification for Java'' (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.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Um diese Schwierigkeiten zu meistern<ins style="font-weight: bold; text-decoration: none;">,</ins> wurde die ''Real-Time Specification for Java'' (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.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.</div></td> </tr> </table> 86.111.154.6 https://de.wikipedia.org/w/index.php?title=Real-Time_Java&diff=212413290&oldid=prev Arilou: Die Technik heißt "Garbage Collection", der durchführende Codeteil "Garbage Collector". Nur von zweiterem kann es mehrere geben. 2021-05-27T07:05:10Z <p>Die Technik heißt &quot;Garbage Collection&quot;, der durchführende Codeteil &quot;Garbage Collector&quot;. Nur von zweiterem kann es mehrere geben.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 27. Mai 2021, 09:05 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 4:</td> <td colspan="2" class="diff-lineno">Zeile 4:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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:</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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:</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* 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]].</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* 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]].</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* Das Verhalten bestimmter Java Garbage <del style="font-weight: bold; text-decoration: none;">Collections</del> kann unbegrenzte Pausen bei Berechnungen verursachen und untergräbt somit alle Echtzeitgarantien von Javaprogrammen.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Das Verhalten bestimmter Java Garbage <ins style="font-weight: bold; text-decoration: none;">Collectors</ins> kann unbegrenzte Pausen bei Berechnungen verursachen und untergräbt somit alle Echtzeitgarantien von Javaprogrammen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Um diese Schwierigkeiten zu meistern wurde die ''Real-Time Specification for Java'' (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.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Um diese Schwierigkeiten zu meistern wurde die ''Real-Time Specification for Java'' (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.</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Zeile 11:</td> <td colspan="2" class="diff-lineno">Zeile 11:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Entwicklung ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Entwicklung ==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Der seit Java 9 bei Servern standardmäßig eingesetzte <del style="font-weight: bold; text-decoration: none;">Garbage</del> first Garbage <del style="font-weight: bold; text-decoration: none;">Collector</del> (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.&lt;ref&gt;[https://www.oracle.com/technical-resources/articles/java/g1gc.html] Garbage First Garbage Collector Tuning, Monica Beckwith, August 2013&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Der seit Java 9 bei Servern standardmäßig eingesetzte <ins style="font-weight: bold; text-decoration: none;">„Garbage</ins> first Garbage <ins style="font-weight: bold; text-decoration: none;">Collector“</ins> (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.&lt;ref&gt;[https://www.oracle.com/technical-resources/articles/java/g1gc.html] Garbage First Garbage Collector Tuning, Monica Beckwith, August 2013&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Seit längerem existieren auch Garbage-Collectors, die Algorithmen verwenden, deren zeitliches Verhalten vorhersagbar ist und damit auch harte Echtzeit-Anwendungen in Java erlauben.&lt;ref&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&lt;/ref&gt;&lt;ref&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&lt;/ref&gt;&lt;ref&gt;https://www.azul.com/products/components/pgc/&lt;/ref&gt;&lt;ref&gt;[https://wiki.openjdk.java.net/display/zgc] The Z Garbage Collector - Sub-millisecond max pause times&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Seit längerem existieren auch Garbage-Collectors, die Algorithmen verwenden, deren zeitliches Verhalten vorhersagbar ist und damit auch harte Echtzeit-Anwendungen in Java erlauben.&lt;ref&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&lt;/ref&gt;&lt;ref&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&lt;/ref&gt;&lt;ref&gt;https://www.azul.com/products/components/pgc/&lt;/ref&gt;&lt;ref&gt;[https://wiki.openjdk.java.net/display/zgc] The Z Garbage Collector - Sub-millisecond max pause times&lt;/ref&gt;</div></td> </tr> </table> Arilou https://de.wikipedia.org/w/index.php?title=Real-Time_Java&diff=212408633&oldid=prev Sebastian.Dietrich: /* Entwicklung */ weiterer 2021-05-27T05:07:00Z <p><span class="autocomment">Entwicklung: </span> weiterer</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 27. Mai 2021, 07:07 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 13:</td> <td colspan="2" class="diff-lineno">Zeile 13:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.&lt;ref&gt;[https://www.oracle.com/technical-resources/articles/java/g1gc.html] Garbage First Garbage Collector Tuning, Monica Beckwith, August 2013&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.&lt;ref&gt;[https://www.oracle.com/technical-resources/articles/java/g1gc.html] Garbage First Garbage Collector Tuning, Monica Beckwith, August 2013&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Seit längerem existieren auch Garbage-Collectors, die Algorithmen verwenden, deren zeitliches Verhalten vorhersagbar ist und damit auch harte Echtzeit-Anwendungen in Java erlauben.&lt;ref&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&lt;/ref&gt;&lt;ref&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&lt;/ref&gt;&lt;ref&gt;https://www.azul.com/products/components/pgc/&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Seit längerem existieren auch Garbage-Collectors, die Algorithmen verwenden, deren zeitliches Verhalten vorhersagbar ist und damit auch harte Echtzeit-Anwendungen in Java erlauben.&lt;ref&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&lt;/ref&gt;&lt;ref&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&lt;/ref&gt;&lt;ref&gt;https://www.azul.com/products/components/pgc/<ins style="font-weight: bold; text-decoration: none;">&lt;/ref&gt;&lt;ref&gt;[https://wiki.openjdk.java.net/display/zgc] The Z Garbage Collector - Sub-millisecond max pause times</ins>&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> </tr> </table> Sebastian.Dietrich https://de.wikipedia.org/w/index.php?title=Real-Time_Java&diff=212407818&oldid=prev Sebastian.Dietrich: aktualisiert, Unterscheidung zwischen weicher und harter Echtzeit, Vergangenheitsform, aktuelle GCs 2021-05-27T04:59:15Z <p>aktualisiert, Unterscheidung zwischen weicher und harter Echtzeit, Vergangenheitsform, aktuelle GCs</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 27. Mai 2021, 06:59 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Real-Time Java''' ist eine Sammlung von [[Programmierschnittstelle]]n, welche die [[Java (Technik)|Java-Technologie]] um [[Echtzeit]]fähigkeiten erweitert. Diese ''Real-Time Specification for Java'' (RTSJ) wurde als [[Java Specification Request]]&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.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Real-Time Java''' ist eine Sammlung von [[Programmierschnittstelle]]n, welche die [[Java (Technik)|Java-Technologie]] um<ins style="font-weight: bold; text-decoration: none;"> harte</ins> [[Echtzeit]]fähigkeiten erweitert. Diese ''Real-Time Specification for Java'' (RTSJ) wurde als [[Java Specification Request]]&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.<ins style="font-weight: bold; text-decoration: none;">&lt;ref&gt;https://jcp.org/en/jsr/detail?id=282&lt;/ref&gt;</ins></div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Hintergründe ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Hintergründe ==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>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]], <del style="font-weight: bold; text-decoration: none;">machen</del> eine direkte Verwendung von Java in Echtzeitsystemen unmöglich:</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>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]], <ins style="font-weight: bold; text-decoration: none;">machten</ins> eine direkte Verwendung von Java in<ins style="font-weight: bold; text-decoration: none;"> harten</ins> Echtzeitsystemen unmöglich:</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* 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]].</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* 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]].</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* Das Verhalten <del style="font-weight: bold; text-decoration: none;">der</del> Java Garbage <del style="font-weight: bold; text-decoration: none;">Collection</del> kann unbegrenzte Pausen bei Berechnungen verursachen und untergräbt somit alle Echtzeitgarantien von Javaprogrammen.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Das Verhalten <ins style="font-weight: bold; text-decoration: none;">bestimmter</ins> Java Garbage <ins style="font-weight: bold; text-decoration: none;">Collections</ins> kann unbegrenzte Pausen bei Berechnungen verursachen und untergräbt somit alle Echtzeitgarantien von Javaprogrammen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Um diese Schwierigkeiten zu meistern wurde die ''Real-Time Specification for Java'' (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.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Um diese Schwierigkeiten zu meistern wurde die ''Real-Time Specification for Java'' (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.</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Zeile 11:</td> <td colspan="2" class="diff-lineno">Zeile 11:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Entwicklung ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Entwicklung ==</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>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.&lt;ref&gt;[https://www.oracle.com/technical-resources/articles/java/g1gc.html] Garbage First Garbage Collector Tuning, Monica Beckwith, August 2013&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"><a class="mw-diff-movedpara-left" title="Der Absatz wurde verschoben. Klicken, um zur neuen Stelle zu springen." href="#movedpara_8_1_rhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_7_0_lhs"></a><del style="font-weight: bold; text-decoration: none;">Mittlerweile</del> existieren auch Garbage-<del style="font-weight: bold; text-decoration: none;">Collection-</del>Algorithmen, <del style="font-weight: bold; text-decoration: none;">welche</del> <del style="font-weight: bold; text-decoration: none;">dennoch</del> harte Echtzeit-Anwendungen in Java erlauben.&lt;ref&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&lt;/ref&gt;</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker"><a class="mw-diff-movedpara-right" title="Der Absatz wurde verschoben. Klicken, um zur alten Stelle zu springen." href="#movedpara_7_0_lhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_8_1_rhs"></a><ins style="font-weight: bold; text-decoration: none;">Seit längerem</ins> existieren auch Garbage-<ins style="font-weight: bold; text-decoration: none;">Collectors, die </ins>Algorithmen<ins style="font-weight: bold; text-decoration: none;"> verwenden</ins>, <ins style="font-weight: bold; text-decoration: none;">deren</ins> <ins style="font-weight: bold; text-decoration: none;">zeitliches Verhalten vorhersagbar ist und damit auch</ins> harte Echtzeit-Anwendungen in Java erlauben.&lt;ref&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<ins style="font-weight: bold; text-decoration: none;">&lt;/ref&gt;&lt;ref&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&lt;/ref&gt;&lt;ref&gt;https://www.azul.com/products/components/pgc/</ins>&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> </tr> </table> Sebastian.Dietrich https://de.wikipedia.org/w/index.php?title=Real-Time_Java&diff=212407138&oldid=prev Sebastian.Dietrich: /* Entwicklung */ linkfix 2021-05-27T04:31:29Z <p><span class="autocomment">Entwicklung: </span> linkfix</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 27. Mai 2021, 06:31 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 11:</td> <td colspan="2" class="diff-lineno">Zeile 11:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Entwicklung ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Entwicklung ==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Mittlerweile existieren auch Garbage-Collection-Algorithmen, welche dennoch harte Echtzeit-Anwendungen in Java erlauben.&lt;ref&gt;[<del style="font-weight: bold; text-decoration: none;">http</del>://<del style="font-weight: bold; text-decoration: none;">www</del>.ibm.com/<del style="font-weight: bold; text-decoration: none;">developerworks/library/j-rtj4</del>/ Metronome-GC-Algorithmus] für harte Echtzeit-Java-Anwendungen; IBM; abgerufen am 12. Juni 2014&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Mittlerweile existieren auch Garbage-Collection-Algorithmen, welche dennoch harte Echtzeit-Anwendungen in Java erlauben.&lt;ref&gt;[<ins style="font-weight: bold; text-decoration: none;">https</ins>://<ins style="font-weight: bold; text-decoration: none;">researcher.watson</ins>.ibm.com/<ins style="font-weight: bold; text-decoration: none;">researcher</ins>/<ins style="font-weight: bold; text-decoration: none;">view_group_subpage.php?id=175</ins> Metronome-GC-Algorithmus] für harte Echtzeit-Java-Anwendungen; IBM; abgerufen am 12. Juni 2014&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> </tr> </table> Sebastian.Dietrich https://de.wikipedia.org/w/index.php?title=Real-Time_Java&diff=212390584&oldid=prev Arilou: /* Hintergründe */ +kommas 2021-05-26T14:50:29Z <p><span class="autocomment">Hintergründe: </span> +kommas</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 26. Mai 2021, 16:50 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 2:</td> <td colspan="2" class="diff-lineno">Zeile 2:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Hintergründe ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Hintergründe ==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Einige der üblicherweise als Stärken von Java angesehenen Eigenschaften wie die untrennbar mit der Sprache verbundene [[Garbage Collection]], sowie die native Unterstützung von [[Thread (Informatik)|Threads]] und [[Nebenläufigkeit]] machen eine direkte Verwendung von Java in Echtzeitsystemen unmöglich:</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Einige der üblicherweise als Stärken von Java angesehenen Eigenschaften<ins style="font-weight: bold; text-decoration: none;">,</ins> wie<ins style="font-weight: bold; text-decoration: none;"> beispielsweise</ins> die untrennbar mit der Sprache verbundene [[Garbage Collection]], sowie die native Unterstützung von [[Thread (Informatik)|Threads]] und [[Nebenläufigkeit]]<ins style="font-weight: bold; text-decoration: none;">,</ins> machen eine direkte Verwendung von Java in Echtzeitsystemen unmöglich:</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* 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]].</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Java unterstützt<ins style="font-weight: bold; text-decoration: none;">,</ins> 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]].</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Das Verhalten der Java Garbage Collection kann unbegrenzte Pausen bei Berechnungen verursachen und untergräbt somit alle Echtzeitgarantien von Javaprogrammen.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Das Verhalten der Java Garbage Collection kann unbegrenzte Pausen bei Berechnungen verursachen und untergräbt somit alle Echtzeitgarantien von Javaprogrammen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Um diese Schwierigkeiten zu meistern wurde die ''Real-Time Specification for Java'' (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.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Um diese Schwierigkeiten zu meistern wurde die ''Real-Time Specification for Java'' (RTSJ) als [[Java Specification Request]] entwickelt. Sie ermöglicht es in Java<ins style="font-weight: bold; text-decoration: none;">,</ins> die obengenannten Hindernisse zu umgehen<ins style="font-weight: bold; text-decoration: none;">,</ins> in dem sie ein entsprechendes Threading-Modell einführt und es ermöglicht<ins style="font-weight: bold; text-decoration: none;">,</ins> 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.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>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.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Aktuelle Umsetzungen der RTSJ ermöglichen es<ins style="font-weight: bold; text-decoration: none;">,</ins> 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.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Entwicklung ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Entwicklung ==</div></td> </tr> </table> Arilou https://de.wikipedia.org/w/index.php?title=Real-Time_Java&diff=199521386&oldid=prev Aka: /* Literatur */ Tippfehler entfernt | … 2020-05-02T08:38:22Z <p><span class="autocomment">Literatur: </span> Tippfehler entfernt | <a href="/wiki/Benutzer:Aka/Fehlerlisten/viele_Tippfehler" title="Benutzer:Aka/Fehlerlisten/viele Tippfehler">…</a></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 2. Mai 2020, 10:38 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 41:</td> <td colspan="2" class="diff-lineno">Zeile 41:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |Hrsg=Gregory Bollella</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |Hrsg=Gregory Bollella</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |Titel=The Real-Time Specification for Java</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |Titel=The Real-Time Specification for Java</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> |Verlag=Addison<del style="font-weight: bold; text-decoration: none;"> </del>Wesley Longman</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> |Verlag=Addison<ins style="font-weight: bold; text-decoration: none;">-</ins>Wesley Longman</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |Datum=2000</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |Datum=2000</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |ISBN=0-201-70323-8</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> |ISBN=0-201-70323-8</div></td> </tr> </table> Aka https://de.wikipedia.org/w/index.php?title=Real-Time_Java&diff=198038052&oldid=prev Aka: /* Weblinks */ Tippfehler entfernt 2020-03-23T16:25:57Z <p><span class="autocomment">Weblinks: </span> Tippfehler entfernt</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 23. März 2020, 18:25 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 53:</td> <td colspan="2" class="diff-lineno">Zeile 53:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [http://java.sun.com/javase/technologies/realtime/rts/ Sun Java Real-Time System] – Real time Java Homepage</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [http://java.sun.com/javase/technologies/realtime/rts/ Sun Java Real-Time System] – Real time Java Homepage</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [http://www.timesys.com/java/ Timesys RTSJ] – Referenzimplementierung und Testsystem von timesys</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [http://www.timesys.com/java/ Timesys RTSJ] – Referenzimplementierung und Testsystem von timesys</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* [http://jrate.sourceforge.net/ jRate (Java Real-Time Extension)] – eine <del style="font-weight: bold; text-decoration: none;">OpenSource </del>Erweiterung des GNU<del style="font-weight: bold; text-decoration: none;"> </del>GCJ<del style="font-weight: bold; text-decoration: none;"> </del>Compilers mit Unterstützung der meisten Features von RTSJ</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [http://jrate.sourceforge.net/ jRate (Java Real-Time Extension)] – eine <ins style="font-weight: bold; text-decoration: none;">Open-Source-</ins>Erweiterung des GNU<ins style="font-weight: bold; text-decoration: none;">-</ins>GCJ<ins style="font-weight: bold; text-decoration: none;">-</ins>Compilers mit Unterstützung der meisten Features von RTSJ</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [https://www.aicas.com/cms/en/JamaicaVM JamaicaVM] – eine Implementierung der Real-Time Specification von aicas</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [https://www.aicas.com/cms/en/JamaicaVM JamaicaVM] – eine Implementierung der Real-Time Specification von aicas</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [http://www.oracle.com/us/products/middleware/application-server/jrockit-real-time-ds-068267.pdf JRockit Real Time] (PDF; 62&amp;nbsp;kB) – Implementierung der Real-Time Specification von Oracle</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [http://www.oracle.com/us/products/middleware/application-server/jrockit-real-time-ds-068267.pdf JRockit Real Time] (PDF; 62&amp;nbsp;kB) – Implementierung der Real-Time Specification von Oracle</div></td> </tr> </table> Aka https://de.wikipedia.org/w/index.php?title=Real-Time_Java&diff=197851441&oldid=prev Aka: Tippfehler entfernt 2020-03-17T20:01:28Z <p>Tippfehler entfernt</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 17. März 2020, 22:01 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Real-Time Java''' ist eine Sammlung von [[Programmierschnittstelle]]n, welche die [[Java (Technik)|Java<del style="font-weight: bold; text-decoration: none;"> </del>Technologie]] um [[Echtzeit]]fähigkeiten erweitert. Diese ''Real-Time Specification for Java'' (RTSJ) wurde als [[Java Specification Request]]&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.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Real-Time Java''' ist eine Sammlung von [[Programmierschnittstelle]]n, welche die [[Java (Technik)|Java<ins style="font-weight: bold; text-decoration: none;">-</ins>Technologie]] um [[Echtzeit]]fähigkeiten erweitert. Diese ''Real-Time Specification for Java'' (RTSJ) wurde als [[Java Specification Request]]&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.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Hintergründe ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Hintergründe ==</div></td> </tr> </table> Aka