تاریخچه زبان جاوا:
برای دیدن لینک لطفا وارد شوید ! یا در سایت ثبت نام فرمایید.
زبان جاوا در سال ۱۹۹۱ ایجاد شد و در ابتدا Oak نام گرفت. پیدایش آن از پروژه ای به نام Green منشا گرفت كه زیر نظرJames Gosling و با هدف اتوماسیون وسایل خانگی دنبال می شد. و Oak را در برنامه ریزی این دستگاه ها به عنوان زبانی قدرتمند به كار گرفتند. ولی تا سال ۱۹۹۴ این پروژه در ناامیدی دنبال می شد تا اینكه این تیم توسعه پس از تغییر رویه اینترنت را در اهداف كار خود گنجاند. Oak به Java تغییر نام داده شد تا بتواند به عنوان نشان تجاری ثبت شود.Netsccap Navigator ۰/۲ در سپتامبر سال ۱۹۹۵ از این زبان كه به صورت Applet، به كار می رفت پشتیبانی كرد و Microsoft در اواخر سال ۱۹۹۵ آن را به كار گرفت. از آن زمان به بعد توانایی های این زبان رو به فزونی گذاشت.
در سال ۱۹۹۶ شركت Sun Microsystems نگارش ۰/۱ ازJava Development Kit را توسعه داد. و سال بعد نگارش ۱/۱ از JavaBeans پشتیبانی كرد. در سال ۱۹۹۷ شركت Sun بر علیه Microsoft شكایت كرد و این شركت را متهم به نقض توافقنامه مربوط به استفاده از Java درInternet Explorer كرد.
بعد از این سان JDK ۲/۱ و Swing را كه ابزار پیشرفته تری نسبت به (Abstract) Windowing Toolkit AWTبرای ایجاد رابط گرافیكی كاربر(GUI) فراهم می كرد ارایه كرد. در حال حاضر JDK در نگارش ۰/۵ و با ویژگی های جدیدی در دسترس است.
و با نام Java ۲j(Standard Edition ۲ SE) نیز شناخته می شود.
در كنار آن Java ۲j(Enterprise Edition ۲EE) (كه درحال حاضر در نگارش ۴/۱ است) برای كاربردهای تجاری ارایه شد. EE۲J تكنولوژی هایی از قبیل JavaServer Pages Enterprise، Servlets،(JavaBeans EJB) و... را در بر می گیرد.
Java زبانی برای برنامه های توزیع شده است و زبانی شناخته شده در سطح جهانی است كه به كاربر امكان تعامل (interaction) با یك صفحه وب را می دهد و برخلاف صفحات ایستای HTML فراتر از خواندن ویا فقط پر كردن یك فرم برای كاربر امكان بازی، چت، انجام محاسبات درصفحات گسترده و حتی دریافت اخباری كه به صورت همزمان به روز رسانی می شوند و خیلی چیزهای دیگر را فراهم می كند.
Java همچنین مستقل از سیستم عامل است. به این معنی كه شما یك برنامه را یك بار می نویسید و این برنامه بر روی هر سیستم عاملی كه ماشین مجازی جاوا (Java virtual machine) یا به اختصار JVM بر روی آن نصب باشد به همان شكل و بدون نیاز به هیچگونه تغییری قابل اجرا خواهد بود.
Java زبانی ساده، كاملا شی گرا، با امنیت بالا و دارای امكانات چندبندی (Multi-threading) است. از نگارش۲/۱ به بعد ابزارهای Swing، جاوا را به زبانی آسان و جذاب برای ایجاد یك GUL كاربر پسند تبدیل كرده اند. از نقطه نظر دیگر می توان گفت: كه جاوا یك زبان مستقل از سیستم عامل نیست بلكه همانند یك سیستم عامل مستقل و كوچك عمل می كند. همان طور كه درWindows زبان های برنامه نویسی امكان اجرا در بستر (Platform) مربوط به Windows/Intel را دارند، برنامه های جاوا امكان اجرا در Java/JVM را دارند. و همانند Windows جاوا هم یك بستر نرم افزاری، تجاری و منحصر به یك شركت است.
امروزه بسیاری از شرکت های بزرگ و کوچک دنیا از زبان برنامه نویسی جاوا برای ساخت نرم افزارها و بازیهای خود استفاده می کنند. با نصب ماشین مجازی جاوا بر روی سیستم خود می توانید نرم افزار ها و یا برنامه هایی که بر پایه زبان برنامه نویسی جاوا نوشته شده اند را اجرا کنید.
كاربردهاي جاوا
javaJava تنها یک زبان نیست بلکه یک ماشین معماری و یک محیط کاربردی و یک محیط پیاده سازی و ...است امروزه بيش از 2.5میلیون وسيله در سراسر دنيا از تكنولوزي Java بهره مي برند. انگيزه اوليه ابداع Java نياز به يك زبان مستقل ازمحيط زيربنايي (platform-independent) بود كه بتواند نرم افزارهايي توليد نمايد كه قابليت كاربرد در وسائل مصرفي الكترونيكي مختلف نظير اجاقهاي مايكروويو و كنترل از راه دور را داشته باشند . [1] كاربردهاي آن:
1. درعمدهء سیستم عامل ها ازUnix, Linux, Macintosh, Windows NT و مرورگرهایی مانند CyberDog, HotJava, Internet Explorer, Mosaic, Navigator, Opera و Netscape به کار می رود.
2. کاربردهای Java همچنین در سیستم های توکار(embedded controllers) و کارت های هوشمند(Smart Card) و دستگاه های صنعتی (چاپگر و روبات و دوربین) و انواع جواهرات(حلقه و ساعت مچی) که از JVM بهره می برند و سخت افزارهای واسط مي باشد.
توانايي مررگرها در اجراي Java applets باعث عمومي تر شدن اين زبان شده است. توسعه دهنده ها با فعاليت در AJAX قصد گسترش دادن در زمينه انیمیشن را دارند.
Java اغلب در كاربردهاي پيچيده مانند Yahoo! Games و video player در زمينه هاي چندگانه به كار مي رود. از نرم افزارهاي محبوب در اين قسمت به شمار مي آيد. همچنین زبان اسکریپتی به نامJSP که برای وب و بر روی وب سرور Apache-Tomcat اجرا میشود نیز وجود دارد که همان جاواست.
بیشترین کاربرد جاوا در اجرای بازی های آنلاین، چت با دیگر کاربران در محیط های گفتگویی که به زبان جاوا نوشته شده اند، دیدن تصاویر 3D و ... می باشد. بیشتر این نرم افزار ها و بازی ها نیز از داخل مرورگر ها قابل اجرا بوده و به اصطلاح "applets" و یا ریزبرنامه ها نامیده می شوند.
در ميزكار Java اغلب كمتر به کار میرود. به چند دليل:
Java application اغلب حافظهء بيشتري نسبت به موارد مشابه خود مي گيرند و علت آن هم سربار زمان اجراست.
واسط هاي گرافيكي كاربر براي كاربردهاي Java همراه با راهنماي واسط انساني كه كاربر به آنها عادت كرده نيست و Font smoothing در حالت پيش فرض غيرفعال است و باعث مي شود نوشته با كيفيت پايين به نظر برسد.
ابزارهاي آماده رايگان در Java Development Kit به اندازه اي قدرتمند نيست تا به آساني كاربردهاي خود را بسازد. در حالي كه انواع نرم افزارهاي رايگان و قدرتمند نسخه هاي متنوع Java Runtime باعث شده يك كاربر براي هر نسخه كاربردهاي موردنياز آن را نصب كند. كاربردهاي Java در موبايل محبوبيت بسياري دارد.
توسعه دهنده مي تواند برنامه هاي Java را منتشر كند بدون اين كه حق امتيازي پرداخت كرده باشد. برنامه هاي Java گسترهء عمل وسيع تري دارند و روي گوشي ها ي با مدل ارزان تر محبوبيت زيادي دارند. هم چنين مي توان به ايجاد آزاد كاربردي مانند Opera Mini اشاره كرد كه بيشتر GSM (سيستم كلي براي ارتباطات موبايل)بدون سيم در همهء جهان از Java استفاده مي كنند. نسخه هاي زياد از availability بر روي اكثر ميزكارها وجود دارد.
طبق آمار Network World: در بررسی اخيری كه توسط IDC در ميان بيش از 450 مجری IT انجام شد، مشخص گرديد كه 70 درصد از اين افراد قصد دارند استفاده از Java را افزايش داده و يا آن را ادامه دهند.
اخيرا پروژه اي در IBM در حال توسعه است كه در زمينه IDE فعاليت مي كند.نام آن Eclipse است اين اجتماع كد باز بر روي توسعه سكوها و كاربردهاي frameworks فعاليت مي كند.
قابليتها
برخلاف ساير زبانهاي كامپيوتري ، Java ، پشتيباني توكار از برنامه نويسي multithreading را فراهم مي كند . واژهها در جاوا بسیار گسترده میباشند ولی به دلیل طبقهبندی بودن آنها هیچ مشکلی در فهم ایشان وجود ندارد. جاوا در سه ماژول زیر انتشار مییابد: الف.(JSE) که مخفف Java Standard Edition میباشد.این SDK، ابزارها، runtime ها و API هایی برای نوشتن برنامه میباشد. همچنین شامل JDK و JRE میشود. البته این دو برای نوشتن برنامه لازم میباشند.(الزامی است) ب.(JEE) که مخفف Java Enterprise Edition است. در واقع این گزینه ترکیب تعدادی تکنولوژی در یک معماری با یک مدل برنامه نویسی فراگیر میباشد.به زبان برنامهنویسی یک کتابخانه بزرگ است. پ.(JME) که مخفف Java Micro Edition میباشد. یک هدفمندی بهینه شده JRE که محدوده عریضی از محصولات مصرف کننده را در بر میگیرد. به عنوان مثال شامل کار با انواع تلفن ازجمله موبایل میباشد.به زبان برنامهنویسی یک کتابخانه در مورد موبایل است. تصویر زیر بیان کننده ساختار جاوا میباشد:
برای دیدن لینک لطفا وارد شوید ! یا در سایت ثبت نام فرمایید.
یک برنامهنویس نیاز به ابزارها و ترکیبهای مهندسی نرمافزار دارد. جاوا تمام این ترکیبها را به صورت توکار درون خود دارد. زبان جاوا کتابخانهها و کلاسهای بیشماری دارد. به طوریکه اگر کاری را با زبان ++C در ۵۰۰ خط انجام میدهید میتوانید همان پروژه را در ۱۰ خط انجام دهید. یکی دیگر از خواص جاوا شی-گرا بودن آن است بهطوریکه نمیتوان حتی یک تابع در آن تعریف کرد. همه این خواص دست در دست هم داده و مدت زمان کد زنی را پایین میآورند. از دید مهندسی نرمافزار زمان یک رکن است. و وقتی که زمان کمتری برای یک پروژه صرف گردد، یک برگ برنده برای آن پروژه محسوب میگردد. از دیگر قابلیتهای آن میتوان از کلاسهایی که بر روی موبایل کار میکنند نام برد. سادهسازی یکی دیگر از قابلیتهای این زبان است به طوریکه جاوا فاقد اشارهگر میباشد. البته از دیدی دیگر این فقدان یک ضعف محسوب میشود.
در پايان به دليل اينكه مجموعه نرم افزار های جاوا در ایران به دلیل تحریم از سایت اصلی قابل
دریافت نمیباشد ، لينك اين برنامه براي شما علاقه مندان تهيه شده تا بهترين استفاده رو ببريد
Recommended Version 6 Update 3
Windows XP/Vista/2000/2003 Offline * filesize:
13.92 MB
برای دیدن لینک لطفا وارد شوید ! یا در سایت ثبت نام فرمایید.
برای دیدن لینک لطفا وارد شوید ! یا در سایت ثبت نام فرمایید.
برای دیدن لینک لطفا وارد شوید ! یا در سایت ثبت نام فرمایید.
برای دیدن لینک لطفا وارد شوید ! یا در سایت ثبت نام فرمایید.
(از یکی از لینکها به انتخاب دانلود کنید)
جاوا در آینده
سلام
دنياي كامپيوتر و ارتباطات - يكي از بحث برانگيزترين موارد در زبان جاوا و تكنولوژيهاي مرتبط با آن كارآيي جاوا (Java Performance) است. زبان جاوا كه توسط ماشين مجازي (Java Virtual Machine) اجرا ميشود در ابتداي معرفي به علت استفاده از ماشين مجازي براي اجرا نسبت به ساير زبانهايي كه كد اجرايي محلي سيستمعامل را توليد ميكنند همانند C/C++ سرعت كمتري داشت. با گذشت زمان و رشد تكنولوژيهاي بكار رفته در ماشين مجازي، با توجه به پايداري بي همتاي جاوا، شاهد رشد چشمگير كارآيي در زبان جاوا بودهايم، به صورتي كه هماكنون كارآيي در جاوا و تكنولوژيهاي وابسته به آن در بالاترين سطح ممكن در بين ساير تكنولوژيهاي رقيب است. اين در حاليست كه در مورد ساير مشخصههاي اين زبان همچون پايداري، قابليت توسعه و هزينه ناچيز توليد ساير رقبا حرفي براي ارائه ندارند.
در اينجا به گزارش سايت fasterj.com كه از ارائه دهندگان راهكارها و توصيههاي بهبود كارآيي و بازده در محصولات توليد شده در جاواست ميپردازيم كه در آن دنياي كارآيي جاوا در سال گذشته بررسي شده است. بررسي وقايعي كه در سال گذشته در دنياي جاوا در ارتباط با بحث كارآيي به وقوع پيوست بيشتر از همه در پنج قسمت نمايان بوده است. كه شامل جاوا نسخه6، مديريت ظرفيت (Java Capacity)، انجمن جاوا يك (JavaOne)، عموميت جاوا و آخرين و جالبترين مورد حركت به سوي سورس باز شدن جاوا بودهاست.
Java6
جاوا 6 در پايان سال 2006 ارائه شد. حركت بزرگ در كارآيي جاوا 6 بلوغ در امكان مانيتورينگ و عيبيابي در آن بود. در ابتداي سال گذشته جامعه جاوا در سمينارها و از طريق بلوتنهاي رسمي با اينگونه امكانات و قابليت جاوا 6 آشنايي يافتند. در حقيقت اين امكان مانيتورينگ و عيبيابي در جاوا 5 افزوده شده بود، اما در جاوا 6 گسترش يافت و به تكامل رسيد. و هم اكنون زمان آن رسيده است كه بر پايه اين امكانات، ابزارهاي متنوع بهبود كارآيي در كد جاوا را كه به صورت سورس باز ارائه ميشوند، شاهد باشيم. ابزارهايي كه در گذشته فقط به صورت تجاري و با قيمتهاي گزاف در دسترس بودند، هم اكنون در جامعه سورس باز جاوا رشد يافته و عموميت پيدا نمودهاند.
از جمله اين ابزارها ميتوان به Glassbox و Netbeans profiler اشاره نمود. علاوه بر آن جاوا 6 قابليتهايي را در بهبود سرعت اجرا در ماشين مجازي و نيز در مديريت حافظه (garbage collector) تدارك ديده است به گونهاي كه در هر قسمتي شاهد افزايش سرعت اجرا و بهبود كارآيي پروژههاي جاوايي اجرا شده با نسخه 6 جاوا هستيم. قابليت جديد ديگري كه از سال گذشته قابل استفاده ميباشد نوعي پشتيباني از حافظه heap است كه به كمك آن ميتوان توانايي برنامههاي پروفايلر را كه كارآيي كد جاوا را اندازهگيري ميكنند افزايش داد. اين امكان كه در سال 2007 به جاوا افزوده شده است (اما در ليست رسمي قابليتهاي جاوا 6 نيست) با كمك در آناليز حافظه احتمالات رخداد خطاي مشهور كمبود حافظه OutOfMemoryError را مشخص ميسازد.
مديريت ظرفيت
با وجود آنكه مباحث مديريت ظرفيت از گذشته نيز مطرح بوده است، در سال 2007 مورد توجه و اهميت ويژه صنعت قرار گرفت. مباحث مديريت ظرفيت كه به بزرگ شدن اندازه برنامهها و نرمافزارها ميپردازد با ورود شركتهاي بزرگ به اين مقوله تعاريف جديدي در ابعاد مديريت تراكنشها و مانيتورينگ و اندازهگيري كسبوكارها به وجود آورده است. در ديدگاه جديد سختافزار اهميت بيشتري نسبت به گذشته يافته است و بنابراين تست كارآيي و مجازيسازي مورد توجه قرار گرفته است. اين توجه ويژه بر مباحث كارآيي نشاندهنده توقع خاص صنعت از توليدكنندگان براي پرداختن بيشتر به آناليز كارآيي و بهبود كارآيي در محصولات خود ميباشد. در گذشته اكثر توصيههاي بهبود كارآيي مربوط به توسعه و ارتقا تجهيزات سختافزاري به كار رفته در سرويسدهندگان بزرگ بوده است و سختافزار و هزينههاي جانبي آن اصليترين هزينه راهاندازي اينگونه مراكز سرويس به شمار ميرفت. اما در حال حاضر هزينه صرفهجويي شده به علت بهبود كارآيي در عملكرد نرم افزاري سيستم با كل هزينههاي مربوط به بروزرساني سختافزاري رقابت ميكند.
انجمن جاوا يك
انجمن جاوا يك همانند رسم گذشته خود، جلسات متعددي در مباحث كارآيي جاوا در سال گذشته برگزار كرد كه اين نشستها خروجي قابل توجهي در بر نداشت. در اين ميان JavaFx شايد يك استثنا باشد. JavaFX نوعي جاوا (ماشين مجازي) است كه در آن كارآيي از مهمترين پارامترهاي طراحي به شمار ميرود. بنابراين اين انتظار وجود دارد كه با ورود ابزارهاي مبتني بر آن، محصولات جاوايي با كارآيي بسيار بالا توليد و در دسترس قرار گيرد. از ديگر نقطهنظرهاي مورد توجه قرارگرفته در انجمن توجه شركت سان (Sun) به موارد كارآيي در بسته JRE توزيع شده براي كاربران نهايي (end user) است. در اين تلاش شركت سان ضمن افزايش كارآيي JRE ارائه شده، از حجم آن براي download نيز كاسته و زمان اجرا آن را نيز كاهش داده است. تركيب JRE جديد و JavaFX بازار نرمافزارهاي روميزي (Desktop)، توليد سريع و نرمافزارهاي اينترنتي نسل جديد را هدف قرار دادهاند.
از ديگر اعلانات انجمن در آن سال، تبليغات براي جاوا در دنياي توسعه نرمافزارهاي اينترنتي نسل جديد بود كه در عمل به چند پارگي بازار بين تكنولوژيهاي رقيب همانند Adobe Flex/AIR، Silverlight و AJAX و در دنياي روميزي ويژوال بيسيك، دلفي، سي شارپ، C، C++ و Swing منجر شد و شعار Swing بزرگترين بازار توليدكنندگان روميزي به سوي C# جهت گرفت. با وجود اخبار نااميدكننده فوق شايد آمار ارائه شده كلي از جاوا در سال 2007 بسيار جلوه كننده به نظر برسد. وجود شش ميليون برنامهنويس جاوا، چهار ميليون ابزار Blu-Ray جاوايي، هفت ميليون ابزار set-top جاوا، بيش از دو ميليون گوشي موبايل با قابليت اجراي جاوا، دو و نيم ميليون كارت الكترونيكي جاوا و بيش از 700 ميليون كامپيوتر كه جاوا نصب نمودهاند نقطه عطفي از گستردگي و عموميت جاوا در سطح جهاني باشد.
عموميت زبان
جاوا موقعيت مسلم خود به عنوان زبان برنامهنويسي شماره يك در سال 2007 را نسبت به نزديكترين رقيب خود يعني C/C++ به خوبي حفظ نموده است. C/C++ رقيبي است كه در اين اواخر شاهد ركود نسبي آن بودهايم. موضوع مورد بحث در اينجا مقايسه كارآيي زبان جاوا در مقابل C/C++ است. نكته بسيار مهم آن است كه جاوا هيچ كمبود عمدهاي در مباحث كارآيي نسبت به C/C++ به جز در برخي از موارد خاص ندارد، اما اين امر جلوگيري از ادعاهاي طرفداران C/C++ مبني بر سرعت بيشتر C/C++ را نكردهاست. با اين وجود رويه موجود در دنياي انجمنهاي حرفه IT به گونه است كه در دراز مدت يا تفاوت عمدهاي در سرعت بين آندو نخواهند ديد يا اصولاً توجهي به اين تفاوت سرعت نخواهند داشت.
در مورد ساير زبانها، سال 2007 شاهد رشد حيرتانگيز زبان Ruby بود اما به نظر نميرسد كه پشتيبانان اين زبان، قصد ماجراجويي جدي دراز مدت در بازار Enterprise و كارآيي داشته باشند. تنها روند قابل شناسايي دراز مدت در اين مقوله C# بود كه آن هم به آهستگي پيش ميرود و قابل پيشبيني است كه زماني دومين رتبه زبان برنامهنويسي را به خود اختصاص دهد. سرانجام به نظر ميرسد كه اين جاواست كه با حملات خود، معروفيت خود را به جوامع قبولانده است، عملي كه هيچ زبان برنامهنويسي ديگر قدرت انجام آن را ندارد. با توجه به سياستهاي جديد شركت سان و توجه عمده آن شركت بر روي جاوا و سرمايهگذاريها وسيع در جاوا، بعيد نيست كه حتي نام اين شركت نيز به Sun Java تغيير داده شود. البته نام تجاري جاوا از زبان برنامهنويسي جاوا مجزاست اما آنقدر به يكديگر مربوط هستند كه نشاندهنده پشتيباني زبان توسط نام تجاري باشد!
كارآيي جاوا و دنياي سورسباز
جاوا به دنياي سورسباز وارد شده است و اين ورود فقط از نقطه نظرهاي كارآيي نيست. اما نكته قابل توجه وفور چارچوبهاي ارائه شده براي مباحث كارآيي در دنياي سورسباز است. چارچوبهايي براي گسترش مقياس در جاوا همانند Hadoop، چندين چارچوب دستهبندي و شبكهبندي (Griding) همانند Drools يا GridGain، چارچوبهاي پردازش موازي و مانند آن، كشهاي چندگانه توزيع شده، چارچوبهاي مبتني بر NIO و انواع Non-blocking hashmap، توجه ويژه و ارائه كتابخانههاي متعدد بر روي همزماني پردازش با volatile و دهها مورد چارچوب و ابزار ديگر كه بر مقولههاي مختلف پيچيدگيهاي توليد نرمافزارهاي حرفهاي و enterprise پرداختهاند. به طور قطع هيچ زبان برنامهنويسي ديگري وجود ندارد كه با اين گستردگي به صورت سورس باز بر مباحث كارآيي و ابزارهاي مقياسپذيري نرمافزار پرداخته باشد.
علاوه بر فوق ميبايست ابزارها و پروژههاي انجام شده در بخش غير سورس باز از سوي شركتهايي همانند IBM با تمركز بر روي پردازش همزماني (Real-Time Class Analysis, lock analyser, Dump Analyzer) و در دنياي اينترنت با بررسي شتابدهندههاي خاص گوگل، يا قابليتهاي خاص بهبود نمايش صفحات براي كاربران در ياهو كه متمركز بر افزايش سرعت در download و نمايش بودهاند را اضافه نماييم. اين نمونههاي موفق از كسب وكار چگونگي تلفيق تكنولوژيها و زبانهاي متفاوت براي خلق كارآيي را نمايش ميدهد. سال 2007 شايد از موفقترين سالها براي كارآيي در جاوا بوده است.
منبع: یه جایی توی این اینترنت
لینک های دانلود هیچکدوم دیگه کار نمی کنن