मैं अक्सर सुना है डेवलपर्स उल्लेख है कि जावा नहीं "कर सकते हैं कर रीयल टाइम ", लिनक्स पर चल रहा एक जावा अनुप्रयोग अर्थ इस तरह के कुछ दंगा-ओएस, आदि पर चल रहा है के रूप में एक नियतात्मक वास्तविक समय प्रणाली की आवश्यकताओं को पूरा नहीं कर सकते
मैं समझने की कोशिश कर रहा हूं कि क्यों । मेरा SWAG मुझे बताता है कि यह संभवतः जावा के गारबेज कलेक्टर के कारण है, जो किसी भी समय चल सकता है और सिस्टम को पूरी तरह से रोक सकता है। और यद्यपि वहाँ तथाकथित "रुके हुए जीसी" हैं, मैं जरूरी नहीं कि उनके विज्ञापन पर विश्वास करता हूं, और एक शौक परियोजना के लिए कांटे पर $ 80K-प्रति-जेवीएम-उदाहरण भी नहीं है!
मैं इस लेख को लिनक्स पर ड्रोन सॉफ्टवेयर चलाने के बारे में भी पढ़ रहा था । उस लेख में, लेखक एक परिदृश्य का वर्णन करता है जहां लिनक्स लगभग उसके ड्रोन को उसकी कार में दुर्घटनाग्रस्त कर देता है:
मैंने पाई पर निम्न स्तर के नियंत्रण लूप (पीआईडी) करने का चयन करने के बाद एक कठिन सबक सीखा - चतुर होने की कोशिश करते हुए मैंने डिबगिंग के लिए लूप के बीच में एक लॉग राइट लिखने का फैसला किया - शुरू में क्वाड ठीक ठीक निकला, लेकिन फिर लिनक्स ने फैसला किया एक लॉग प्रविष्टि लिखने के लिए 2seconds लेने के लिए और क्वाड लगभग मेरी कार में दुर्घटनाग्रस्त हो गया!
अब हालांकि उस लेखक ने सी + + में अपना ड्रोन सॉफ्टवेयर लिखा था, मुझे लगता है कि लिनक्स पर चलने वाले एक जावा ऐप बहुत अच्छी तरह से उसी भाग्य को पीड़ित कर सकता है।
विकिपीडिया के अनुसार:
एक प्रणाली को वास्तविक समय कहा जाता है यदि किसी ऑपरेशन की कुल शुद्धता न केवल इसकी तार्किक शुद्धता पर निर्भर करती है, बल्कि उस समय पर भी होती है जिसमें यह किया जाता है।
तो मेरे लिए, इसका मतलब है " आपके पास वास्तविक समय नहीं है अगर कुल शुद्धता के लिए तार्किक शुद्धता और समयबद्धता की आवश्यकता होती है। "
आइए दिखाते हैं कि मैंने सुपर प्रदर्शन करने के लिए जावा ऐप लिखा है, और यह कि मैंने बोलने के लिए "नींबू निचोड़" लिया है, और यह यथोचित नहीं लिखा जा सकता है (जावा में) किसी भी तेजी से होने के लिए।
सब के सब, मेरा सवाल यह है: मैं किसी के लिए मुझे सभी को समझाने के लिए देख रहा हूँ / अधिकांश कारणों के लिए क्यों एक जावा ऐप चल रहा है n लिनक्स एक "वास्तविक समय ऐप" विफल हो जाएगा। मतलब, जावा / लिनक्स स्टैक पर सभी चीजें क्या हैं जो इसे "समय पर" होने से रोकती हैं, और इसलिए, " सही सही " होने से? जैसा कि उल्लेख किया गया है, ऐसा लगता है कि जीसी और लिनक्स लॉग-फ्लशिंग निष्पादन को रोक सकते हैं, लेकिन मुझे यकीन है कि जावा ऐप के बाहर और भी चीजें हैं जो खराब समय / प्रदर्शन का कारण बन सकती हैं, और यह कठिन समय सीमा को पूरा करने का कारण बनती हैं। वे क्या हैं?