آشنایی با بایت کد در زبان برنامه نویسی جاوا

سیده آمین ارمان

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2016/05/10
ارسالی ها
1,730
امتیاز واکنش
20,744
امتیاز
795
محل سکونت
البرز
در این آموزش دو هدف کلی را مد نظر قرار خواهیم داد. هدف اول آن که قصد داریم نحوه ی اجرای یک برنامه جاوا از طریق cmd را بررسی کنیم و هدف دومی که داریم آشنایی با Bytecode است که در آموزش گذشته در مبحث مرتبط با ماشین مجازی جاوا با آن آشنا شدیم. در واقع در این آموزش خواهیم دید که ظاهر Bytecode به چه شکل است و پشت پرده چه اتفاقاتی برای سورس کد برنامه های جاوای ما می افتد. برای شروع کار داخل یکی از درایو های سیستم خود یک فولدر تحت عنوان My Program ایجاد می کنیم:

aafa3b30d829e18c45edb73259b7d197.jpg


حال نیاز است تا برنامه Notepad ویندوز را باز کرده و به صورت زیر کدی را وارد آن نماییم:

0c6009bc89ed5a495e4fa27bc7c7e8bb.jpg


همانطور که می بینیم ابتدا کلید واژه public را نوشته سپس از آنجا که می خواهیم یک برنامه جاوا ایجاد کنیم می بایست کلید واژه class را بنویسیم. توجه داشته باشیم که هر دوی این کلید واژه ها با حرف کوچک نوشته می شوند.

هشدار
در واقع از آنجا که برنامه Notepad همانند IDE یی همچون Eclipse به صورت هوشمند خطاهای برنامه نویسی ما را نشان نخواهد داد، از اینرو می بایست تمام دقت خود را به خرج دهیم که مشکلی در برنامه نداشته باشیم چرا که در مراحل بعدی برنامه ما اجرا نخواهد شد.
سپس نامی را برای کلاس خود در نظر می گیریم که در اینجا نام HelloWorld را نوشته ایم (دقت کنیم که این نام برای خوانایی بیشتر به صورت PascalCase نوشته شده است.) همان طور که قبلاً گفته شد یک برنامه جاوا داخل دو علامت { } مرتبط با کلاس اصلی نوشته می شود بنابراین پس از نام کلاس یک علامت } قرار داده و سپس یک علامت { دیگر قرار می دهیم. نقطه ی شروع هر برنامه جاوا متدی است تحت عنوان main که می بایست داخل کلاس اصلی قرار گیرد بنابراین این متد را نیز به صورت زیر وارد برنامه خود می کنیم:

a47a2d309e2e6575e460a7ab2d1c362c.jpg


متد main را نیز به همراه دو علامت { } مرتبط با آن وارد برنامه خود می کنیم. حال قصد داریم تا به این برنامه کوچک خود دستور دهیم تا عبارت In the Name of God به معنی "به نام خدا" را نشان دهد. برای این منظور، از دستوری تحت عنوان ()System.out.println استفاده می کنیم:

31ac924ea49e68181d31229f420bcdc8.jpg


در این مرحله برنامه ما تکمیل شده است می بایست آنرا ذخیره سازیم:

bf8656b318a5eecee4c1c67257473f94.jpg


همان طور که در تصویر فوق مشخص است، از منوی اصلی روی گزینه File کلیک کرده سپس روی گزینه Save کلیک می کنیم (به عنوان راه کار جایگزین می توانیم بدون مراجعه به منوی File کلیک های Ctrl + S را به صورت هم زمان فشار دهیم):

1e08d8cbf22c99b2c885105e7bb60df3.jpg


در تصویر فوق می بینیم که پنجره ی Save As باز می شود. اکنون همانند تصویر فوق که با یک فلش مشخص شده است به فولدری روی سیستم می رویم که پیش از این تحت عنوان My Program ایجاد کردیم سپس در بخش File name نام HelloWorld.java را می نویسیم (توجه داشته باشیم که نامی انتخابی برای این فایل می بایست با نام انتخابی برای کلاس یکسان باشد و پسوند فایل هم حتماً java. باشد.) حال می توانیم روی دکمه Save کلیک کنیم. برای آن که بتوانیم برنامه خود را اجرا کنیم بایستی وارد محیط cmd شویم:

a48fce3bafaac6d7d07e226506c678d4.jpg


در این مرحله نیاز است تا ابتدا اطمینان حاصل کنیم که JDK روی سیستم ما نصب است. برای این منظور دستور زیر را وارد پنجره می کنیم:

e077326aa5c380bcd415bdeefda82753.jpg


همانطور که می بینیم ابتدا کلمه java را نوشته سپس یک فاصله قرار می دهیم و پس از آن یک علامت – قرا می دهیم و کلمه version را می نویسیم و در نهایت دکمه Enter را می زنیم و به محض زدن دکمه Enter اگر JDK روی سیستم ما نصب باشد مشخصات آن را به نمایش در خواهد آورد. همانطور که می بینیم نسخه جاوای نصب شده روی سیستم مورد استفاده، جاوای 7 است (در صورتی که جاوا روی سیستم ما نصب نبود، طبق آموزش های گذشته، JDK را روی سیستم خود نصب می کنیم.) حال نیاز است تا به درایوی برویم که فولدر My Program در آن قرار دارد. برای این منظور دستور :d را در پنجره cmd می نویسیم سپس دکمه Enter را می زنیم:

02b5aa3a62c57e61b60453c30238b3d7.jpg


می بینیم که وارد درایو d شدیم. حال نیاز است تا وارد فولدر My Program شویم. برای این منظور دستور cd\My Program را نوشته سپس دکمه Enter را می زنیم:

54d28977c6673ac02c0eb214de31c52f.jpg


برای آن که بتوانیم محتویات این فولدر را ببینیم، دستور dir را وارد می کنیم:

0632200b067f7095a35cba4d2225a69e.jpg


می بینیم که در این فولدر صرفاً یک فایل به همان نامی که ذخیره کردیم وجود دارد. حال نیاز داریم تا برنامه جاوای خود را ابتدا Compile کنیم. به عبارت دیگر آن را به Bytecode یا همان زبان قابل فهم برای سیستم تبدیل کنیم. برای این منظور دستور javac که مخفف java compiler هست را نوشته یک فاصله قرار می دهیم سپس نام پروژه جاوای خود را می نویسیم که عبارت است از HelloWorld.java سپس دکمه Enter را می زنیم:

851c766c915342d5316c2406a8cb0928.jpg


در این مرحله اگر مشکل خاصی پیش نیاید پس از زدن روی دکمه Enter زمان خیلی کمی طول کشیده می شود تا سیستم برنامه جاوای ما را Compile کند. برای آن که مطئمن شویم که برنامه ما Compile شده است به فولدر که پروژه خود را در آن ایجاد کردیم مراجعه می کنیم:

28b395413b605c935008583a405115cc.jpg


همانطور که در تصویر فوق مشخص شده است، علاوه بر فایلی که تحت عنوان HelloWorld.java ذخیره کرده بودیم -پس از Compile شدن برنامه- یک فایل جدید تحت عنوان HelloWorld.class ایجاد شده است که داخل آن همان زبان قابل فهم برای ماشین مجازی جاوا یا Bytecode قرار دارد. برای آن که ببینیم که این Bytecode به چه شکل است برنامه Notepad را باز کرده سپس همان طور که در تصویر زیر مشخص است این فایل را به صورت Drag and Drop وارد برنامه Notepad می کنیم:

a0a80a598c9f6e6a0eb1f901b2d370f6.jpg


به محض آن که نشانگر موس روی صفحه Notepad قرار گیرد یک علامت به علاوه کنار نشانگر نمایان خواهد شد. با دیدن علامت به علاوه می توانیم دکمه موس خود را رها سازیم تا فایل HelloWorld.class وارد برنامه Notepad شود (البته از طریق منوی File و گزینه Open هم می توان این فایل را داخل نرم افزار Notepad باز نمود):

99ff462b54d854897735ea6e647cd12d.jpg


برنامه ما به صورت بایت کد جاوا به صورت فوق خواهد بود. در واقع کد فوق به منزله کدی است که برای ماشین مجازی جاوا قابل فهم خواهد بود. حال با استفاده از این کد قابل فهم برای ماشین مجازی نصب شده در ویندوز برنامه خود را اجرا خواهیم کرد. برای این منظور دستور java HelloWorld را می نویسیم و در این مرحله نیازی نیست تا پسوند java یا class را برای نام برنامه خود در نظر بگیریم چرا که ماشین مجازی خود قادر به تشخیص فایل مورد نیاز خواهد بود سپس دکمه Enter را می زنیم:

eb02b418d648dcf00cf8f3c544b2aeed.jpg


همانطور که در اجرای فوق می بینیم برنامه ما به درستی اجرا شده و تنها دستور که در برنامه خود داشتیم مبنی بر نمایش عبارت In the Name of God اجرا می گردد.
 

برخی موضوعات مشابه

بالا