Skip to content

Commit d47f4fd

Browse files
committed
Updated 1.md
1 parent 1e74fd9 commit d47f4fd

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

1.md

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@
4545
জাভা কোডকে কম্পাইল করলে সেটি একটি অন্তর্বর্তীকালীন ল্যাংগুয়েজ এ রূপান্তরিত হয়। এটি ঠিক হিওম্যান রিডএবল না আবার মেশিন রিডএবল ও না। একে আমরা বলি বাইট কোড। এই বাইটকোড শুধুমাত্র জাভা ভার্চুয়াল মেশিন(JVM) বুঝতে পারে। JVM বাইট কোড কে ইন্টারপ্রেট করে মেশিন ল্যাংগুয়েজ এ রূপান্তরিত করে। এর জন্যে JVM জাস্ট ইন টাইম(JIT) কম্পাইলার ব্যাবহার করে। সুতরাং দেখা যাচ্ছে, জাভা কোডকে প্রথমে কম্পাইল করা হয়, তারপর সেই আউটপুট কে ইন্টারপ্রেট করা হয়। এক্ষেত্রে প্রশ্ন হতে পারে, জাভা আসলে কি? কম্পাইল্ড ল্যাংগুয়েজ নাকি ইন্টারপ্রেটেড ল্যাংগুয়েজ? উত্তর হচ্ছে জাভা একি সাথে দুটোই।
4646

4747
উপরের বর্ণনা থেকে আমরা তিনটি জিনিস জানলাম -
48-
১. বাইট কোড – এটি হচ্ছে এক ধরণের ইস্ট্রাকশান সেট- যা কিনা শুধুমাত্র জাভা ভার্চুয়াল মেশিন বুঝতে পারে। জাভা কোড ( হিউম্যান রিডএবল) অর্থাৎ আমরা যে কোড গুলো লিখবো সেগুলো কে জাভা কম্পাইলার দ্বারা কম্পাইল্ড করলে বাইটকোড তৈরি হয়। এই বাইটকোড গুলো .class এক্সটেনশন যুক্ত বাইনারী ফাইলে স্টোর করা হয়।
48+
**১. বাইট কোড** – এটি হচ্ছে এক ধরণের ইস্ট্রাকশান সেট- যা কিনা শুধুমাত্র জাভা ভার্চুয়াল মেশিন বুঝতে পারে। জাভা কোড ( হিউম্যান রিডএবল) অর্থাৎ আমরা যে কোড গুলো লিখবো সেগুলো কে জাভা কম্পাইলার দ্বারা কম্পাইল্ড করলে বাইটকোড তৈরি হয়। এই বাইটকোড গুলো .class এক্সটেনশন যুক্ত বাইনারী ফাইলে স্টোর করা হয়।
4949

50-
২. জাভা ভার্চুয়াল মেশিন(JVM) - এটি মূলত একটা বাস্তব মেশিনের ভেতর একটা কাল্পনিক মেশিন। সহজ কথায়- এটি একটি সফ্টওয়্যার যা কিনা বাইট কোড পড়ে সেগুলো মেশিন এক্সিকিউটেবল কোড-এ রূপান্তরিত করতে পারে। JVM অনেগুলা মেশিনের জন্যে লেখা হয়েছে- অর্থাৎ এটি উইন্ডোজ, ম্যাক OS, লিনাক্স, আইবিএম mainframes, সোলারিস ইত্যাদি বিভিন্ন অপারেটিং সিস্টেমের জন্যে আলাদা আলাদা ভাবে লেখা হয়েছে। এর ফলে, আমরা যদি একবার কোন জাভা প্রোগ্রাম লিখি, সেটি যেকোন মেশনিে চালানো যাবে। এর কারণ আমরা এখন কোন নির্দিষ্ট মেশিনকে উদ্দ্যেশ্য করে না করে শুধু মাত্র JVM কে উদ্দ্যেশ্য করে কোড লিখি । যেহেতু সব মেশিনের জন্যেই JVM আছে, সুতরাং আমাদের কোড সব মেশিনেই চলবে। আর এভাবেই - “Write once, run anywhere” সম্ভব হচ্ছে।
50+
**২. জাভা ভার্চুয়াল মেশিন(JVM)** - এটি মূলত একটা বাস্তব মেশিনের ভেতর একটা কাল্পনিক মেশিন। সহজ কথায়- এটি একটি সফ্টওয়্যার যা কিনা বাইট কোড পড়ে সেগুলো মেশিন এক্সিকিউটেবল কোড-এ রূপান্তরিত করতে পারে। JVM অনেগুলা মেশিনের জন্যে লেখা হয়েছে- অর্থাৎ এটি উইন্ডোজ, ম্যাক OS, লিনাক্স, আইবিএম mainframes, সোলারিস ইত্যাদি বিভিন্ন অপারেটিং সিস্টেমের জন্যে আলাদা আলাদা ভাবে লেখা হয়েছে। এর ফলে, আমরা যদি একবার কোন জাভা প্রোগ্রাম লিখি, সেটি যেকোন মেশনিে চালানো যাবে। এর কারণ আমরা এখন কোন নির্দিষ্ট মেশিনকে উদ্দ্যেশ্য করে না করে শুধু মাত্র JVM কে উদ্দ্যেশ্য করে কোড লিখি । যেহেতু সব মেশিনের জন্যেই JVM আছে, সুতরাং আমাদের কোড সব মেশিনেই চলবে। আর এভাবেই - “Write once, run anywhere” সম্ভব হচ্ছে।
5151

52-
৩. জাস্ট ইন টাইম( JIT) কম্পাইলার – এটি মূলত JVM এর একটি অংশ। আমরা যে জাভা কোড কম্পাইল করার সময় তৈরি করি সেগুলো মূলত JIT কম্পাইলার প্রসেস করে। একে dynamic translator ও বলা যায়- কারণ এটি রানটাইম-এ অর্থাৎ প্রোগ্রাম চলাকালিন সময়ে বাইটকোড প্রসেস করে।
52+
৩. **জাস্ট ইন টাইম( JIT) কম্পাইলার** – এটি মূলত JVM এর একটি অংশ। আমরা যে জাভা কোড কম্পাইল করার সময় তৈরি করি সেগুলো মূলত JIT কম্পাইলার প্রসেস করে। একে dynamic translator ও বলা যায়- কারণ এটি রানটাইম-এ অর্থাৎ প্রোগ্রাম চলাকালিন সময়ে বাইটকোড প্রসেস করে।
5353

5454

5555
এবার আমরা আরও কিছু টার্মিনোলোজি( পরিভাষা) এর সাথে পরিচিত হই।
@@ -63,7 +63,7 @@
6363
**জাভা স্ট্যান্ডার্ড এডিশন (JSE)**
6464
- ডেক্সটপ এবং স্ট্যান্ড-অ্যলোন সার্ভার এপ্লিকেশান তৈরি করার জন্যে যে সব টুল এবং এপিআই দরকার হয় সেগুলোকে আলাদা করে এর নাম দেওয়া হয়েছে জাভা স্ট্যান্ডার্ড এডিশন।
6565

66-
জাভা এন্টারপ্রাইস এডিশন (JEE)
66+
**জাভা এন্টারপ্রাইস এডিশন (JEE) **
6767
– এটি JSE এর উপর তৈরি ওয়েব এবং অনেক বড় মাপের এন্টারপ্রাইজ এপ্লিকেশান তৈরি করার জন্যে যে সব কম্পোনেন্ট দরকার হয় সেগুলোকে আলাদা করে এর নাম দেওয়া হয়েছে জাভা এন্টারপ্রাইস এডিশন- উদারহরণসরূপ এর কম্পোনেন্ট গুলো হচ্ছে-
6868

6969
- Servlets
@@ -78,15 +78,13 @@
7878

7979
- এটি মূলত জাভা স্ট্যান্ডার্ড এডিশন এর সংক্ষিপ্ত এডিশন। ইন্টারনেট অব থিংস, এমবেড ডিভাইস, মোবাইল ডিভাইস, মাইক্রো কন্ট্রোলার, সেন্সর, গেটওয়ে, মোবাইল ফোন, ব্যক্তিগত ডিজিটাল সহায়ক (পিডিএ), টিভি সেট টপ বক্স, প্রিন্টার ইত্যাদি জন্যে তৈরি জাভার এই সংক্ষিপ্ত এডিশন কে বলা হ্য় - জাভা মাইক্রো এডিশন ।
8080

81-
8281
এবার তাহলে জাভা চলুন জাভা ইন্সটল করে ফেলি--
8382

84-
8583
লিনাক্স মেশিনে জাভা ইনস্টল করতে নিচের ধাপ গুলো apply করতে হবে-
8684

8785
- ধাপ ১: নিচের লিংক থেকে জাভা ডাউনলোড করে নিন।
8886

89-
Oracle JDK 7 Download Link
87+
[Oracle JDK 7 Download Link](http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html)
9088

9189
- ধাপ ২: এরপর টার্মিনাল থেকে যেখানে জাভা ডাউনলোড হয়েছে সেখানে যান-
9290

@@ -127,12 +125,11 @@
127125

128126
আর উইন্ডোজ মেশিনের ক্ষেত্রে এটি আরো সহজ। এর জন্যে শুধুমাত্র JDK টি ডাওনলোড করে ডাবল-ক্লিক করেই এটি ইনস্টল করা যাবে।
129127

130-
131128
**IDE-**
132129

133130
এক্ষেত্রে আমি দুটি আইডিই কথাব বলতে পারি-
134-
-১. Eclipse - https://www.eclipse.org/downloads/
135-
-২. IntelliJ IDEA - http://www.jetbrains.com/idea/download/
131+
- ১. Eclipse - https://www.eclipse.org/downloads/
132+
- ২. IntelliJ IDEA - http://www.jetbrains.com/idea/download/
136133

137134
তবে এই টিউটোরিয়ালে আমরা Eclipse ব্যবহার করবো।
138135

@@ -144,8 +141,7 @@
144141

145142
public static void main(String[] args) {
146143
System.out.println("Hello, world!");
147-
}
148-
144+
}
149145
}
150146

151147
![hello world program](images/hello-world-java.gif)

0 commit comments

Comments
 (0)