جستجو
جستجو و پیمایش ردیفی اول سطح
اگر در الگوریتم پیمایش عمقی به جای پشته یک صف در نظر بگیریم به الگوریتم جدیدی خواهیم رسیدکه BFS نام دارد.برای پیمایش کلیه گره ها گره آغاز را انتخاب می کنیم.در این روش بعد از دیدن هر گره کلیه فرزندان همان گره ملاقات شده و سپس فرزندان اولین فرزند گره اصلی و بعد فرزندان دومین فرزند گره اصلی و تا انتها پیش می رود. بنابراین روش کار این است که نخست دومین گره را ملاقات می کنیم و سپس کلیه فرزندان آن را ملاقات کرده و در انتهای صف قرار می دهیم و سپس از داخل صف اولین گره را برداشته و فرزندان آن را ملاقات کرده و به انتهای صف می افزاییم.





مرورگر وب

مرورگر وب یا مرورگر اینترنت به نرم‌افزارهای کاربردی گفته می‌شود که برای دریافت، نمایش و مرور اطلاعات از وب جهان‌گستر مورد استفاده قرار می‌گیرد. یک منبع اطلاعات با یک شناساگر یکنواخت منبع شناخته می‌شود، این منبع می‌تواند یک صفحه وب، تصویر، ویدئو و یا هر قطعه اطلاعاتی دیگری باشد.

هر چند مرورگرها برای دسترسی به وب جهان‌گستر طراحی شده‌اند، اما از آن‌ها می‌توان برای دسترسی به اطلاعات سرورهای وب در شبکه‌های خصوصی و یا پرونده‌ها در سیستم‌های پرونده استفاده کرد.مرورگر های میتوانند شما را به فضای مجازی متصل کنند.اگر بخواهید از هر گوشه گیتی به فضای اینترنتی دست یابید، نیاز به یک مرورگر وب خوب و کاربردی دارید.

در نوامبر ۲۰۱۰ اینترنت اکسپلورر، موزیلا فایرفاکس و گوگل کروم به ترتیب بیشترین سهم را در بازار مرورگرهای اینترنت داشته‌اند.







تاریخچه

اولین مرورگر وب در سال 1990 و توسط Tim Berners-Lee اختراع شد به نام مرورگر WorldWideWeb که نام آن بعدها به Nexus تغییر کرد. در سال 1993Mark Andreessen مخترع Netscape دست به نو آوری و ایجاد تغییراتی در مرورگرها زد، او با انتشار Mosaic (بعدها Netscape) اولین مرورگر محبوب در سراسر جهان که استفاده از تار جهان گستر را آسان تر و دسترسی مردم معمولی را با آن نیز ممکن ساخت و همچنین اولین مرورگر گرافیکی جهان بود انقلابی در روش استفاده از وب را به وجود آورد. او بعدها شرکت خود را به نام Netscape افتتاح کرد و در سال 1994 مرورگر Netscape Navigator را عرضه کرد که سریعا به محبوب ترین مرورگر جهان تبدیل شد. در سال 1995 مایکروسافت با عرضه Internet Explorer نخستین قدم را در رقابت مرورگرها برداشت و در سال 2002 با 95% تعداد کاربر تبدیل به محبوب ترین مرورگر جهان شد.







مرورگرهای اینترنت

اینترنت اکسپلورر
فایرفاکس
گوگل کروم
سافاری
اپرا
سی‌مانکی
لینکس (lynx)
آوانت
مکستون






اینترنت اکسپلورر
ویندوز اینترنت اکسپلورر (به انگلیسی: Windows Internet Explorer) مرورگر وب مایکروسافت و پراستفاده‌ترین مرورگر در میان کاربران است. این مرورگر به طور پیش فرض همراه با سیستم‌عامل ویندوز نصب می‌شود (ویندوز ۹۸ و نسخه‌های جدید تر ویندوز).







گذشته

پروژه اینترنت اکسپلورر تابستان ۱۹۹۴ بوسیله Thomas Reardon آغاز شد.





فایرفاکس

موزیلا فایرفاکس (به انگلیسی: Mozilla Firefox) (به فارسی: روباه آتشین موزیلا) (مخفف شده آن به صورت رسمی Fx، اما به‌صورت غیررسمی FF) مرورگر وب آزاد و متن‌باز برگرفته از موزیلا اپلیکیشن سویت است که توسط بنیاد موزیلا اداره می‌شود. بر اساس آمار در ماه می ۲۰۱۴، این مرورگر ۲۴٫۹٪ از کاربران اینترنت را به خود اختصاص داده است.

این مرورگر در ابتدا بیشتر بین کاربران توزیع‌های لینوکس محبوبیت داشت، ولی رفته‌رفته با پدیدار شدن مشکلات امنیتی در پراستفاده‌ترین مرورگرهای وب مانند اینترنت اکسپلورر، کاربران دیگر سیستم‌عامل‌های رایانه از قبیل ویندوز و مکینتاش نیز استفاده از این مرورگر را آغاز کرده‌اند تا جایی که مستقل از یک سیستم‌عامل مشخص، بیش استفاده‌شده‌ترین مرورگر جهان است.

موزیلا فایرفاکس مرورگر وبی است برای مرور و جستجو در بین صفحات اینترنتی با سرعت و امنیت بسیار بالا که محصول کمپانی قدیمی Netscape است که در زمینه ارائه ابزارهای اینترنتی بسیار محبوب و معروف است. مرورگر فایرفاکس محبوبیت خود را مدیون کیفیت و کارایی بالایش، فراتر از سایر مرورگرهای مطرح دنیا مانند اینترنت اکسپلورر و اوپرا است زیرا امکانات این مرورگر از قبیل امنیت، سرعت، کیفیت و قابلیت سفارشی‌سازی بسیار بالا نظر هر کاربری را نیز به خودش جلب می‌کند.

در طی مدت‌های گذشته برنامه موزیلا در مدت‌های طولانی نسخه فینال را توزیع می‌کرد اما امروزه با تاخیر سیاست‌های بنیان‌گذار آن یعنی موزیلا، نسخه‌های فینال به‌زودی عرضه می‌شوند و مشکلات سریع‌تر برطرف می‌شوند.







ویژگی‌ها

این برنامه ویژگی‌های بسیاری دارد. با گسترش وب و اهمیت بحث تبلیغات طراحان به فکر ایجاد صفحاتی افتادند که بدون خواست کاربر گشوده شوند. با استفاده از امکان pop-up blocker موزیلا، این صفحات امکان ایجاد مزاحمت را ندارند. این گزینه برای مرورگر قابل تنظیم است.

یکی از ویژگی‌های موزیلا فایرفاکس امکان گشودن چند صفحه در یک پنجره (tabbed browsing) و کشیدن و رها کردن (drag-and-drop) مکان تب‌ها است.

قابلیت RSS قوی این مرورگر، امکان پاک کردن آسان اطلاعات شخصی، امکان کشیدن و رها کردن متن به باکس جستجو، حمایت از SVG و CSS2 و CSS3 و JavaScript، حمایت از صفحات طراحی‌شده با فناوری نوین ای‌جکس (AJAX)، حمایت از قابلیت‌های ویژهٔ CMSهای رایج، همکاری گسترده با شرکت‌های بزرگ مانند eBay و موتورهای جستجوی یاهو و گوگل و ده‌ها قابلیت سازگارانهٔ دیگر، موزیلا را از جمع مرورگرهای غیرحرفه‌ای جدا کرده و باوجود سادگی و محیط دوست‌داشتنی، آن را به یکی از Browserهای پیشرفته بدل می‌کند. افزونه‌های مورد نیاز نصب شده و در حالت عادی غیرفعال است

اضافه شدن افزونه one-time
اضافه شدن نوار جستجوی توییتر Twitter
اولویت‌بندی جدید برای تقاضا در بازشدن زبانه‌های جدید
بهبود در اجرای مرورگر با سرعت فوق‌العاده
بهبود در عملکرد و در هنگام استفاده از عناصر آهنگ‌ها ویدیوها
پشتیبانی CORS در دامنه‌های WebGL
پشتیبانی از منوهای HTML5
پشتیبانی برای insertAdjacentHTML
بهبود و پشتیبانی برای نوشتن در زبان CSS و بسیاری زبان‌های دیگر
پشتیبانی پیشرفته WebSocket
افزایش امنیت
افزایش سرعت بارگذاری Java
افزوده شدن صفحه New Tabs

توانایی سفارشی‌سازی

یکی از قابلیت‌های فایرفاکس امکان تغییر آن به مرورگری برای سلیقه هر فرد است. برای این کار فایرفاکس دو مورد را در نظر گرفته است. اول توانایی‌های مرورگر، دوم ظاهر آن.

سفارشی‌سازی توانایی‌های فایرفاکس با کمک فایل‌هایی با حجم کم به نام افزونه (Extension) ممکن می‌شود. این افزونه‌ها در واقع تکه‌های کوچک برنامه‌اند که قابلیت‌های مختلفی را به این مرورگر می‌افزایند. تم‌های مختلف این مرورگر هم شخصی‌سازی ظاهر آن را راحت می‌کند.







مشکلات فایرفاکس

خیلی از کاربران خواستار اضافه شدن افزونه‌های پرتقاضا به فایرفاکس هستند. (نویسندگان فایرفاکس مدعی‌اند این کار مغایر با هدف آن‌ها یعنی یک مرورگر سبک است.) البته بیشتر این افزونه‌ها و قابلیت‌های بسیار دیگر مستقیماً قابل بارگیری و نصب روی فایرفاکس‌اند ولی تمام کاربران خواهان این روش نصب نیستند و ترجیح می‌دهند تمام این قابلیت‌ها را در کنار نرم‌افزار اصلی داشته باشند.

یکی از مشکلات دیگری هم که به فایرفاکس نسبت داده می‌شود مشکلاتی است که توسط پلاگین فلش (Macromedia Flash) ایجاد می‌شود که برای لینوکس نوشته‌شده که این مشکل ارتباطی به خود فایرفاکس ندارد.







پیکربندی

برای سفارشی کردن فایرفاکس و تغییر تنظیمات داخلی مانند مکان پوشه بارگیری‌ها، صفحه آغازین، مدیریت رمزهای عبور و غیره، از منوی ابزار/ گزینه‌ها استفاده فرمایید. بخش گزینه‌ها، تنظیمات اصلی برای استفاده کاربران را در بر دارد.

پیکربندی فایرفاکس، شامل تمام تنظیمات داخلی فایرفاکس است و برای کاربران پیشرفته در نظر گرفته شده است.

برای دسترسی به پیکربندی فایرفاکس در نوار نشانی این عبارت را وارد کنید: about:config

خواهشمند است پیش از انجام تغییرات در این بخش، از پروفایل خود پشتیبان‌گیری کنید.

شرح کامل عبارت‌های پیکربندی فایرفاکس
فایرفاکس قابل حمل
میزان استفاده از مرورگرهای اینترنت میان کاربران (به جز اینترنت اکسپلورر)
فایرفاکس سافاری اپرا نت اسکیپ
گوگل کروم بقیه

وب‌سایت PortableApps.com، فایرفاکس قابل حمل را عرضه می‌کند. این نسخه قابلیت اجراشدن روی درایوهای USB Flash و CD-ROM و همچنین درایوهای سخت خارجی و بعضی از پخش‌کننده‌های دیجیتالی موسیقی را دارد.





گوگل کروم

گوگل کروم (به انگلیسی: Google Chrome) یک مرورگر وب رایگان است که در ۲ سپتامبر ۲۰۰۸ (۱۲ شهریور ۱۳۸۷) توسط شرکت گوگل بر پایهٔ پروژهٔ کرومیوم عرضه شد. در ابتدا نسخهٔ آزمایشی آن برای کاربران نرم‌افزار سیستم‌عامل ویندوز در یک‌صد کشور جهان عرضه شد ولی گوگل اعلام کرد که نسخه‌های منطبق با سیستم‌عامل گنو/لینوکس و رایانهٔ اپل مکینتاش آن هم در آینده توزیع خواهد شد. موتور این مرورگر نرم‌افزار آزاد وب‌کیت (به انگلیسی: WebKit) است. از امکانات و قابلیت‌های آن می‌توان به Tabbed browsing، و امکاناتی مشابه Privacy در سافاری و Speed Dial در مرورگر اپرا اشاره نمود.

در سپتامبر ۲۰۰۸ گوگل بخش زیادی از کد منبع کروم شامل، موتور جاوااسکریپت وی۸ را با نام کرومیم در اختیار عموم قرار داد. این کار باعث شد که دیگران بتوانند کد را مطالعه کنند و کمک کنند تا این مرورگر برای سیستم عامل لینوکس و مک نیز قابل استفاده شود.







امکانات

گوگل کروم مرورگری امن، سریع و بسیار با ثبات است. گوگل کروم تفاوت بسیاری با دیگر رقیبانش ندارد. قدرت کروم به عملکرد برنامه و سرعت پردازش آن به جاوا اسکریپت آن بستگی دارد. گوگل کروم از زبان های بسیاری مانند فارسی پشتیبانی می کند .





یاندکس

یاندکس (به روسی: Яндекс) یک شرکت فناوری اطلاعات روسی است که بزرگترین موتور جستجوی روسیه و هشتمین موتور جستجوی جهان را اداره می کند. همچنین این شرکت توسعه دهنده سرویس‌ها و محصولات اینترنتی بسیاری هم بوده است. صفحه خانگی Yandex.ru محبوب‌ترین وب سایت در روسیه است.





سیتی‌سیر
سیتی‌سیر (به انگلیسی: CiteSeer) نام یک موتور جستجوی عمومی و کتابخانه دیجیتال است که بیشتر محتوای آن مقالات دانشگاهی مربوط به دانش اطلاعات و کامپیوتر است و اکنون نام آن به سیتی‌سیر ایکس (به انگلیسی: CiteSeerX) تغییر کرده است و بسیاری آن را به عنوان اولین موتور جستجوی آکادمیک و دانشگاهی می‌شناسند.





داک‌داک‌گو

داک‌داک‌گو (به انگلیسی: DuckDuckGo) یک موتور جستجوی وب است که در عملکرد خود تا حد زیادی بر داده‌های جمع‌سپاری‌شده همچون ویکی‌پدیا تکیه دارد. یکی از نکات مهم این وب‌گاه این است که به (ادعای خودش) کاربرنش را ردگیری نمی‌کند. این موتور جستجوی وب را می‌توان حاصل نگرانی‌ها پیرامون حریم خصوصی افراد دانست. در صفحهٔ سیاست حریم این وب‌گاه آمده است که هیچگونه اطلاعات شخصی‌ای را جمع‌آوری نمی‌کند و به اشتراک نمی‌گذارد. بر خلاف دیگر جویشگرها در سیاست داک‌داک‌گو آمده است که تاریخچهٔ جستجوهای کاربران را ذخیره نمی‌کند.

از ویژگی‌های جستجو در این وب‌گاه می‌توان به شیوهٔ جستجوی واژه‌های دارای ابهام در آن اشاره کرد. بر خلاف برخی از شیوه‌های دیگر جستجو که بر پایهٔ بهترین نتایج در صفحهٔ اول کار می‌کنند، داک‌داک‌گو تلاش می‌کند همهٔ معانی مختلف یک واژهٔ تفسیرپذیر را در صفحهٔ اولش بگنجاند تا نتایج صفحهٔ اول به یک معنی خاص سوگیری نداشته باشد. افزون بر این کاربر را راهنمایی می‌کند تا مقصود خود را بهتر بیان کند.

منابع استفاده‌شده برای تهیه نتایج جستجو در داک‌داک‌گو گسترده‌اند و از بینگ تا دانشنامهٔ پوکمون را شامل می‌شوند.





کویکی (دانشنامه سخنگو)

ماشین جستجوگر کویکی (به انگلیسی: Qwiki) مرزهای فناوری اطلاعات را شکسته و با برنامهٔ نرم‌افزاری تازه‌ای به رقابت با گوگل و ویکی‌پدیا برخاسته است.

کویکی همانند ویکی‌پدیا کاربرمحور است و از اواخر ژانویه ۲۰۱۱ به طور فعال خدمات خود را عرضه خواهد کرد.







کویکی حرف می‌زند

در فیلم‌ها و داستان‌های علمی تخیلی دیده‌ایم کسی از چیزی حرف می‌زند و بعد در مقابلش تصاویر آن را می‌بیند و صدای راوی را هم می‌شنود که آن تصاویر را شرح می‌دهد. با کویکی به این رؤیا نزدیک شده‌ایم.

یکی از آرزوهای دیرینهٔ بشر رایانه‌ای بود که هر آن چه از آن می‌پرسد برایش پاسخ گفته و با او صحبت کند. اکنون این رؤیا محقق شده و کویکی به صحنه آمده است.

کویکی می‌تواند از نتایج جستجو حرف بزند و آن‌ها را به صورت عکس، ویدئو، متن‌های کوتاه و حتی نمودار نشان دهد. البته قابلیت‌های دیگری نیز برای آن پیش‌بینی شده است.







طرز کار کویکی

کویکی به جای پیدا کردن لینک‌ها به منابعی که برچسب مورد نظر را در خود دارند، خیلی سریع پاساژهای مشخصی از متن را از ویکی‌پدیا، ویکی انبار و مجموعه‌ای از پرونده‌های آوایی، تصویری و دیگر فایل‌های چند رسانه‌ای، و عکس و ویدیو را از یوتیوب و جاهای دیگر بیرون می‌کشد و با آنها یک اسلایدشو ساخته و به نمایش می‌گذارد.

همه این‌ها در یک چشم به هم زدن صورت می‌گیرد.

کافی است مورد جستجو را در صفحهٔ کویکی وارد کنیم. نتیجهٔ جستجو را به شکل توضیح شفاهی با صدا و همراه با عکس و سکانس‌های کوتاه ویدیویی در اختیار خواهیم داشت و متن انگلیسی این توضیح را هم می‌توان هم‌زمان بر روی صفحه تماشا کرد.

کویکی ابتدا چکیده داده‌ها را از سایتهای مختلف مانند ویکی‌پدیا، فتوپدیا، گوگل، لینکدلن (سایتی تخصصی و انحصاراً مخصوص ارتباطات اجتماعی ـ شبکه‌ای)، تک كرانش و برخی پایگاه‌های دیگر، جمع‌آوری می‌کند و روی هم می‌چیند.

در ادامه متن‌های جمع‌آوری شده را در یک لحظه توسط ماشین به گفتار تبدیل نموده و پس از آن در یک فیلم Flash گفتار و عکس‌ها را در کنار هم می‌گذارد و همراه آن‌ها متنی را که گوینده می‌گوید به‌صورت زیرنویس قرار می‌دهد.

متن بسیاری از جستجوها توسط این برنامه، قابلیت جمع‌آوری نمودارها و ترکیب آنها با یکدیگر را نیز دارد.

بیشتر داده‌ها با سکانس‌های کوتاه فیلم یا اسلایدشو همراه هستند و واژهٔ مورد نظر را می‌توان به زبان‌های گوناگون (حتی فارسی) وارد کرد، اما نتیجهٔ نمایش داده شده در این وب‌گاه (فعلاً) تنها به زبان انگلیسی خواهد بود.

سایت کویکی که در حقیقت ترکیبی از گوگل و ویکی‌پدیا است، فراتر از یک موتور جستجو عمل می‌کند.
کویکی، جهان را تغییر خواهد داد

جوانی به نام «داگ ایمبروس» با «لوئیس مونیر» بنیانگذار آلتاویستا کویکی را پایه‌ریزی کرده و با ابزاری فراتر از یک موتور جستجو، طرحی نو درانداخته است. کویکی منحصر به رایانه نیست و کاربر می‌تواند با تلفن همراه هم به آن دسترسی داشته باشد. ایدهٔ «کویکی» در شمار ایده‌های برتری است که مرزهای امروز فناوری را در می‌نوردند. کویکی مرزهای امروز آموزش را پشت سر نهاده و جهان را تغییر خواهد داد.





های‌بیم ریسرچ

های‌بیم ریسرچ یک جویشگر تجاری و برخط برای روزنامه‌ها، مجله‌ها، نشریه‌های دانشگاهی، اخبار روز، مجلات تجاری و دانشنامه‌ها به زبان انگلیسی است. این وبگاه به بیش از ۸۰ میلیون مقاله از ۶٫۵۰۰ ناشر که بسیاری از آن‌ها در اینترنت به صورت رایگان در دسترس نیست، دسترسی دارد.

مقر این جویشگر در شهر شیکاگو ایالت ایلی‌نوی در ایالات متحده آمریکا قرار دارد.

روزانه هزاران مقالهٔ جدید بدان افزوده می‌شود، همچنین دسترسی به بایگانی بیش از ۲۵ سال از مجلات تجاری، مقالات روزنامه‌ها و مقالاتی که طیف گسترده‌ای از موضوعات و صنایع را پوشش می‌دهند و همچنین ابزارهایی برای یافتن، ذخیره، سازماندهی و اشتراک گذاری اطلاعات را به کاربران خود می‌دهد.





موتور جستجوی ناور

موتور جستجوی ناور (به کره‌ای: 네이버) (به انگلیسی: Naver) یک موتور جستجوی معروف در کره است که در حدود ۷۰ درصد بازار مشترک را در مقابل ۲ درصد گوگل داراست .Naver در سال ۱۹۹۹ توسط گروهی از مهندسان شرکت Sumsong ایجاد شد . و به عنوان اولین وب پورتال کره جنوبی شناخته می شود و یک پورتال بومی اختصاصی محسوب می گردد.

در سال ۲۰۰۰ این موتور جستجو سرویس جستجوی مفهومی را راه اندازی کرد که نتاج را به صورت دستبندی شده بر اساس نوع مثل blogs, websites, images, cafes در قالب یک صفحه نمایش می داد .در ژولای همان سال Naver با Hangame ادغام شد، Hangame اولین پورتال بازی بود و در سال ۲۰۰۱ به NHN تغییر نام داد، و به بالای لیست بازار شرکت های بزرگ در KASDAQ دست یافت. در روزهای ابتدایی ظهور Naver کمبود صفحات کره ای محسوس بود، برای پر کردن این نقصان ،Naver پیشگام تولید "محتوای تولید شده توسط کاربر"(User-Generated Content) از طریق ایجاد سرویس “جستجوی دانش”شد. کاربران سوالات خود را راجع به هر موضوعی مطرح می کردند و جواب خود را در میان جوابهای داده شده از طرف کاربران دیگر بدست می آوردند. امتیاز داده شده به کاربران بهترین جواب را مشخص می کرد. سرویس جستجوی دانش سه سال قبل از سرویس Yahoo! Answer آغاز به کار کرد و هم اکنون بانک اطلاعاتی آن بیش از ۸۰ میلیون جواب صفحه جواب را شامل می شود. در این سرویس از نحوه پخت ماکارانی تا نحوه عضویت در مجلات بین المللی از طریق اینترنت سوال می پرسند و کاربران دیگر به آن جواب می دهند.در ادامه سرویس های اینترنتی دیگر مثل ایمیل و جستجوی مقالات علمی و پورتال کودکان را به آن اضافه کردند. در سال ۲۰۰۵ سرویس Blog نیز به آن اضافه شد و جستجوی اطلاعات محلی و جستجوی کتاب و Desktop هم به آن اضافه شد. در سال ۲۰۰۵ Naver محصول HappyBean را عرضه کرد که اولین پورتال آنلاین اهداء بود. که به کاربران اجازه می داد تا اطلاعاتی بالغ بر ۰۰۰/۲۰ سازمان رفاهی و مدنی اجتماعی را پیدا کنند و به آنها کمک مالی اهداء کنند. در سال ۲۰۰۶ سرویس webtoon(webcomic) اضافه شد و در کل بین سالهای ۲۰۰۵ تا ۲۰۰۷ جستجوی محتوای چند رسانه ای شامل آهنگ و ویدئو، سرویس تلفن اینترنتی و موبایل ایجاد شد.

براساس آمار منتشر شده از سایت comScore، موتور جستجوی Naver در سال ۲۰۰۷ به مرز ۲ میلیون Query رسید که بیش از ۷۰٪ پرس و جو در کره را شامل می شود و آن را به پنجمین موتور پرکاربرد جهان بعد از گوگل، یاهو!، بایدو و بینگ مبدل ساخت .







جونیور ناور

جونیور ناور (به انگلیسی: Junior Naver) این پورتال مخصوص کودکان است مثل Yahooligans و دارای سرویس های مخصوصی مثل بازی همانند مزرعه حیوانات Dongmul Nongjang , Pany Pang, Puppyred، ایمیل، اواتار، لینک های آموزشی، نمونه سوالات، داستان، جوک و حل تمرین( Homework Helper) و غیره است. این پورتال همچنین به متخصصان و آموزگاران اجازه می دهد که محتوای ناسالم را با هدف ارائه یک اینترنت امن به کودکان، تصحیح کنند.





اینترنت

اینترنت (به انگلیسی: Internet) (مخفف interconnected networks شبکه‌های به هم پیوسته) را باید بزرگ‌ترین سامانه‌ای دانست که تاکنون به دست انسان طرّاحی، مهندسی و اجرا گردیده‌است. ریشهٔ این شبکهٔ عظیم جهانی به دههٔ ۱۹۶۰باز می‌گردد که سازمان‌های نظامی ایالات متّحدهٔ آمریکا برای انجام پروژه‌های تحقیقاتی برای ساخت شبکه‌ای مستحکم، توزیع شده و باتحمل خطا سرمایه‌گذاری نمودند. این پژوهش به همراه دوره‌ای از سرمایه‌گذاری شخصی بنیاد ملی علوم آمریکا برای ایجاد یک ستون فقرات جدید، سبب شد تا مشارکت‌های جهانی آغاز گردد و از اواسط دههٔ ۱۹۹۰، اینترنت به صورت یک شبکهٔ همگانی و جهان‌شمول در بیاید. وابسته شدن تمامی فعّالیت‌های بشر به اینترنت در مقیاسی بسیار عظیم و در زمانی چنین کوتاه، حکایت از آغاز یک دوران تاریخیِ نوین در عرصه‌های گوناگون علوم، فن‌ّآوری، و به خصوص در نحوه تفکّر انسان دارد. شواهد زیادی در دست است که از آنچه اینترنت برای بشر خواهد ساخت و خواهد کرد، تنها مقدار بسیار اندکی به واقعیت درآمده‌است.

اینترنت سامانه‌ای جهانی از شبکه‌های رایانه‌ای بهم پیوسته‌است که از پروتکلِ «مجموعه پروتکل اینترنت» برای ارتباط با یکدیگر استفاده می‌نمایند. به عبارت دیگر اینترنت، شبکهٔ شبکه هاست که از میلیون‌ها شبکه خصوصی، عمومی، دانشگاهی، تجاری و دولتی در اندازه‌های محلی و کوچک تا جهانی و بسیار بزرگ تشکیل شده‌است که با آرایه وسیعی از فناوریهای الکترونیکی و نوری به هم متصل گشته‌اند. اینترنت در برگیرنده منابع اطلاعاتی و خدمات گسترده ایست که برجسته‌ترین آنها وب جهان‌گستر و رایانامه می‌باشند. سازمان‌ها، مراکز علمی و تحقیقاتی و موسسات متعدد، نیازمند دستیابی به شبکه اینترنت برای ایجاد یک وب‌گاه، دستیابی از راه دور وی‌پی‌ان، انجام تحقیقات و یا استفاده از سیستم رایانامه، می‌باشند. بسیاری از رسانه‌های ارتباطی سنتی مانند تلفن و تلویزیون نیز با استفاده از اینترنت تغییر شکل داده‌اند ویا مجدداً تعریف شده‌اند و خدماتی جدید همچون صدا روی پروتکل اینترنت و تلویزیون پروتکل اینترنت ظهور کردند. انتشار روزنامه نیز به صورت وب‌گاه، خوراک وب و وب‌نوشت تغییر شکل داده‌است. اینترنت اشکال جدیدی از تعامل بین انسانها را از طریق پیام‌رسانی فوری، تالار گفتگو و شبکه‌های اجتماعی بوجود آورده‌است.

در اینترنت هیچ نظارت مرکزی چه بر امور فنّی و چه بر سیاست‌های دسترسی و استفاده وجود ندارد. هر شبکه تشکیل دهنده اینترنت، استانداردهای خود را تدوین می‌کند. تنها استثنا در این مورد دو فضای نام اصلی اینترنت، نشانی پروتکل اینترنت و سامانه نام دامنه است که توسط سازمانی به نام آیکان مدیریت می‌شوند. وظیفه پی بندی و استاندارد سازی پروتکل‌های هسته‌ای اینترنت، IPv4 و IPv6 بر عهده گروه ویژه مهندسی اینترنت است که سازمانی بین‌المللی و غیرانتفاعی است و هر فردی می‌تواند در وظایفشان با آن مشارکت نماید.







واژه‌شناسی

در زبان انگلیسی واژهٔ Intrnet هنگامی که به شبکه جهانی مبتنی بر پروتکل IP اطلاق می‌گردد، با حرف بزرگ در اول کلمه، نوشته می‌شود.
در رسانه‌ها فرهنگ عامه، گاه با اینترنت به صورت یک مقوله عمومی و مرسوم برخورد کرده و آن را با حرف تعریف و به صورت حروف کوچک می‌نگارند(the internet)
در برخی منابع بزرگ نوشتن حرف اول را به دلیل اسم بودن آن جایز می‌دانند نه برای صفت بودن این واژه.
واژهٔ لاتین the Internet چنانچه به شبکهٔ جهانی اینترنت اشاره کند، اسم خاص است و حرف اوّلش با حروف بزرگ آغاز می‌شود(I). اگر حرف اوّل آن کوچک باشد می‌تواند به عنوان شکل کوچک شده کلمه Internetwork برداشت شود که به معنی میان شبکه است. واژه "ابر" نیز به صورت استعاری، به ویژه در ادبیات رایانش ابری و نرم‌افزار به عنوان سرویس، برای اشاره به اینترنت به کار می‌رود.







اینترنت در برابر وب

غالباً در گفتگوهای روزمره از دو واژهٔ "وب" و "اینترنت"، به اشتباه، بدون تمایز زیادی استفاده می‌شود، امااین دو واژه معانی متفاوتی دارند. اینترنت یک سامانه ارتباطی جهانی برای داده هاست، زیرساخت‌های نرم‌افزاری و سخت‌افزاری است که رایانه‌ها در سراسر جهان به یک‌دیگر متصل می‌سازد. در مقابل، وب یکی از خدماتی (سرویس) است که بر روی اینترنت ارائه می‌شود و برای ارتباط از شبکه اینترنت بهره می‌جوید. وب مجموعه‌ای از نوشته‌های به هم پیوسته(web page) است که به کمک ابرپیوندها و آدرس جهانی(URL) به یکدیگر پیوند خورده‌اند.
وب شامل سرویس‌های دیگر مانند رایانامه، انتقال فایل(پروتکل اف‌تی‌پی)، گروه خبری و بازی آنلاین است.
خدمات(سرویس)های یاد شده بر روی شبکه‌های مستقل و جدا از اینترنت نیز در دسترس هستند. وب به عنوان لایه‌ای در بالای اینترنت قرار گرفته و سطح بالاتری نسبت به آن قرار دارد.







تاریخچه
مبنای قابلیت‌های شبکه، وجود رایانه‌ها و استفاده از پردازشگرهای رمزگذار و رمزگشاست. وجود شبکه‌های مخابراتی که در ابتدا در قرن نوزدهم ایجاد شده بودند بنیانی مهم برای شکل‌گیری هر نوع شبکهٔ الکترونیکی محسوب می‌شدند و این پیشرفت‌ها با ایجاد نظریه اطلاعات در دهه 1940 تکمیل شدند و پیشرفت علم الکترونیک به کندی پیش می‌رفت. افتتاح پروژه اسپوتنیک توسط اتحاد جماهیر شوروی سوسیالیستی زنگ خطر را برای ایالات متحده به صدا درآورد تا با تأسیس آرپا یا موسسه پروژه‌های تحقیقاتی پیشرفته در سال ۱۹۵۸ (میلادی) پیشروی در زمینه فناوری را بازیابد. آرپا اداره فناوری پردازش اطلاعات (IPTO) را تاسیس نمود تا پروژه SAGE راکه برای اولین بار سامانه‌های رادار سراسر کشور را با هم شبکه کرده بود پیشتر برد. هدف IPTO دست یافتن به راههایی برای پاسخ به نگرانی ارتش امریکا در باره قابلیت مقاومت شیکه‌های ارتباطیشان را پاسخ دهد، و به عنوان اولین اقدام رایانه هایشان را در پنتاگون، کوه چاین و دفتر مرکزی فرماندهی راهبردی هوایی (SAC) را به یکدیگر متصل سازد. جی.سی.آر لیکلایدر که از ترویج کنندگان شبکه جهانی بود به مدیریت IPTO رسید. لیکلایدر در سال ۱۹۵۰ (میلادی) پس از علاقه‌مند شدن به فناوری اطلاعات از آزمایشگاه روانشناسی صدا در دانشگاه هاروارد به ام آی تی رفت. در ام آی تی او در کمیته‌ای مشغول به خدمت شد که آزمایشگاه لینکلن را تاسیس کرد و بر روی پروژه SAGE کار می‌کرد. در سال ۱۹۵۷ (میلادی) او نایب رئیس شرکت بی بی ان (BBN) شد. در آنجا بود که اولین محصول PDP-۱ را خرید و نخستین نمایش عمومی اشتراک زمانی را هدایت نمود.

در IPTO جانشین لیکلایدر ایوان ساترلند، در سال ۱۹۶۵ (میلادی)، لارنس رابرتس را بر آن گماشت که پروژه‌ای را برای ایجاد یک شبکه آغاز نماید و رابرتس پایه این فناوری را کار پل باران نهاد. پل باران مطالعه جامعی را برای نیروی هوایی ایالات متحده آمریکا منتشر کرده بود که در آن پیشنهاد داده بود که برای دستیابی به استحکام و مقاومت در برابر حوادث از راه‌گزینی بسته کوچک استفاده شود. رابرتس در آزمایشگاه لینکلن ام آی تی کار کرده بود که هدف اولیه از تاسیس آن، پروژه SAGE بود. لئونارد کلینراک استاد دانشگاه کالیفرنیا تئوریهای زیربنایی شبکه‌های بسته را در سال ۱۹۶۲ (میلادی) و مسیریابی سلسله مراتبی را در سال ۱۹۶۷ (میلادی) ارائه کرده بود، مفاهیمی که زمینه ساز گسترش اینترنت به شکل امروزی آن شدند.

جانشین ساترلند، رابرت تیلور، رابرتس را قانع نمود که موفقیت‌های اولیه‌اش در زمینه راه‌گزینی بسته کوچک را گسترش دهد و بیاید و دانشمند ارشد IPTO شود. در آنجا رابرتس گزارشی با نام "شبکه‌های رایانه‌ای منابع مشترک" به تیلور داد، که در ژوئیه ۱۹۶۸ (میلادی) مورد تایید او قرار گرفت و زمینه ساز آغاز کار آرپانت در سال بعد شد. پس از کار فراوان، سرانجام در ۲۹ اکتبر ۱۹۶۹ دو گره اول آنچه که بعدها آرپانت شد به هم متصل شدند. این اتصال بین مرکز سنجش شبکه کلینراک در دانشکده مهندسی و علوم کاربردی UCLA و سامانه NLS داگلاس انگلبرت در موسسه تحقیقاتی SRI International در پارک منلو در کالیفرنیا برقرار شد. سومین مکان در آرپانت مرکز ریاضیات تعاملی Culler-Fried در دانشگاه کالیفرنیا، سانتا باربارا بود و چهارمی دپارتمان گرافیک دانشگاه یوتا بود. تا پایان سال ۱۹۷۹ (میلادی) پانزده مکان مختلف به آرپانت جوان پیوسته بودند که پیام آور رشدی سریع بود. آرپانت تنها یکی از اجداد اینترنت امروزی بود. در تلاشی جداگانه، دونالد دیویز نیز، در آزمایشگاه ملی فیزیک انگلیس مفهوم راه‌گزینی بسته کوچک را کشف کرده بود. اونخستین بار آن را در ۱۹۶۵ (میلادی) مطرح نمود. کلمات بسته و راهگزینی بسته در واقع توسط او ابداع شدند و بعدها توسط استانداردها پذیرفته و به کار گرفته شدند. دیویز همچنین یک شبکه راهگزینی بسته به نام Mark I در سال ۱۹۷۰ (میلادی) درانگلستان ساخته بود. به دنبال نمایش موفق راهگزینی بسته در آرپانت(ARPANET)؛ در سال ۱۹۷۸، اداره پست بریتانیا، Telenet، DATAPACوTRANSPAC با یکدیگر همکاری را برای بوجود آوردن نخستین سرویس شبکه راهگزینی بسته خود آغاز نمودند. در بریتانیا این شبکه به نام سرویس بین‌المللی راهگزینی بسته (به انگلیسی: International Packet Switched Service) خوانده می‌شد. مجموعه شبکه‌های X.۲۵ از اروپا و آمریکا گسترش یافت و تا سال ۱۹۸۱ کانادا، هنگ کنگ و استرالیا ر در بر گرفته بود. استانداردهای راهگزینی بسته X.۲۵ را "کمیته مشاوره بین‌المللی تلگراف و تلفن(CCITT)" - که امروزه به نام ITU-T خوانده می‌شود- حول و حوش سال ۱۹۷۶ تدوین نمود. X.۲۵ از پروتکلهای TCP/IP مستقل بود. این پروتکلها حاصل کار تجربی DARPA در آرپانت، شبکه رادیویی بسته و شبکه ماهواره‌ای بسته بودند.

آرپانت اولیه بر روی برنامه کنترل شبکه(NCP) (به انگلیسی: Network Control Program) کارمی کرد، استانداردی که در دسامبر ۱۹۷۰ توسط تیمی به نام "گروه کاری شبکه(NWG)" به مدیریت استیو کراکر (به انگلیسی: Steve Crocker) طراحی و پیاده‌سازی شد. برای پاسخگویی به رشد سریع شبکه که مرتباً مکانهای بیشتری بدان متصل می‌شد، وینتون سرف (به انگلیسی: Vinton Cerf) و باب کان (به انگلیسی: Bob Kahn) اولین توصیف پروتکلهای TCP را که امروزه به گستردگی استفاده می‌شوند در خلال سال ۱۹۷۳ ارائه دادند و در مه ۱۹۷۴ مقاله‌ای در این باب منتشر نمودند. به کاربردن واژه اینترنت برای توصیف یک شبکه TCP/IP یکتای جهانی از دسامبر ۱۹۷۴ با انتشار RFC ۶۷۵ آغاز شد. این RFC اولین توصیف کامل مشخصات TCP بود که توسط وینتون سرف، یوگن دالال و کارل سانشاین در آن زمان در دانشکاه استانفورد نوشته شد. در خلال نه سال یعدی کار تا آنجا پیش رفت که پروتکلها تصحیح شدندو بر روی بسیاری از سیستم‌های عامل پیاده‌سازی شدند. اولین شبکه برپایه بسته پروتکل اینترنت(TCP/IP) از اول ژانویه ۱۹۸۳ وقتی که همه ایستگاههای متصل به آرپا پروتکلهای قدیمی NCP را با TCP/IP جایگزین کردند، شروع به کار نمود. در سال ۱۹۸۵ بنیاد ملی علوم آمریکا(NFS) ماموریت ساخت NFSNET- یک ستون فقرات (Network Backbone) دانشگاهی با سرعت ۵۶ کیلوبیت بر ثانیه(Kbps) - با استفاده از رایانه‌های "مسیریاب فازبال" (به انگلیسی: Fuzzball router) را به مخترع این رایانه‌ها، دیوید ال. میلز (به انگلیسی: David L. Mills) سپرد. یک سال بعد NFS تبدیل به شبکه پرسرعت تر ۱٫۵ مگابیت بر ثانیه (Mbps) را نیز پشتیبانی می‌کرد. دنیس جنینگ، مسئول برنامه ابرکامپیدتردرNFS تصمیمی کلیدی در مورد استفاده از پروتکلهای TCP/IP ارائه شده توسط DARPA گرفت. گشایش شبکه به دنیای تجاری در سال ۱۹۸۸ آغاز شد. شورای شبکه بندی فدرال ایالات متحده در آن سال با اتصال NFSNET به سامانه تجاری پست MCI موافقت نمودو این اتصال در تابستان ۱۹۸۹ برقرارشد. سایر خدمات پست الکترونیکی تجاری (مانند OnTyme,Compuserve,Telemail) نیز به زودی متصل شدند. در آن سال سه ارائه دهنده سرویس اینترنت(ISP) بوجود آمدند: UUNET, PSINet, CERFNET. شبکه‌های جدای مهمی که دروازه‌هایی به سوی اینترنت (که خود بعداً جزئی از آن شدند) می‌گشودند عبارت بودند از: یوزنت, بیت‌نت بسیاری از شبکه‌های متنوع تجاری و آموزشی دیگر همچون Telenet, Tymnet, Compuserve و JANET نیز به اینترنت در حال رشد پیوستند. Telenet - که بعدها Sprintnet نامیده شد - یک شبکه رایانه‌ای ملی خصوصی بود که از ۱۹۷۰ کار خود را آغاز کرده بود و امکان دسترسی با شماره‌گیری (به انگلیسی: Dial-up Access) را به صورت رایگان در شهرهایی در سراسر امریکا فراهم ساخته بود. این شبکه سرانجام در دهه ۱۹۸۰، با محبوبیت روزافزون TCP/IP به سایرین متصل شد. فابلیت TCP/IP برای کار با هر نوع شبکه ارتباطی از پیش موجود، سبب رشد آسانتر آن می‌گشت؛ اگر چه که رشد سریع اینترنت در وهله اول ناشی از در دسترس بودن مسبریابهای استاندارد تجاری از طرف بسیاری از شرکتها، در دسترس بودن تجهیزات تجاری اترنت(به انگلیسی: Ethernet) برای ساخت شبکه‌های محلی و پیاده‌سازیهای گسترده و استانداردسازی TCP/IP در یونیکس(به انگلیسی: Unix) و بسیاری سیستم عاملهای دیگر بود.

اگرچه بسیاری از کاربردها و رهنمودهایی که اینترنت را ممکن ساخت به مدت تقریباً دو دهه وجو داشتند، امااین شبکه تا دهه ۱۹۹۰ هنوز چهره‌ای همگانی نداشت. در ششم آگوست ۱۹۹۱، سرن - سازمان اروپایی پژوهش در باره ذرات - پروژه وب جهان گستر(World Wide Web) را به اطلاع عموم رساند. وب توسط دانشمندی انگلیسی به نام تیم برنرز لی(به انگلیسی: Sir Tim Berners-Lee) در سال ۱۹۸۹ اختراع شد. یکی از مرورگرهای وب محبوب اولیه ViolaWWW بود که از روی هایپرکارت الگوبرداری شده بود و از سامانه پنجره ایکس(به انگلیسی: X Window System) استفاده می‌کرد. سرانجام این مرورگر جای خود را در محبوبیت به مرورگرموزاییک (به انگلیسی: Mosaic) داد. در سال ۱۹۹۳ مرکزملی کاربردهای ابررایانش امریکا (به انگلیسی: National Center for Supercomputing Applications) دردانشگاه ایلینوی اولین نسخه از موزاییک را منتشر کرد و تا اواخر سال ۱۹۹۴ علاقه عمومی به اینترنتی که پیش از این آموزشی و تخصصی بود، گسترش فراوانی یافته بود. در سال ۱۹۹۶ استفاده از واژه اینترنت معمول شد و مجازا برای اشاره به وب هم استفاده شد. در همین هنگام، در گذر این دهه، اینترنت بسیاری از شبکه‌های رایانه‌ای عمومی از پیش موجود را در خود جا داد (اگر چه برخی مثل FidoNet همپنان جداماندند). آنچنانکه تخمین زده شده‌است، در دهه ۹۰ در هرسال اینترنت رشدی صددرصدی نسبت به سال قبل خود داشته‌است و در سالهای ۱۹۹۶و۱۹۹۷ نیز دوره‌های کوتاهی از رشد انفجاری داشته‌است. این میزان رشد به خصوصیت عدم کنترل مرکزی اینترنت که امکان رشد اندامی شبکه را فراهم می‌سازد نسبت داده‌اند و همچنین به ماهیت بازوغیراختصاصی پروتکلهای اینترنت که امکان برقراری سازگاری و همکاری میان فروشندگان مختلف و عدم توانایی یک شرکت برای اعمال کنترل بیش از حد بر روی شبکه را سبب می‌شود.. جمعیت تخمینی کاربران اینترنت مطابق آمار سی ام ژوئیه ۲۰۰۹، ۱٫۶۷ میلیارد نفراست.
page1 - page2 - page3 - page4 - page5 - page7 - page8 - | 8:34 pm
خط مشی جاوا

یکی از ویژگی‌های جاوا قابل حمل بودن آن است. یعنی برنامهٔ نوشته شده به زبان جاوا باید به طور مشابهی در کامپیوترهای مختلف با سخت‌افزارهای متفاوت اجرا شود. و باید این توانایی را داشته باشد که برنامه یک بار نوشته شود، یک بار کامپایل شود و در همه کامپیوترها اجرا گردد. به این صورت که کد کامپایل شدهٔ جاوا را ذخیره می‌کند، اما نه به‌صورت کد ماشین بلکه به‌صورت بایت‌کد جاوا. دستورالعمل‌ها شبیه کد ماشین هستند، اما با ماشین‌های مجازی که به طور خاص برای سخت‌افزارهای مختلف نوشته شده‌اند، اجرا می‌شوند. در نهایت کاربر از سکوی جاوا نصب شده روی ماشین خود یا مرورگر وب استفاده می‌کند. کتابخانه‌های استاندارد یک راه عمومی برای دسترسی به ویژگی‌های خاص فراهم می‌کنند. مانند گرافیک، نخ‌کشی و شبکه. در بعضی از نسخه‌های ماشین مجازی جاوا، بایت‌کدها می‌توانند قبل و در زمان اجرای برنامه به کدهای محلی کامپایل شوند. فایدهٔ اصلی استفاده از بایت‌کد، قسمت کردن است. اما ترجمهٔ کلی یعنی برنامه‌های ترجمه شده تقریباً همیشه کندتر از برنامه‌های کامپایل شدهٔ محلی اجرا می‌شوند. این شکاف می‌تواند با چند تکنیک خوش‌بینانه که در کاربردهای JVM قبلی معرفی شد، کم شود. یکی از این تکنیک‌ها JIT است که بایت‌کد جاوا را به کد محلی ترجمه کرده و سپس آن را پنهان می‌کند. در نتیجه برنامه خیلی سریع‌تر نسبت به کدهای ترجمه شدهٔ خالص شروع و اجرا می‌شود. بیشتر VMهای پیشرفته، به‌صورت کامپایل مجدد پویا، در آنالیز VM، رفتار برنامهٔ اجرا شده و کامپایل مجدد انتخاب شده و بهینه‌سازی قسمت‌های برنامه، استفاده می‌شوند. کامپایل مجدد پویا می‌تواند کامپایل ایستا را بهینه‌سازی کند. زیرا می‌تواند قسمت hot spot برنامه و گاهی حلقه‌های داخلی که ممکن است زمان اجرای برنامه را افزایش دهند را تشخیص دهد. کامپایل JIT و کامپایل مجدد پویا به برنامه‌های جاوا اجازه می‌دهد که سرعت اجرای کدهای محلی بدون از دست دادن قابلیت انتقال افزایش پیدا کند.





تکنیک بعدی به عنوان کامپایل ایستا شناخته شده‌است. که کامپایل مستقیم به کدهای محلی است مانند بسیاری از کامپایلرهای قدیمی. کامپایلر ایستای جاوا، بایت‌کدها را به کدهای شی محلی ترجمه می‌کند.

کارایی جاوا نسبت به نسخه‌های اولیه بیشتر شد. در تعدادی از تست‌ها نشان داده شد که کارایی کامپایلرJIT کاملاًَ مشابه کامپایلر محلی شد. عملکرد کامپایلرها لزوماً کارایی کدهای کامپایل شده را نشان نمی‌دهند. یکی از پیشرفت‌های بی نظیر در در زمان اجرای ماشین این بود که خطاها ماشین را دچار اشکال نمی‌کردند. علاوه بر این در زمان اجرای ماشینی مانند جاوا وسایلی وجود دارد که به زمان اجرای ماشین متصل شده و هر زمانی که یک استثنا رخ می‌دهد، اطلاعات اشکال زدایی که در حافظه وجود دارد، ثبت می‌کنند.


پیاده‌سازی
شرکت سان میکروسیستم مجوز رسمی برای پلت فرم استاندارد جاوا را به مایکروسافت ویندوز, لینوکس، و سولاریس (سیستم‌عامل). داده‌است. همچنین محیط‌های دیگری برای دیگر پلت فرم‌ها فراهم آورده‌است. علامت تجاری مجوز شرکت سان میکروسیستم طوری بود که با همهٔ پیاده‌سازی‌ها سازگار باشد. به علت اختلاف قانونی که با ماکروسافت پیدا کرد، زمانی که شرکت سان ادعا کرد که پیاده‌سازی ماکروسافت از RMI یا JNI پشتیبانی نکرده و ویژگی‌های خاصی را برای خودش اضافه کرده‌است. شرکت سان در سال ۱۹۹۷ پیگیری قانونی کرد و در سال ۲۰۰۱ در توافقی ۲۰ میلیون دلاری برنده شد. در نتیجه کمی بعدماکروسافت جاوا را به ویندوز فرستاد. در نسخهٔ اخیر ویندوز، مرورگر اینترنت نمی‌تواند از جاوا پلت فرم پشتیبانی کند. شرکت سان و دیگران یک سیستم اجرای جاوای رایگان برای آنها و نسخه‌های دیگر ویندوز فراهم آوردند.
اداره خودکار حافظه

جاوا از حافظهٔ بازیافتی خودکار برای ادارهٔ حافظه در چرخهٔ زندگی یک شی استفاده می‌کند. برنامه‌نویس زمانی که اشیا به وجود می‌آیند، این حافظه را تعیین می‌کند. و در زمان اجرا نیز، زمانی که این اشیا در استفادهٔ زیاد طولانی نباشند، برنامه نویس مسئول بازگرداندن این حافظه‌است. زمانی که مرجعی برای شی‌های باقی‌مانده نیست، شی‌های غیر قابل دسترس برای آزاد شدن به صورت خودکار توسط بازیافت حافظه، انتخاب می‌شوند. اگر برنامه‌نویس مقداری از حافظه را برای شی‌هایی که زیاد طولانی نیستند، نگه دارد، چیزهایی شبیه سوراخ حافظه اتفاق می‌افتند.

یکی از عقایدی که پشت سر مدل ادارهٔ حافظهٔ خودکار جاوا وجود دارد، این است که برنامه‌نویس هزینهٔ اجرای ادارهٔ دستی حافظه را نادیده می‌گیرد. در بعضی از زبان‌ها حافظه لازم برای ایجاد یک شی، به صورت ضمنی و بدون شرط، به پشته تخصیص داده می‌شود. و یا به‌طور صریح اختصاص داده شده و از heap بازگردانده می‌شود. در هر کدام از این راه‌ها، مسئولیت ادارهٔ اقامت حافظه با برنامه‌نویس است. اگر برنامه شی را برنگرداند، سوراخ حافظه اتفاق می‌افتد. اگر برنامه تلاش کند به حافظه‌ای را که هم‌اکنون بازگردانده شده، دستیابی پیدا کند یا برگرداند، نتیجه تعریف شده نیست و ممکن است برنامه بی‌ثبات شده و یا تخریب شود. این ممکن است با استفاده از اشاره‌گر مدتی باقی بماند، اما سرباری و پیچیدگی برنامه زیاد می‌شود. بازیافت حافظه اجازه دارد در هر زمانی اتفاق بیفتد. به‌طوری که این زمانی اتفاق می‌افتد که برنامه بی‌کار باشد. اگر حافظهٔ خالی کافی برای تخصیص شی جدید در هیپ وجود نداشته باشد، ممکن است برنامه برای چند دقیقه متوقف شود. در جایی که زمان پاسخ یا اجرا مهم باشد، ادارهٔ حافظه و منابع اشیا استفاده می‌شوند.

جاوا از نوع اشاره‌گر ریاضی C و ++C پشتیبانی نمی‌کند. در جایی که آدرس اشیا و اعداد صحیح می‌توانند به جای هم استفاده شوند. همانند ++C و بعضی زبان‌های شی‌گرای دیگر، متغیرهای نوع‌های اولیهٔ جاوا شی‌گرا نبودند. مقدار نوع‌های اولیه، مستقیماً در فیلدها ذخیره می‌شوند. در فیلدها (برای اشیا) و در پشته (برای توابع)، بیشتر از هیپ استفاده می‌شود. این یک تصمیم هوشیارانه توسط طراح جاوا برای اجرا است. به همین دلیل جاوا یک زبان شی‌گرای خالص به حساب نمی‌آید.

گرامر
گرامر جاوا وسیع‌تر از ++C است و برخلاف ++C که ترکیبی است از ساختارها و شی‌گرایی، زبان جاوا یک زبان شی‌گرای خالص می‌باشد. فقط نوع دادة اصلی از این قاعده مستثنی است. جاوا بسیاری از ویژگی‌ها را پشتیبانی می‌کند و از کلاس‌ها برای ساده‌تر کردن برنامه‌نویسی و کاهش خطا استفاده می‌کند.



بر طبق قرارداد فایل هل بعد از کلاس‌های عمومی نام گذاری می‌شوند. سپس باید پسوند java را به این صورت اضافه کرد: Hello world.java. این فایل اول باید با استفاده از کامپایلر جاوا به بایت کد کامپایل شود. در نتیجه فایل Hello world.class ایجاد می‌شود. این فایل قابل اجرا است. فایل جاوا ممکن است فقط یک کلاس عمومی داشته باشد. اما می‌تواند شامل چندین کلاس با دستیابی عمومی کمتر باشد.

کلاسی که به صورت خصوصی تعریف می‌شود ممکن است در فایل.java ذخیره شود. کامپایلر برای هر کلاسی که در فایل اصلی تعریف می‌شود یک کلاس فایل تولید می‌کند. که نام این کلاس فایل همنام کلاس است با پسوند.class

کلمه کلیدی public (عمومی) برای قسمت‌هایی که می‌توانند از کدهای کلاس‌های دیگر صدا زده بشوند، به کار برده می‌شود. کلمهٔ کلیدی static (ایستا) در جلوی یک تابع، یک تابع ایستا را که فقط وابسته به کلاس است و نه قابل استفاده برای نمونه‌هایی از کلاس، نشان می‌دهد. فقط تابع‌های ایستا می‌توانند توسط اشیا بدون مرجع صدا زده شوند. داده‌های ایستا به متغیرهایی که ایستا نیستند، نمی‌توانند دسترسی داشته باشند.

کلمهٔ کلیدی void (تهی) نشان می‌دهد که تابع main هیچ مقداری را بر نمی‌گرداند. اگر برنامهٔ جاوا بخواهد با خطا از برنامه خارج شود، باید system.exit() صدا زده شود. کلمهٔ main یک کلمهٔ کلیدی در زبان جاوا نیست. این نام واقعی تابعی است که جاوا برای فرستادن کنترل به برنامه، صدا می‌زند. برنامه جاوا ممکن است شامل چندین کلاس باشد که هر کدام دارای تابع main هستند.

تابع main باید آرایه‌ای از اشیا رشته‌ای را بپذیرد. تابع main می‌تواند از آرگومان‌های متغیر به شکل public static void main(string…args) استفاده کند که به تابع main اجازه می‌دهد اعدادی دلخواه از اشیا رشته‌ای را فراخوانی کند. پارامترstring[]args آرایه‌ای از اشیا رشته ایست که شامل تمام آرگومان‌هایی که به کلاس فرستاده می‌شود، است.

چاپ کردن، قسمتی از کتابخانهٔ استاندارد جاوا است. کلاس سیستم یک فیلد استاتیک عمومی به نام out تعریف کرده‌است. شی out یک نمونه از کلاس printstream است و شامل تعداد زیادی تابع برای چاپ کردن اطلاعات در خروجی استاندارد است. همچنین شامل println(string) برای اضافه کردن یک خط جدید برای رشتهٔ فرستاده شده اضافه می‌کند.
توزیع‌های جاوا

منظور از توزیع جاوا پیاده‌سازی‌های مختلفی است که برای کامپایلر جاوا و همچنین مجموعه کتابخانه‌های استاندارد زبان جاوا (JDK) وجود دارد. در حال حاضر چهار توزیع‌کنندهٔ عمده جاوا وجود دارند:

سان میکروسیستمز: توزیع کننده اصلی جاوا و مبدع آن می‌باشد. در اکثر موارد هنگامی که گفته می‌شود جاوا منظور توزیع سان می‌باشد.
GNU Classpath: این توزیع از سوی موسسه نرم‌افزارهای آزاد منتشر شده و تقریباً تمامی کتابخانه استاندارد زبان جاوا در آن بدون بهره‌گیری از توزیع شرکت سان از اول پیاده‌سازی شده‌است. یک کامپایلر به نام GNU Compiler for Java نیز برای کامپایل کردن کدهای جاوا توسط این موسسه ایجاد شده‌است. فلسفه انتخاب نام Classpath برای این پروژه رها کردن تکنولوژی جاوا از وابستگی به علامت تجاری جاوا است بطوریکه هیچ وابستگی یا محدودیتی برای استفاده آن از لحاظ قوانین حقوقی ایجاد نشود و از طرفی به خاطر وجود متغیر محیطی classpath در تمامی محیط‌های احرایی برنامه‌های جاوا، این نام به نوعی تکنولوژی جاوا را برای خواننده القا می‌کند. کامپایلر GNU توانایی ایجاد کد اجرایی (در مقابل بایت کد توزیع سان) را داراست. لازم به ذکر است که در حال حاضر شرکت سان تقریباً تمامی کدهای JDK را تحت مجوز نرم‌افزارهای آزاد به صورت متن باز منتشر کرده‌است و قول انتشار قسمت بسیار کوچکی از این مجموعه را که به‌دلیل استفاده از کدهای شرکت‌های ثانویه نتوانسته به صورت متن باز منتشر نماید در آینده نزدیک با بازنویسی این کدها داده‌است.
مایکروسافت #J: این در حقیقت یک توزیع جاوا نیست. بلکه زبانی مشابه می‌باشد که توسط مایکروسافت و در چارچوب.net ارائه شده‌است. انتظار اینکه در سیستم‌عاملی غیر از ویندوز هم اجرا شود را نداشته باشید.
AspectJ: این نیز یک زبان مجزا نیست. بلکه یک برنامه الحاقی می‌باشد که امکان برنامه نویسی Aspect Oriented را به جاوا می‌افزاید. این برنامه توسط بنیاد برنامه‌نویسی جلوه‌گرا و به صورت کدباز ارائه شده‌است.



کلاس‌های خاص

برنامک (برنامه‌های کاربردی کوچک)

اپلت جاواها برنامه‌هایی هستند که برای کاربردهایی نظیر نمایش در صفحات وب، ایجاد شده‌اند. واژهٔ import باعث می‌شود کامپایلر جاوا کلاس‌های javaapplet.Applet وjava.awt.Graphics را به کامپایل برنامه اضافه کند. کلاس Hello کلاس Applet را توسعه می‌دهد. کلاس اپلت چارچوبی برای کاربردهای گروهی برای نمایش و کنترل چرخهٔ زندگی اپلت، درست می‌کند. کلاس اپلت یک تابع پنجره‌ای مجرد است که برنامه‌های کوچکی با قابلیت نشان دادن واسط گرافیکی برای کاربر را فراهم می‌کند. کلاس Hello تابع موروثی print(Graphics) را از سوپر کلاس container باطل می‌کند، برای اینکه کدی که اپلت را نمایش می‌دهد، فراهم کند. تابع paint شی‌های گرافیکی را که شامل زمینه‌های گرافیکی هستند را می‌فرستد تا برای نمایش اپلت‌ها استفاده شوند. تابع paint برای نمایش "Hello world!" تابع drawstring(string,int,int) را صدا می‌زند.

جاوا سرولت
تکنولوژی servlet جاوا گسترس وب را به آسانی فراهم می‌کند. و شامل مکانیزم‌هایی برای توسعهٔ تابعی سرور وب و برایدسترسی به سیستم‌های تجاری موجود است.servlet قسمتی از javaEE است که به درخواست‌های مشتری پاسخ می‌دهد.

واژهٔ import کامپایلر جاوا را هدایت می‌کند که تمام کلاس‌های عمومی و واسط‌ها را از بسته‌های java.io وjava.servlet را در کامپایل وارد کند.

کلاس Hello کلاس Genericservlet را توسعه می‌دهد. کلاس Genericservlet واسطی برای سرور فراهم می‌کند تا درخواست را به servlet بفرستد و چرخهٔ زندگی servlet را کنترل کند.
JSP
صفحهٔ سرور جاوا قسمتی از سرور javaEE است که پاسخ تولید می‌کند. نوعاً صفحات HTML به درخواست‌های HTTP از مشتری.JSPها کد جاوا در صفحهٔ HTML را با استفاده از حائل <%and%> اضافه می‌کنند.JSP به javaservlet کامپایل می‌شود.

سوینگ
Swing کتابخانهٔ واسط گرافیکی کاربر است برای پلت فرم javaSE. ابزاری مشابه پنجره، GTK و motif توسط شرکت sun فراهم شده‌اند. این مثال کاربرد swing یک پنجرهٔ واحد همراه با Hello world را ایجاد می‌کند.

اولین جملهٔ import کامپایلر جاوا را هدایت می‌کندتا کلاس Borderlayout را از بستهٔ java.awt در جاوا به کامپایل اضافه کند. و import دوم همهٔ کلاس‌های عمومی و واسط آن‌ها را از بستهٔ javax.swing اضافه می‌کند. کلاس Hello کلاس Jframe را توسعه می‌دهد. کلاس Jframe یک پنجره با میلهٔ عنوان و کنترل بستن است.

زمانی که برنامه آغاز می‌شود، تابع main با JVM صدا زده می‌شود. این یک نمونهٔ جدید از کلاس Hello را ایجاد کرده و با صدا زدن تابع setvisible(boolean) با مقدار true نمایش داده می‌شود.
 
ساعت : 8:34 pm | نویسنده : admin | مطلب قبلی | مطلب بعدی
جاوا | next page | next page