Qui en temps réel (RTSJ) de la JVM est le plus apprécié?
Il semble y avoir seulement une poignée de machines virtuelles qui sont des implémentations de la Real-Time Specification for Java (RTSJ). Le Sun/Oracle Java Temps Réel est de plus de $6000 et IBM en temps réel de WebSphere est de 7000$, de sorte que beaucoup de développeurs Java ne peut jamais avoir la possibilité d'utiliser l'un ou l'autre. Oracle JRockit semble être un gratuite de real-time Java mise en œuvre grâce à la prévision déterministe, comportement, bien que je ne suis pas sûr, étant donné que leur documentation est assez lourd sur le marketing de la langue. D'autres plus petits en temps réel Jvm sembler risquée par la vertu d'être développés par les petites organisations et d'avoir des petites bases.
Qui en temps réel les machines virtuelles sont privilégiées? Qui sont les plus utilisés, de confiance, et aimé par les développeurs?
- JVM de Sun a une version d'essai, vous pouvez également appliquer pour l'utilisation scolaire, si vous faites partie du projet de recherche. JRockit ne ressemble pas à un RTSJ système à tous, il n'a pas la mettre en œuvre. Probablement, il sera donner à certaines fonctionnalités du soft en temps réel, comme Déterministe garbage collector, mais il semble que c'est tout ce qu'il possède. Quelles sont vos exigences de latence? Si elle n'est pas moins de ~200 microsecondes, il est réalisable même sans EIM.
- En fait, à l'aide de OpenJDK sur Ubuntu, j'ai mesuré une grande quantité de la gigue dans les sondages. Avec aller-retour envoyer/recevoir des moments de ~17ms, il y a environ la même quantité de scintillement sur un relativement petit nombre de sondages. Évidemment, le matériel a une énorme pièce de la gigue, et mes exigences sont va être beaucoup plus différents que les autres personnes de l'exigence, de sorte que j'aimerais orienter clairement d'entre eux et d'obtenir des réponses générales concernant le temps réel de la Jvm. J'espère apprendre et de fournir des informations sur le temps réel de développement Java par trouver une personne de confiance, prévisible, déterministe de la JVM.
- La même interrogation fait en pur C produit seulement environ 10% de la gigue.
- JRockit est probablement le meilleur appelée "soft real-time" de la JVM, et ne fait aucune tentative pour offrir RTSJ de la conformité. Il n'est pas vraiment dans le même domaine que l'autre Jvm vous avez cité.
- Je l'ai noté sur certaines des questions connexes Oracle semble avoir mis fin à la JavaRTS produit (Mars 2012), mais il n'y a pas toute l'information publique disponible.
Vous devez vous connecter pour publier un commentaire.
Mise à jour (Mars 2012): Oracle semble avoir tranquillement démonté leur JavaRTS équipe de développement.
Il n'y a pas de bonne réponse à cette question. Il n'est certainement pas la masse critique pour dire, il y a un courant plus populaires RT JVM.
NOUS de systèmes de Défense, je suis conscient d'utilisation
JavaRTS,IBM WebSphere RT, et PERC. L'Aviation utilisation de plates-formes aicas JamaicaVM. La plupart de ces gens n'ont pas été trop préoccupé par les coûts de licences, à ce jour. Ils sont concernés par beaucoup plus élevé les risques du programme. J'ai travaillé avec un certain nombre de ces programmes, et je trouve que les produits sont de haute qualité, et il est (à la fois extraordinaire) le soutien de vendeurs.Beaucoup de vendeurs ont porté sur des clients spécifiques ou des domaines, et de leurs conceptions et de l'infrastructure de soutien ont tendance à tomber en ligne avec cela. Si vous avez une application spécifique profil à l'esprit, peut-être que nous pouvons vous obtenir une meilleure réponse.
Le haut les coûts de licences que vous citez reflètent à la hauteur des attentes des utilisateurs de ces produits, et la densité relativement faible de la demande. La communauté des développeurs (comme il est) est également plus fragmentaire car les systèmes en temps réel ou critiques pour la sécurité, les contraintes sont généralement d'une plus grande sensibilité de la défense, de l'aviation, SCADA) ou de la protection de valeur de propriété (automobile) ou les deux. Un excellent forum pour le temps réel Java de la théorie et de la pratique de l' JTRES conférence, qui est un groupe étroit de universitaires et techniquement-savvy fournisseurs.
Connexes sur DONC: Primitives uniquement en Java, qui utilise RTSJ.
Il est vrai, qu'il y a seulement quelques machines virtuelles qui mettent en œuvre les RTSJ. Oracle JavaRT, IBM en temps réel de WebSpere, et aicas JamaicaVM, mais PERC de Atego n'est pas l'un d'eux, pas même à distance. PERC a quelques extensions propriétaires en temps réel de la programmation à la place. Oracle JRocket est pas en temps réel de la VM.
Les deux PERC et JamaicaVM, même s'ils sont à la fois des petites entreprises que IBM ou Oracle, disposent d'une importante base d'utilisateurs. La plupart des développeurs sont moins familiers avec la PERC et JamaicaVM parce qu'ils sont utilisés principalement pour des applications embarquées, pas de bureau ou serveur). JamaicaVM est utilisé par de grandes entreprises telles que Boeing, Siemens, Zeiss, et Lockheed Martin et il a été sur le marché depuis plus de dix ans.
Si vous souhaitez essayer le Real-Time Specification for Java, vous pouvez télécharger le JamaicaVM Personnelle Plus. Il peut être utilisé sur n'importe quel plate-forme Linux qui est sur le réseau. Il est disponible à partir de "http://www.aicas.com/jamaica-pe.html" gratuitement.
La JamaicaVM ne soutient pas seulement la
RTSJ
, mais il a également un entièrement de préemption garbage collector. Cela signifie que l'on peut écrire en temps réel du code sans avoir à recourir à l'aide de l'étendue et de l'immortel zones de mémoire. JamaicaVM a aussi un statique ou à l'avance (AoT) du compilateur, de sorte que la performance temps réel n'est pas inhibée par un compilateur JIT. On peut toujours utiliserRealtimeThreads
,RawMemoryAccess
,AsyncEventHandlers
, et d'autres caractéristiques de la RTSJ que de promouvoir en temps réel de la programmation.Si vous voulez essayer à l'aide de la RTSJ, JamaicaVM est offert dans un noncommerical version gratuitement. Il est disponible pour linux sur x86. Vous pouvez trouver la référence sur aicas page web: http://www.aicas.com.
Malgré Azul Zing n'est pas un RTSJ de mise en œuvre (mais plutôt un J2SE mise en œuvre), ils revendiquent cette JVM est capable d'exécuter des applications en temps réel en raison de la pauseless C4 garbage collector.
Plus sur C4:
Aonix a plus utilisés RTSJ mise en œuvre. Ils ont une large gamme de real-time java solutions, de la CDC de Java SE niveau.