আবর্জনা সংগ্রহকারী ব্যতীত জাভা কে আর রিয়েল টাইম প্রোগ্রামিং ল্যাঙ্গুয়েজে পরিণত করে


28

আবর্জনা সংগ্রহকারী ব্যতীত জাভাতে এমন আরও কিছু বৈশিষ্ট্য কী যা এটিকে বাস্তব সময়ের প্রোগ্রামিংয়ের জন্য অনুপযুক্ত করে তোলে? নেটে, যখনই জাভা বনাম সি ++ রিয়েল টাইম প্রোগ্রামিংয়ের সাথে আলোচনা করা হয়, এটি সর্বদা আবর্জনা সংগ্রাহক হিসাবে উল্লেখ করা হয়। আর কিছু আছে?


4
এমনকি আবর্জনা সংগ্রহ কোনও সমস্যা নয় - বেশ কয়েকটি হার্ড রিয়েল টাইম আবর্জনা সংগ্রহকারী উপলব্ধ। যারা বাস্তব সময়ের জন্য শো স্টপার হিসাবে জিসি উল্লেখ করেছেন তারা কেবল অযোগ্য।
এসকে-লজিক

2
@ এসকে-লজিক এস / অযোগ্য / অজ্ঞাত / জি
স্কট হুইটলক

@ স্কটউইটলক, সম্মত, তাদের বেশিরভাগ হ'ল। তবে কিছু (সর্বাধিক সোচ্চার) যথাযথভাবে জানার পরেও জোর দিয়ে থাকেন। আমি এই নৃতাত্ত্বিক ঘটনাটির জন্য কোনও যুক্তিযুক্ত ব্যাখ্যা সম্পর্কে অবগত নই।
এসকে-লজিক

উত্তর:


36

দুটি অতিরিক্ত আইটেম রয়েছে যা আমি মনে রাখতে পারি:

  1. জেআইটি সংকলন
  2. থ্রেডিং বাস্তবায়ন

রিয়েল-টাইমের মেয়াদে, পারফরম্যান্সের পূর্বাভাসযোগ্যতা সম্ভবত সবচেয়ে গুরুত্বপূর্ণ কারণ; একারণে একটি অনির্দেশ্য জিসি চক্র জাভাটিকে রিয়েল-টাইমের জন্য অনুপযুক্ত করে তোলে।

জেআইটি উন্নত পারফরম্যান্সের প্রস্তাব দেয়, তবে প্রোগ্রামটি চলার পরে কিছু সংস্থান শুরু করে, কিছু সংস্থান গ্রহণ করে এবং সিস্টেমের কার্যকর করার গতি পরিবর্তন করে। এটি পরবর্তী পর্যায়ে আবারও ঘটতে পারে, যদি ভিএম বিশ্বাস করে যে সে সময় এটি একটি "আরও ভাল" কাজ করতে পারে।

থ্রেডিংয়ের দিক থেকে: আমি এই মুহুর্তে খুব মনে করি না এটি যদি ভাষা ডিজাইনের অংশ হয়, বা কেবল খুব সাধারণ প্রয়োগ হয় তবে জাভা সাধারণত থ্রেডের প্রয়োগ কার্যকরভাবে নিয়ন্ত্রণ করার জন্য কোনও সরঞ্জাম সরবরাহ করে না; উদাহরণস্বরূপ, থ্রেডগুলির জন্য যখন 10 "অগ্রাধিকার" নির্দিষ্ট করা হয়েছে, ভিএম প্রকৃতপক্ষে এই অগ্রাধিকারগুলি বিবেচনা করে এমন কোনও প্রয়োজন নেই। থ্রেডগুলি থামানো এবং স্যুইচ করার জন্য অপারেটরগুলি হয় সংজ্ঞায়িত হয় না, বা সিস্টেমের সাথে কঠোরভাবে মেনে চলা হয় না।

জেএসআর 1 এর বেশ কয়েকটি বাস্তবায়ন রয়েছে : জাভার জন্য রিয়েল-টাইম স্পেসিফিকেশন - 1998 সালে অনুমোদিত হয়েছে এমন একটি অনুমান This এই স্পেসটি স্ট্যান্ডার্ড জাভাটিকে রিয়েল-টাইমের জন্য অনুপযুক্ত করে তোলে এমন সমস্যাগুলির যতটা সম্ভব সমাধান করে।

সম্ভবত 5 বছর আগে, সনের (এখন ওরাকল) একটি আরটিএসজে ভিএম ছিল (এটির নামটি কখনই ছিল না, এএফাইক); আইবিএমের ওয়েবস্পিয়ার রিয়েল টাইম ছিল; এবং জামাইকাভিএম ছিল একটি নিখরচায় (?), প্ল্যাটফর্ম-স্বতন্ত্র সমাধান solution আজকেরগুলিকে গুগল করা তেমন কিছু আনেনি।


তুলনামূলকভাবে সামান্য হলেও আরেকটি সমস্যা হ'ল কোনও শ্রেণি কেবল তখনই লোড হয় যখন এটি ব্যবহৃত হবে।
টি-বুল

5
জাভা স্পেসিফিকেশনে এমন কিছুই নেই যা এওটি বা খাঁটি ব্যাখ্যার পরিবর্তে জেআইটি কার্যকর করবে। খাঁটি সবুজ থ্রেডগুলি সম্পূর্ণ অনুমানযোগ্য, তাই এগুলিও আসল সময়ের বাধা হতে পারে না।
এসকে-যুক্তি 8

ওয়েবস্ফিয়ারে রিয়েল টাইম কমপক্ষে এখনও সমর্থনযোগ্য বলে মনে হচ্ছে (জাভা .0.০ সমর্থন দাবি করে এবং আপনি এটি কিনতে একটি পৃষ্ঠায় যেতে পারেন)
জে কে।

@ এসকে-যুক্তি - সঠিক, ভাল পয়েন্ট!
আভিভ

33

অপারেটিং সিস্টেম

যতক্ষণ জাভা ইউনিক্স বা উইন্ডোজ বা অন্য কোনও "নিয়মিত" ওএসের উপরে চলে, ততক্ষণ রিয়েলটাইম গ্যারান্টিযুক্ত নয়।

রিয়েলটাইম অ্যাপ্লিকেশন চালানোর জন্য একটি রিয়েল টাইম ওএস বাধ্যতামূলক।


13
@ জর্জিও: হার্ড রিয়েলটাইমের গ্যারান্টি জন্য? হ্যাঁ।
জোছিম সউর

5
অতিরিক্তভাবে, এমন উপলভ্য অপারেটিং সিস্টেম রয়েছে যা শুরু থেকে রিয়েল টাইমের জন্য ডিজাইন করা হয়েছে, যেমন ফ্রিআরটিওএস।
মেডিভহ

4
যদিও এটি সাধারণভাবে সত্যিকারের সময়ের জন্য খুব গুরুত্বপূর্ণ বিষয়, এটি সামান্যতম ক্ষেত্রেই জাভা নির্দিষ্ট বলে মনে হয় না। আমি কিছু অনুপস্থিত করছি?

3
@ ডেলানান মূল কথাটি হ'ল, যদি আপনি জাভা ভিএম-এর একটি বাস্তব (কাল্পনিক?) বাস্তবায়ন ব্যবহার করেন তবে ওএস আপনাকে রিয়েল টাইম গ্যারান্টি দিতে না পারলে খুব বেশি সুবিধা হয় না।
schlingel

3
@ ডেলানান - প্রশ্নটির মিথ্যা ভিত্তি রয়েছে যা পরামর্শ দেয় যে সি ++ একটি রিয়েল টাইম প্রোগ্রামিং ভাষা।
মউভিচিয়েল

7

প্রযুক্তিগতভাবে রিয়েল টাইম জাভা পাওয়া সম্ভব (যেমন এসকে-লজিকের মন্তব্যগুলি পরামর্শ দেয়)। তবে এটি বেশ কয়েকটি অ-প্রযুক্তিগত কারণে সাধারণ নয়:

পুরানো মান

এর জন্য কোনও রেফারেন্স খুঁজতে সমস্যা হচ্ছে তবে আমি নিশ্চিত যে আমি সুরক্ষা মান, বা সুরক্ষা মানক কনফারেন্স পরামর্শটি জাভাতে কম্বল নিষেধাজ্ঞা দিয়েছি। সঠিকভাবে বা ভুলভাবে যদি আপনাকে জাভা ভার্বোটেন বলে এমন কিছু মানিয়ে নিতে হয় তবে জাভা ভার্বোটেন ot

ওল্ড সেফটি ইঞ্জিনিয়াররা

জাভা নিষিদ্ধ না করার জন্য আপনার যে মানকগুলি কাজ করতে হবে তা এমনকি জাভার অভিজ্ঞতা ছাড়াই সুরক্ষা / গুণমানের অডিটরগুলির সাথে কাজ করা খুব বেশি বোঝায় যে আপনি ন্যূনতম প্রতিরোধের পথে চলেছেন না। নিরীক্ষকের পক্ষে সাধারণ যে কোনও কিছুই সম্ভবত প্রচুর প্রশ্নকে আকৃষ্ট করবে যার ফলস্বরূপ আপনার পছন্দগুলি ন্যায়সঙ্গত করার জন্য আপনার পক্ষে প্রচুর পরিশ্রম।

সম্প্রদায়

অর্থাত্ অনেকগুলি নির্ভরশীলতা রয়েছে, বর্তমানের বেশিরভাগ রিয়েল টাইম বিশেষজ্ঞরা ভিতরে C ++, C বা ADA জানতে পারবেন তাই নতুন কাজ করা স্বাভাবিক পছন্দ।

(দ্রষ্টব্য: আমি কিছুটা উপরে ওপরে বাস্তব-সময় এবং সুরক্ষা জালিয়াতি করেছি, যা অন্য একটি বিষয় হিসাবে সাজানো, এমনকি সুরক্ষার মানদণ্ডগুলি প্রায়শই দুটিকে সংহত করে)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.