জাভা টিকা


114

জাভাতে টীকা দেওয়ার উদ্দেশ্য কী? তাদের সম্পর্কে এই অস্পষ্ট ধারণাটি আমার কাছে কোনও মন্তব্য এবং আসল কোডের মধ্যে somewhere তারা রান সময়ে প্রোগ্রামকে প্রভাবিত করে?

তাদের সাধারণ ব্যবহারগুলি কী কী?

তারা জাভা অনন্য? একটি সি ++ সমতুল্য আছে?


9
আপনি টিকা দিয়ে কিছু সত্যই দুষ্ট কাজ করতে পারেন। উদাহরণস্বরূপ, যদি আপনি স্প্রিং ফ্রেমওয়ার্ক এবং তাদের @ লেনদেনের টীকাগুলি জানেন যা পদ্ধতি গ্রহণের আগে লেনদেন শুরু করে এবং ব্যতিক্রম / ত্রুটিতে রোলব্যাক করে এবং সফল লেনদেনের প্রতিশ্রুতি দেয়। এটি সম্পূর্ণরূপে এসওসি-নীতি (উদ্বেগের বিভাজন) সমর্থন করে। খুব পরিষ্কার ! জাভা নিয়ম! :-)

1
এটি আমার কাছে 3 টি প্রশ্নের মতো দেখাচ্ছে। নিজের মধ্যে দ্বিতীয়টি খুব বিস্তৃত।
রাইডওয়াল্ড

সিনট্যাক্স দ্বারা সমস্ত টীকাগুলি ইন্টারফেসের মতো দেখায়। সুতরাং, সংকলক বা জেভিএম কীভাবে এর উদ্দেশ্য জানে? মনে করুন যে আমরা যদি @ ওভাররাইড -> গ্রহণ করি তবে পদ্ধতিটি ওভাররাইড হয়েছে কিনা সঠিকভাবে @ ট্রানজেকশনাল, কিনা উপরে বর্ণিত হিসাবে এটি পরীক্ষা করে দেখায়, এটি লেনদেন সম্পর্কিত স্টাফ সম্পাদন করে। এই সমস্ত টীকাগুলির জন্য, আমরা কোথায় সংজ্ঞা / যুক্তি খুঁজে পেতে পারি?
পরমেশ কোরাকাকুতি

উত্তর:


80

টীকাগুলি মূলত এমন কোড দ্বারা ব্যবহৃত হয় যা অন্যান্য কোড পরিদর্শন করে। এগুলি প্রায়শই চলমান সময়ে তাদের আচরণ পরিবর্তন করার জন্য বিদ্যমান ক্লাসগুলিকে সংশোধন করার জন্য ব্যবহার করা হয় (যেমন সাজসজ্জা বা মোড়ানো)। ফ্রেমওয়ার্কগুলি ব্যবহার করার জন্য আপনাকে কী পরিমাণ কোড লিখতে হবে তা হ্রাস করতে JUnit এবং হাইবারনেটের মতো ফ্রেমওয়ার্কগুলি টীকাগুলি ব্যবহার করে।

ওরাকল তাদের সাইটে জাভাতে ধারণা এবং এর অর্থের একটি ভাল ব্যাখ্যা আছে


17

এছাড়াও, তারা জাভা অনন্য, একটি সি ++ সমতুল্য?

না, তবে ভিবি এবং সি # এর বৈশিষ্ট্যগুলি একই জিনিস।

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

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

বিনোদন / সাহিত্য / সম্পাদনা: ক্লাসের বৈশিষ্ট্যগুলি ট্যাগ ইন্টারফেসের সাথে ( জাভাতে সিরিয়ালাইজেবলের মতো ) তুলনাযোগ্য । যাইহোক, .NET কোডিং নির্দেশিকাটি ট্যাগ ইন্টারফেস ব্যবহার না করার কথা বলে। এছাড়াও, তারা কেবল শ্রেণির স্তরে কাজ করে, পদ্ধতি স্তরে নয়।


13

অ্যান্ডার্স একটি ভাল সংক্ষিপ্তসার দেয়, এবং এখানে একটি জুনিত এনোটোটেশনের উদাহরণ

@Test(expected=IOException.class)
public void flatfileMissing() throws IOException {
    readFlatFile("testfiles"+separator+"flatfile_doesnotexist.dat");
}

এখানে @Testটীকাটি JUnit কে বলছে যে flatfileMissingপদ্ধতিটি একটি পরীক্ষা যা কার্যকর করা উচিত এবং প্রত্যাশিত ফলাফলটি নিক্ষেপ করা হয় IOException। সুতরাং, আপনি যখন পরীক্ষা চালাবেন, তখন এই পদ্ধতিটি কল করা হবে এবং পরীক্ষা IOExceptionনিক্ষেপ করা হয়েছে কিনা তার ভিত্তিতে পাস বা ব্যর্থ হবে ।


7

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

এখানে একটি ভূমিকা।


4

টীকাগুলির সাহায্যে আপনি করতে পারেন এমন কিছু দুর্দান্ত জিনিস দেখতে আমার জাভাবিয়ান টিকা এবং টীকাগুলি প্রসেসরটি দেখুন

কোড তৈরি করার জন্য, আপনার বিল্ড চলাকালীন অতিরিক্ত বৈধতা যুক্ত করার জন্য এগুলি দুর্দান্ত and


1

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

বিস্তারিত পড়ার জন্য, জাভা টীকাগুলির উপর একটি দুর্দান্ত টিউটোরিয়াল রয়েছে


0

আপনি কখন জাভার @ ওভাররাইড টীকা ব্যবহার করবেন এবং কেন? লিঙ্কটি কখন একটি ওভাররাইড টীকাগুলি (@ ওভাররাইড) ব্যবহার করা উচিত সেই প্রশ্নটিকে বোঝায় .. এটি এনোটোটেশনের ধারণাটি আরও ভালভাবে বুঝতে সহায়তা করে। চেক আউট।


0

যখন EJB এর কথা আসে তখন টীকাগুলি একটি সুস্পষ্ট মাঝারি-ওয়্যার পদ্ধতির উপর অন্তর্নিহিত মধ্য-ওয়্যার পদ্ধতির পছন্দ হিসাবে পরিচিত, আপনি যখন এনপিটেশন ব্যবহার করেন তখন আপনি API এর যা প্রয়োজন ঠিক তা পছন্দসই করছেন যেমন আপনাকে কোনও ব্যাংক স্থানান্তরের জন্য লেনদেনের পদ্ধতিটি কল করতে হবে : টীকাটি ব্যবহার না করে: কোডটি হবে

transfer(Account account1, Account account2, long amount)    
{
   // 1: Call middleware API to perform a security check
   // 2: Call middleware API to start a transaction
   // 3: Call middleware API to load rows from the database
   // 4: Subtract the balance from one account, add to the other
   // 5: Call middleware API to store rows in the database
   // 6: Call middleware API to end the transaction
}

টীকাটি ব্যবহার করার সময় আপনার কোডটিতে মাঝারি ওয়্যার পরিষেবাগুলি ব্যবহার করার জন্য কোনও জটিল এপিআই কল নেই। কোডটি পরিষ্কার এবং ব্যবসায়িক যুক্তিতে ফোকাসযুক্ত

transfer(Account account1, Account account2, long amount) 
{
   // 1: Subtract the balance from one account, add to the other
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.