Elden anımsayabileceğim iki ek madde var:
- JIT derlemesi
- Diş açma uygulaması
Gerçek zamanlı olarak, performansın tahmin edilebilirliği muhtemelen en önemli faktördür; Bu yüzden tahmin edilemeyen bir GC döngüsü Java'yı gerçek zamanlı olarak uygun kılmaz.
JIT gelişmiş performanslar sunar, ancak program çalıştıktan sonra bir noktada devreye girer, kaynakları alır ve sistemin yürütme hızını değiştirir. VM, o zaman "daha iyi" bir iş yapabileceğine inanıyorsa, daha sonraki bir aşamada tekrar olabilir.
Konuya gelince: Bu noktada, bu dil tasarımının bir parçası mı, yoksa sadece çok yaygın bir uygulama mı olduğunu tam olarak hatırlamıyorum, fakat Java genellikle iş parçacığı işlemini tam olarak kontrol etmek için hiçbir araç sağlamıyor; Örneğin, iş parçacığı için belirtilen 10 "öncelik" varken, VM'nin gerçekten bu öncelikleri dikkate almasına gerek yoktur. İpliklerin durdurulması ve anahtarlanması için operatörler de tanımlanmamış veya sistem tarafından katı bir şekilde yapıştırılmamıştır.
JSR 1'in çeşitli uygulamaları vardır : Java için Gerçek Zamanlı Belirtim - 1998'de onaylanmış bir özellik. Bu özellik, standart Java'yı gerçek zamanlı olarak uygun hale getiren sorunların çözümünü mümkün kılmaktadır.
Belki de 5 yıl önce Sun'ın (Şimdi Oracle) bir RTSJ VM'si vardı (Asla bir ismi yoktu, AFAIK); IBM'in WebSphere Real Time'ı vardı; Ve JamaicaVM ücretsiz (?), Platform bağımsız bir çözümdü. Bugünlerde googling yapmak pek bir şey ifade etmez.