জাভা / জেভিএম অভ্যন্তরীণ কাছে পৌঁছেছে [বন্ধ]


15

আমি জাভাতে প্রায় 8 বছর ধরে প্রোগ্রাম করেছি এবং আমি একজন ভাষা বিকাশকারী হিসাবে ভাষাটিও বেশ জানি but তবে আমার লক্ষ্যটি আমার অন্তর্বাস সম্পর্কে আমার জ্ঞানকে আরও গভীর করা। আমি পিএল ডিজাইনে স্নাতক কোর্স নিয়েছি, তবে সেগুলি খুব বিস্তৃত একাডেমিক ওভারভিউ ছিল (স্কিম, আইআইআরসি)।

কেউ বিশদ বিবরণ শুরু করতে একটি রুট পরামর্শ দিতে পারেন? বিশেষত, কোনও নির্দিষ্ট বিষয় রয়েছে (বলুন, আবর্জনা সংগ্রহ) যেগুলি আরও বেশি কাছে পৌঁছতে পারে বা একটি ভাল সূচনা পয়েন্ট হতে পারে? জেভিএম এর ইন্টার্নাল এবং জাভা প্রোগ্রামিং ভাষার ডিজাইনের উপর কি কোনও উচ্চ-স্তরের বই আছে? আমার বর্তমান পদ্ধতির জেভিএম স্পেক এবং প্রয়োজনীয় হিসাবে গবেষণা দিয়ে শুরু হতে চলেছে ।


2
আমার ব্যক্তিগত দৃষ্টিভঙ্গিটি হবে জাভাতে "এতদূর ঠিক কেন এটি কাজ করে" মামলার এই সমস্ত কারণটির আসল কারণ অনুসন্ধান করা । কীভাবে অটো-বক্সিং সংজ্ঞায়িত করা হয়, জেনেরিক প্রকারগুলি কীভাবে কাজ করে। ভার-আরগ্স সম্পর্কে কী? কী SUPERবর্গ ফাইলের মধ্যে পতাকা আসলে কি? এর বেশিরভাগটি নিজেই জেভিএম বর্ণনায় বর্ণিত হয়েছে, তবে এটিকে সেখান থেকে এবং আপনার মস্তিষ্কে প্রবেশ করার জন্য এটির জন্য কিছু কাজ প্রয়োজন ;-)
জোচিম সৌর

উত্তর:


13

কয়েক বছর আগে আমি জাভা দিয়ে শুরু করার সময় আমি এর কিছুটা করেছি। আমার দৃষ্টিভঙ্গি ছিল ভিএম স্পেক পড়তে , এবং জাভাপ-সি-এর আউটপুট, যা কোনও শ্রেণীর বিচ্ছিন্ন বাইটকোড প্রদর্শন করে। আমি জাভা বাইটকোড এসেইম্বেলার ব্যবহার করে, নির্দিষ্ট বাইটোকোড দিয়ে জাভা ক্লাস তৈরি করার চেষ্টা করেছি। জেসমিন নামে একটি এসেমব্লার রয়েছে , যদি আপনি এটি চেষ্টা করতে চান।

লাম্বডা এক্সপ্রেশন ট্রান্সলেশন ডকুমেন্টটিও আপনি দেখতে চাইতে পারেন যে ওরাকলের ব্রায়ান গেটজ পোস্ট করেছেন, যা জাভা 8-এ যুক্ত হওয়া ল্যাম্বডাস (ক্লোজারগুলি, মূলত) অনুবাদ করতে ব্যবহৃত হবে এমন কৌশলটি কভার করে।

আপনি যদি ওপেনজেডিকে থেকে হটস্পট ভিএম এর উত্স কোড এবং জেডিকে 8 এর জন্য ল্যাম্বডা সমর্থন (এইচজি রেপোজিটরি) সহ জাভাক সংকলকটির প্রাথমিক অ্যাক্সেস সংস্করণটি পেতে পারেন, যদি আপনি সত্যিই পুলটির গভীর প্রান্তে ডুব দেওয়ার মতো অনুভব করেন।

আবর্জনা সংগ্রহের দিকে তাকানো সম্ভবত একটি ভাল ধারণা। একটি দ্রুত অনুসন্ধান জাভা এর আবর্জনা-প্রথম জিসির উপর এই ডাঃ ডবস নিবন্ধটি চালু করেছে। আমি জানি না এটি একটি ভাল ভূমিকা আছে কিনা। আমি ধরে নিয়েছি আপনি ইতিমধ্যে চিহ্ন-এবং-ঝাড়ু এবং প্রজন্মের আবর্জনা সংগ্রহকারীদের সম্পর্কে জানেন; যদি না হয়, আপনি প্রথমটি পড়তে চাইবেন।


3

কিছু অতিরিক্ত ধারণা:

  • ওপেনজেডিকে প্রকল্পে জড়িত হন । কিছু সফ্টওয়্যার এর হ্যাকিং এর ইন্টার্নাল বুঝতে বীট কিছুই!
  • অন্যান্য জেভিএম ভাষা (যেমন ক্লোজার বা স্কেলা) কীভাবে জেভিএমের কোড তৈরি করে তা দেখুন
  • এমন একটি মিনি-প্রকল্প করুন যা আপনার আগ্রহী এবং জেভিএম ইন্টার্নাল ব্যবহারের প্রয়োজন। বাইটকোড ম্যানিপুলেট করতে সম্ভবত এএসএম এর মতো কিছু ব্যবহার করা হচ্ছে ..

2

আপনি যদি জাভা বাইটকোড ফর্ম্যাটটির সাথে এখনও পরিচিত না হন, তবে একটি ছোট্ট সংকলক লেখার বিষয়টি বিবেচনা করুন যা বৈধ জাভা বাইট কোড তৈরি করে (বা জেসমিন এসেম্বেলার) তৈরি করে এটি সঠিকভাবে চালিত করবে।

আপনার কোড দ্বারা উত্পন্ন "হ্যালো ওয়ার্ল্ড" বা "4" (দেওয়া 2 + 2) দেখলে খুব সন্তুষ্ট হয়।


1

প্রত্যেকে যা বলেছে তা ছাড়াও জাভা পারফরম্যান্স টিউনিং পৃষ্ঠাটি দেখুন। এটিতে সাধারণভাবে আবর্জনা সংগ্রহ এবং পারফরম্যান্স টিউনিং সম্পর্কিত প্রচুর নিবন্ধ রয়েছে। এটিতে পারফরম্যান্স টিউনিং বইগুলির একটি তালিকা রয়েছে যা আপনার জন্যও আকর্ষণীয় হতে পারে।

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