You are on page 1of 11

‫آشنایی اب زابن‬

‫برانمه نوییس جاوا‬


‫ساخته شده توسط عرفان انمدار‬
‫زابن برانمه نوییس جاوا چیست ؟‬
‫جاوا یک زابن برانمه نوییس ساده‪ ،‬پرطرفدار و قابل اعمتاد است‪ .‬برانمههایی‬
‫که اب زابن جاوا تولید یمشوند‪ ،‬بر روی بیش از ‪ 56‬میلیارد دستگاه در جهان‬
‫از کامپیوتر شخیص‪ ،‬تلفن هرماه‪ ،‬تبلت‪ ،‬ساعت و کارت اعتباری گرفته ات‬
‫تلویزیون هومشند‪ ،‬دوربینهای دیجیتال‪ ،‬کنسولهای ابزی و خودپرداز اجرا‬
‫یمشوند‪ .‬بنابراین زابن برانمه نوییس جاوا را یمتوان یک زابن همه منظوره‬
‫اب قابلیت اجرای روی انواع بسرتها و پلتفرمها به مشار آورد‪ .‬زابن جاوا در‬
‫متایم رتبه بندیهای انجام شده روی زابنهای برانمهنوییس‪ ،‬همواره جزء‬
‫سه زابن برتر بوده و از محبوبیت زیادی بین برانمهنویسان برخوردار است‪.‬‬
‫معریف اتریخچه زابن برانمه نوییس جاوا‬
‫جاوا )‪ (Java‬به رهربی جیزم گاسلینگ )‪ (James Gosling‬و تیمی از محققان به انم تیم‬
‫سزب‪ ،‬در رشکت ‪ Sun Microsystems‬متولد شد‪ .‬جاوا جزیرهای در اندونزی است که‬
‫اولین قهوه اب انم جاوا در آن تولید شد و انم جاوا توسط جیزم گاسلینگ هنگام نوشیدن‬
‫یک فنجان قهوه در نزدییک دفرتش انتخاب شد‪ .‬در سال ‪ 1991‬هدف اولیه معریف زابن جاوا‪،‬‬
‫ایجاد یک زابن برانمهنوییس جدیدی جهت ارتباط اب دستگاههای الکرتونییک دیجیتال‬
‫مانند ست اتپ ابکس‪ ،‬تلویزیون و غیره بود اما خییل زود مترکز اصیل تیم به ایجاد یک‬
‫جایگاه جدید‪ ،‬یعین وب جهاین )‪ )World Wide Web‬تغییر کرد‪.‬‬

‫در ‪ 27‬ژانویه ‪ 2010‬رشکت ‪ Sun Microsystems‬توسط رشکت ‪ Oracle‬خریداری شد‪ .‬ات‬


‫قبل از این‪ ،‬رشکت ‪ Sun Microsystems‬تهنا یک فروشنده نرم افزار و دارای خطوط تولید‬
‫سخت افزاری‪ ،‬مانند ‪ SPARC Enterprise‬بود‪ .‬حال توسعه جاوا تحت پوشش رشکت‬
‫‪Oracle‬انجام یمگیرد‪ .‬اصول ایجاد زابن برانمه نوییس جاوا عبارتند از‪" :‬سادیگ‪ ،‬قابلیت‬
‫حمل‪ ،‬مستقل بودن از بسرت اجرایی‪ ،‬امنیت ابال‪ ،‬کارایی ابال‪ ،‬چند نخی بودن‬
‫)‪ ،(Multithreaded‬یش گرا (‪ ،Object-(Oriented‬تفسیر )‪ )Interpreted‬بجای‬
‫کامپایل )‪ )compile‬و پویایی"‪.‬‬

‫در ادامه به تعریف دقیق این ویژیگها پرداخته خواهد شد‪.‬‬


‫ویژیگ های زابن برانمه نوییس جاوا‬
‫زابن برانمه نوییس جاوا دارای ویژیگهای زیادی است که بر محبوبیت آن بین برانمهنویسان‬
‫یمافزاید در این قمست به برریس مهم ترین ویژیگ های زابن برانمه نوییس جاوا یمپردازیم‪.‬‬

‫گسرتدیگ انجمن ها توسعه دهندگان جاوا‬ ‫سادیگ زابن جاوا‬


‫هر چه جامعه آماری و انجمن برانمهنویسان یک زابن از تعداد ابالتری برخوردار ابشند‪ ،‬قطعا رفع‬
‫مشکالیت که یک برانمهنوییس اب آن مواجه یمشود‪ ،‬سادهتر خواهد بود‪ .‬در حال حارض جامعه آماری‬ ‫‪05‬‬ ‫به گفته ‪ ،Sun Microsystems‬زابن جاوا یک زابن برانمهنوییس ساده است‪ ،‬زیرا دستورات جاوا بر‬
‫اساس زابن برانمه نوییس ‪C ++‬است‪ .‬بنابراین برانمه نویسان بعد از ‪C ++‬آن را آسانتر یاد‬ ‫‪01‬‬
‫برانمهنویسان جاوا حدود ‪ 17‬میلیون محسوب یمشود که جامعه نسبتا بزریگ را تشکیل یمدهد‪.‬‬ ‫یمگیرند‪ ،‬همچنین یادگیری جاوا بسیار آسان و دستورات آن ساده‪ ،‬شفاف و قابل درک است‪.‬‬

‫مدیریت نخ ها در جاوا‬ ‫یش گرایی زابن جاوا‬


‫ما یمتوانیم برانمههای جاوا را به شکیل بنویسیم که اب تعریف چندین نخ به طور هزممان اب وظایف‬
‫زیادی رسوکار داشته ابشد‪ .‬مزیت اصیل چند نخی یا ‪Multi-threading‬این است که حافظه را‬
‫برای هر نخ اشغال منیکند و از یک فضای حافظه مشرتک برای نخها استفاده یمکند‪.‬‬
‫‪06‬‬ ‫همه چیز در جاوا یک یش است و یک یش عبارتست از هر موجودییت که دارای برخی ویژیگها و برخی‬
‫رفتارها است‪ .‬به عنوان مثال دانشجو یک یش است‪ ،‬زیرا دارای تعدادی ویژیگ مانند انم‪ ،‬مشاره‬
‫دانشجویی‪ ،‬سن‪ ،‬سال ورود و ‪ ...‬و همچنین دارای تعدادی رفتار مانند انتخاب درس‪ ،‬ثبت انم‪،‬‬
‫‪02‬‬
‫انرصاف و ‪ ...‬است‪.‬‬

‫کارایی اجرای یک برانمه جاوا‬ ‫ماشین مجازی جاوا یا ‪Java Virtual Machine‬‬
‫جاوا رسیعتر از سایر زابنهای برانمهنوییس سنیت تفسیر شده است زیرا ابیت کد جاوا "نزدیک" به‬
‫کد اولیه است‪ .‬گرچه هنوز هم کمی کندتر از یک زابن کامپایل شده مانند ‪C ++‬است‪ ،‬اما به عنوان‬
‫یک زابن تفسیری از رسعت قابل توجهی در اجرا برخوردار است‪.‬‬
‫‪07‬‬ ‫یک برانمه که به زابن جاوا نوشته یمشود اب فرمت )‪ )java.‬بعد از کامپایل به فرمت ابیت کد‬
‫‪bytecode‬اب فرمت )‪ (class.‬تبدیل یمشود‪ .‬ابیتکد روی هر ماشین دلخواهی که برانمه ماشین‬
‫مجازی جاوا (‪ )JVM‬روی آن نصب شده ابشد‪ ،‬قابل اجرا خواهد بود‪.‬‬
‫‪03‬‬
‫امنیت جاوا‬ ‫قابلیت حمل ( ‪ )Portability‬زابن جاوا‬
‫یک از ویژیگ های جاوا‪ ،‬امنیت این زابن برانمه نوییس است‪ .‬اب زابن جاوا یمتوان سیسمتهایی عاری‬ ‫جاوا بر روی پلت فرمهای گوانگوین قابل اجرا است‪ ،‬از دستگاه خودپرداز و ماشین رختشویی گرفته‬
‫ا‬
‫دوما‬ ‫از ویروس را توسعه دهیم‪ .‬علت امن بودن جاوا آن است که او اال اشارهگر رصیح ندارد‬
‫برانمههای جاوا در داخل جعبه ماشین مجازی اجرا یمشوند‪.‬‬
‫‪08‬‬ ‫ات رسورهای سوالریس اب قابلیت پشتیباین از ‪ 102۴‬پردازنده (‪ )CPU‬برای پردازش‪ ،‬همیگ از جاوا‬
‫استفاده یمکنند‪ .‬بنابراین جاوا ابید قابل حمل ابشد ات به مشا کمک کند ات ابیت کد جاوا را به هر‬
‫‪04‬‬
‫پلتفرم دلخواهی منتقل کنید و نیازی به اجرا نداشته ابشید‪.‬‬
‫کاربرد زابن برانمه نوییس جاوا‬
‫زابن برانمه نوییس جاوا کاربردهای گوانگوین دارد که در اینجا به برخی از مهم ترین آنها‬
‫اشاره شده است‪:‬‬

‫برانمه نوییس مست رسور‬ ‫رابط کاربری گرافییک‬


‫چارچویب است که به توسعه محیط رسور و برانمههای کاربردی برای وب کمک یمکند‪ .‬این برانمه‬
‫دارای مجموعهای از اجزا است که از طریق ‪API‬از پیش تعیین شده برای آن پلت فرم برای توسعه‬
‫دهندگان قابل دسرتیس است‪ .‬برای فناوریهای مست رسور مانند ‪ GlassFish ،JBoss ،Apache‬و‬
‫‪05‬‬ ‫جاوا دارای ویژیگهای زیادی است که به توسعه ‪GUI‬متایل دارد‪ .‬بستههای خایص مانند ‪Abstract‬‬
‫‪ JavaFX ،Windowing Toolkit‬و ‪ Swing‬وجود دارد که به توسعه دهندگان کمک یمکند ات‬ ‫‪01‬‬
‫غیره از جاوا استفاده یمشود‪.‬‬ ‫اجزای مختلف ‪ GUI‬پیاده سازی کنند‪.‬‬

‫برانمه های کاربردی علمی جاوا‬ ‫برانمه های کاربردی برای موابیل‬
‫‪MATLAB‬ییک از کاربردهای علمی رایج است که شامل موارد استفاده از جاوا یمشود‪ .‬آهنا از جاوا‬
‫برای ‪UI‬و سیسمت اصیل استفاده یمکنند‪ .‬زیرا جاوا قابلیت حمل ابال و نگهداری کمی دارد‪ .‬از این رو‬
‫برانمههای کاربردی رسیع و قابل اعمتاد هستند و یمتوانند اب حجم زیادی از دادهها کار کنند‪.‬‬
‫‪06‬‬ ‫هر زمان درابره توسعه برانمه های کاربردی برای اندروید صحبت یمشود‪Android Studio ،‬مطرح‬
‫یمشود اب این حال پس از ظهور ‪ ،Flutter‬برانمههای تلفن هرماه نیز یمتوانند اب ‪Dart‬توسعه داده‬
‫شوند‪ .‬اما از زابن جاوا هم برای توسعه برانمههای اندروید استفاده یمشود و طیف گسرتدهای از‬
‫‪02‬‬
‫برانمههای جاوا موابیل از آن هبره یمبرند‪.‬‬

‫کارایی اجرای یک برانمه جاوا‬ ‫سیسمت های تعبیه شده )‪(Embedded Systems‬‬
‫جاوا رسیع‪ ،‬قابل اعمتاد و قوی است که برای بسیاری از برانمهها برای تغییر و برریس بیگ دیتا یا کالن‬
‫داده مفید است‪ .‬اب کمک چارچوب هایی مانند ‪Java ،Apache Spark،Apache Mahout‬‬
‫‪JFreechart‬که هنگام کار بر روی دادههای بزرگ مفید هستند‪ ،‬جاوا جای خود را به عنوان یک زابن‬
‫‪07‬‬ ‫بسیاری از برانمههای الکرتومکانییک از سیسمتهای تعبیه شده مانند میکروچیپ و میین کامپیوتر‬
‫برای انجام وظایف اختصایص در یک سیسمت استفاده یمکنند‪ .‬برخی از سیسمتها مانند سیم‬
‫کارتها و تلویزیونها هنوز از جاوا به عنوان زیربنای اصیل خود استفاده یمکنند و جاوا به عنوان‬
‫‪03‬‬
‫ارزمشند برای برانمههای بزرگ داده ذخیره یمکند‪.‬‬ ‫هسته اصیل برای دستگاههای تلویزیوین و دستگاههای پخش دیسک ‪Blu-Ray‬عمل یمکند‪.‬‬

‫برانمه نوییس توزیع شده‬ ‫برانمه های کاربردی وب جاوا‬


‫جاوا یک زابن مناسب برای سیسمت های توزیع شده است و برانمه نوییس را برای کاربران برای ایجاد‬ ‫جاوا به مشا در ایجاد نرم افزار ‪Enterprise‬کمک یمکند‪ .‬این برانمهها یمتوانند از یک برانمه ساده‬
‫برانمههای کاربردی توزیع شده در جاوا تهسیل یمکند‪RMI .‬و ‪EJB‬برای ایجاد برانمههای کاربردی‬
‫توزیع شده استفاده یمشوند‪ .‬این ویژیگ جاوا ابعث یمشود که بتوان اب فراخواین متدها از هر‬
‫‪08‬‬ ‫حضور غیاب کارکنان در بسرت شبکه گرفته ات پوراتل سازماین‪ ،‬بزرگ و پرکاربرد ابشد‪ .‬جاوا همچنین‬
‫دارای بستههای داخیل مانند ‪ Struts ،Servlets‬و ‪ JSP‬است‪ .‬کدگذاری و درک هزممان این‬
‫‪04‬‬
‫ماشیین در بسرت اینرتنت به فایلها دسرتیس پیدا کرد‪.‬‬ ‫بستهها آسان است‪.‬‬
‫اجزای اصیل زابن برانمه نوییس جاوا‬
‫یک برانمه نویس جاوا برانمهای را به زابن کد منبع که تهنا توسط انسان قابل درک و خواندن است یمنویسد اما ‪CPU‬یا تراشهها هرگز کد‬
‫منبع نوشته شده در هیچ زابن برانمهنوییس را درک منیکنند‪ .‬این کامپیوترها یا تراشهها فقط یک چیز را درک یمکنند که به آن زابن ماشین‬
‫یا کد ماشین یمگویند‪ .‬این کد های ماشین در سطح ‪CPU‬اجرا یم شوند‪ .‬بنابراین‪ ،‬کدهای ماشین برای مدلهای دیگر ‪CPU‬متفاوت‬
‫خواهند بود‪ .‬همه این عملکردها در داخل سه مؤلفه پلتفرم جاوا رخ یمدهند که در ادامه این سه مولفه برریس یمشوند‪.‬‬

‫محیط اجرای جاوا‬ ‫ماشین مجازی جاوا‬ ‫کیت توسعه جاوا‬


‫‪ JRE‬نرم افزاری است که برای اجرای نرم افزارهای‬ ‫ماشین مجازی جاوا )‪ )JVM‬موتوری است که یک‬ ‫یک محیط توسعه نرم افزار است که برای ساخت‬
‫دیگر طراحی شده است‪ JRE .‬شامل کتابخانههای‬ ‫محیط زمان اجرا برای هدایت کد جاوا یا برانمههای‬ ‫برانمههای جاوا استفاده یمشود و توسعه دهندگان‬
‫کالس‪ ،‬کالس لودر و ‪ JVM‬است‪ .‬به زابن ساده‪ ،‬اگر‬ ‫کاربردی فراهم یمکند و ابیت کد جاوا را به زابن‬ ‫جاوا یمتوانند از آن در ‪،macOS ،Windows‬‬
‫یمخواهید یک برانمه جاوا را اجرا کنید‪ ،‬به ‪ JRE‬نیاز‬ ‫ماشین تبدیل یمکند‪ JVM .‬بخیش از ‪Java Run‬‬ ‫‪Solaris‬و ‪ Linux‬استفاده کنند‪ JDK .‬به آهنا در‬
‫دارید‪ .‬اگر برانمهنویس نیستید‪ ،‬برای اجرای‬ ‫)‪ Environment (JRE‬است‪ .‬در سایر زابنهای‬ ‫کدنوییس و اجرای برانمههای جاوا کمک یمکند‪.‬‬
‫برانمههای جاوا نیازی به نصب ‪ JDK‬ندارید‪JRE .‬‬ ‫برانمهنوییس‪ ،‬کامپایلر کد ماشیین را برای یک‬ ‫‪ JDK‬شامل ابزارهای مورد نیاز برای نوشنت‬
‫شامل کتابخانههای کالس‪ JVM ،‬و سایر فایلهای‬ ‫سیسمت خاص تولید یمکند‪ .‬اب این حال‪ ،‬کامپایلر‬ ‫برانمههای جاوا و محیط اجرای جاوا یا ‪Java Run‬‬
‫پشتیباین یمشود‪ .‬این شامل ابزاری برای توسعه‬ ‫جاوا‪ ،‬کدی را برای یک ماشین مجازی به انم ماشین‬ ‫)‪ Environment (JRE‬برای اجرای آهنا‪ ،‬یک‬
‫جاوا مانند دیباگر‪ ،‬کامپایلر و غیره نیست‪ JRE .‬از‬ ‫مجازی جاوا تولید یمکند‪.‬‬ ‫کامپایلر‪ ،‬راهانداز برانمه جاوا‪ Appletviewer ،‬و‬
‫کالسهای بسته مهمی مانند ریاضیات‪،Swing ،‬‬ ‫غیره است‪ .‬کامپایلر کد نوشته شده در جاوا را به‬
‫‪ Awt ،Lang ،Util‬و کتابخانههای زمان اجرا‬ ‫ابیت کد تبدیل یمکند‪ .‬راهانداز برانمه جاوا یک ‪JRE‬‬
‫استفاده یمکند بنابراین اگر اپلتهای جاوا را اجرا‬ ‫را ابز یمکند‪ ،‬کالس الزم را ابرگیری یمکند و متد‬
‫کنید‪JRE ،‬ابید در سیسمت مشا نصب ابشد‪.‬‬ ‫اصیل (‪ )main‬آن را اجرا یمکند‪.‬‬

‫)‪Java Run Environment (JRE‬‬ ‫)‪Java Virtual Machine (JVM‬‬ ‫)‪Java Development Kit (JDK‬‬
‫محیط های برانمه نوییس جاوا‬
‫محیط توسعه یکپارچه یا ‪Integrated Development Environment‬‬
‫)‪ (IDE‬محیطی است که برانمهنویسان اب استفاده از آنها یمتوانند بسیار‬
‫کاربردیتر و حرفهایتر از ویرایشگرهای متین ساده‪ ،‬کدهای خود را ایجاد منایند‪.‬‬
‫در ادامه هبرتین ‪IDE‬های زابن برانمه نوییس جاوا معریف یمشوند‪.‬‬

‫‪NetBeans‬‬
‫‪NetBeans‬به عنوان یک پروژه دانشجویی در جمهوری چک در سال ‪ 1996‬رشوع به کار کرد‪ .‬اب این‬
‫حال‪ ،‬اولین نسخه آن در اوایل سال ‪ 201۴‬منترش شد‪NetBeans .‬به طور کامل به زابن جاوا‬
‫نوشته شده است و از ویندوز‪ ،‬مک‪ ،‬اوراکل‪ ،‬سوالریس و لینوکس پشتیباین یم کند‪.‬‬

‫‪Eclipse‬‬
‫‪Eclipse‬را ‪IBM‬توسعه داد و آن را در اواخر سال ‪ 2001‬منترش کرد‪Eclipse .‬دارای چندین پالگین و‬
‫ویژیگ است که هدف آن توسعه رسیعتر است‪ .‬هیچ یک از ‪IDE‬های دیگر به اپی تعداد پالگینهایی‬
‫که ‪Eclipse‬وجود دارد نخواهد رسید‪ ،Junit .‬تست‪Spring Framework ،MAVEN ،‬و‬
‫‪Subversion‬پالگینهای محبوب ‪Eclipse‬هستند‪.‬‬

‫‪IntelliJ‬‬
‫مبتین بر جاوا است که رشکتهای بزرگ از آن استفاده یمکنند‪ .‬محیط توسعه ویژیگهای‬
‫منحرصبهفردی را در سطح سازماین ارائه یمدهد‪ ،‬مانند منایهسازی کد منبع هومشند‪،‬‬
‫‪ ،Refactoring‬قابل اعمتاد و تجزیه و تحلیل کد پویا‪ .‬در دو نسخه موجود است‪ ،‬نسخه رایگان و‬
‫نسخه هنایی پیرشفته که نسخه پیرشفته متناسب اب نیازهای رشکتها ساخته شده است‪.‬‬
‫پلتفرم های مختلف جاوا‬

‫• پلتفرم جاوا استاندارد یا )‪ :Java Standard Edition (Java SE‬جاوا ‪،SE‬‬


‫کارکرد اصیل زابن برانمه نوییس جاوا را ارائه یمدهد‪ .‬این پلتفرم متام انواع‬
‫(‪ )Type‬و اشیای اپیه را برای کالسهای سطح ابال تعریف یمکند و برای‬
‫شبکه‪ ،‬امنیت‪ ،‬دسرتیس به اپیگاه داده‪ ،‬توسعه رابط کاربری گرافییک( ‪ )GUI‬و‬
‫تجزیه ‪ XML‬استفاده یمشود‪.‬‬
‫• پلتفرم جاوا سازماین یا )‪ : Java Enterprise Edition (Java EE‬محیطی‬
‫برای توسعه و اجرای برانمههای شبکه اب مقیاس پذیر ابال (‪،(Large-Scale‬‬
‫چند الیه (‪ ،(Multi-Tiered‬قابل اعمتاد ( ‪ (Reliable‬و امن ( ‪ (Secure‬ارائه‬
‫یمدهد‪.‬‬
‫‪Java Programming‬‬ ‫• پلتفرم زابن برانمه نوییس جاوای میکرو یا‬
‫)‪ :Language Micro Edition (Java ME‬یک ماشین مجازی کوچک و سبک‬
‫ارائه یمدهد که برانمههای زابن برانمهنوییس جاوا را بر روی دستگاههای‬
‫کوچک مانند تلفنهای هرماه اجرا یمکند‪.‬‬
‫• پلتفرم ‪ : JavaFX‬پلتفریم برای توسعه برانمههای کاربردی اینرتنیت است که از‬
‫رابط کاربری سبک وزن و از موتورهای گرافییک پرشتاب سختافزاری‬
‫( ‪ (Hardware-Accelerated‬هبره یمگیرد‪.‬‬
‫ابزار کار جاوا‬

‫ابزار کار جاوا در ایران‬


‫در ایران بیشرت آگهیهای استخدام برای متخصص جاوا در حوزه برانمه نوییس‬
‫مست رسور و برانمه نوییس اندروید است و حقوق برانمه نویس جاوا بدون سابقه‬
‫کار از ماهانه ‪ 5‬میلیون تومان خواهد بود‪.‬‬
‫جاوا یا اپیتون‬
Thank you

You might also like