0% found this document useful (0 votes)
34 views11 pages

Java

Uploaded by

delta.teta.fake
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views11 pages

Java

Uploaded by

delta.teta.fake
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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