Reaaliaikainen Java

Reaaliaikainen Java on kokoelma ohjelmointirajapintoja, joka laajentaa Java-tekniikkaa kovilla reaaliaikaisilla ominaisuuksilla. Tämä reaaliaikainen Java-määritys (RTSJ) kehitettiin Java-määrityspyynnönä  1 osana Java-yhteisöprosessia ja otettiin käyttöön standardina marraskuussa 2001. RTSJ: n laajennetun version työ on parhaillaan käynnissä osana JSR 282: ta.

taustat

Jotkut Java-vahvuuksina tavallisesti pidetyistä ominaisuuksista, kuten kieleen erottamattomasti liittyvä roskasäiliö , sekä ketjujen ja samanaikaisuuden natiivi tuki , tekivät Javan suoran käytön kovissa reaaliaikaisissa järjestelmissä mahdottomiksi:

Näiden vaikeuksien voittamiseksi Real-Time Specification for Java (RTSJ) kehitettiin Java-määrityspyynnöksi . Java-ohjelmassa se mahdollistaa edellä mainittujen esteiden kiertämisen ottamalla käyttöön vastaavan ketjutusmallin ja mahdollistamalla Java-virtuaalikoneen laajentamisen uusilla kierteitysmalleilla. Lisäksi se määrittelee erityiset muistialueet, joita ei puhdisteta tavanomaisella roskakorilla, vaan reaaliaikaisilla säikeillä, joita ei voida keskeyttää roskien keräyksellä.

RTSJ: n nykyisten toteutusten avulla on mahdollista kehittää kovia ja pehmeitä reaaliaikaisia ​​Java-sovelluksia. Tunnetuimpia toteutuksia ovat Timesysin, IBM: n WebSphere Real Time-, Sun Microsystems Java SE Real-Time Systems-, Aonix PERC- ja JamaicaVM-referenssitoteutus aicasilta.

kehitystä

"Garbage first Garbage Collector" (G1GC), jota on käytetty vakiona palvelimilla Java 9: ​​n jälkeen, on asettanut taukojen enimmäispituudelle tavoitteet, jotka se saavuttaa harvoilla poikkeuksilla. Tämä mahdollistaa pehmeät reaaliaikaiset sovellukset Java-sovelluksessa.

Roskakeräilijöitä on myös ollut olemassa jo kauan, jotka käyttävät algoritmeja, joiden käyttäytyminen ajan myötä on ennustettavissa ja mahdollistavat siten myös kovat reaaliaikaiset sovellukset Javalassa.

kirjallisuus

  • Eric J. Bruno, Greg Bollella: Reaaliaikainen Java -ohjelmointi Java RTS: llä . Prentice Hall, 2009, ISBN 978-0-13-714298-9 (englanti, bvdep.com [käytetty 6. joulukuuta 2011]).
  • Peter C. Dibble: Reaaliaikainen Java-alustan ohjelmointi . Prentice Hall, 2002, ISBN 978-0-13-028261-3 (englanti).
  • Andrew Wellings: Samanaikainen ja reaaliaikainen ohjelmointi Javalla . John Wiley & Sons, 2004, ISBN 978-0-470-84437-3 (englanti).
  • Benjamin Brosgol, James Gosling, Peter Dibble, Steve Furr, David Hardin, Mark Turnbull: Reaaliaikainen Java-määritys . Toim.: Gregory Bollella. Addison-Wesley Longman, 2000, ISBN 0-201-70323-8 (englanti).

nettilinkit

Yksittäiset todisteet

  1. https://jcp.org/fi/jsr/detail?id=282
  2. ^ [1] Garbage First Garbage Collector Tuning, Monica Beckwith, elokuu 2013
  3. Metronome GC -algoritmi koville reaaliaikaisille Java-sovelluksille; IBM; Haettu 12. kesäkuuta 2014
  4. [2] WebSphere Real Time WebSphere Application Server -palvelimessa
  5. https://www.azul.com/products/components/pgc/
  6. [3] Z Garbage Collector - alle millisekunnin taukoajat