اگر تا به حال روی یک برنامه تولید واقعی کار کرده باشید، ممکن است متوجه شده باشید که 70 تا 80 درصد مواقع، برنامهها مشغول انجام IO یا خروجی ورودی هستند.
IO به این معنا: خواندن، نوشتن از و به پایگاههای داده، فایلها، دیسکها، فراخوانی برخی APIها و غیره.
چرا اینطور؟ زیرا داده ها باید در جایی باقی بمانند تا در آینده مورد استفاده قرار گیرند. هنگامی که یک برنامه اجرا می شود، داده ها را در RAM بارگیری می کند، اما می دانید که دائمی نیست.
بنابراین، برای عملکرد بهتر برنامه، باید سه چیز را درک کنید؟
1. برای صرفه جویی در CPU
، محاسبات باید به طور موثر انجام شود2. فضا یا RAM باید به طور موثر و کارآمد استفاده شود زیرا محدود و گران است
و سومین و مهمترین چیز
است3. IO باید به روشی کارآمد انجام شود.
چرا من شماره سوم را از همه مهمتر صدا می زنم؟ زیرا اگر به تجربه چندین ساله من در ساخت برنامه های آماده تولید در مقیاس بزرگ اعتقاد دارید، اکثر برنامه ها 70٪ از زمان خود را صرف انجام IO می کنند.
پس در این دوره چه چیزی یاد خواهیم گرفت؟ ما می خواهیم Effective Java IO، NIO و NIO2
را یاد بگیریمو راه جاوا برای مدیریت IO چیست؟
اجازه دهید به سرعت دستور کار دوره را برای شما شرح دهم...
در چند بخش اول دوره... ما یاد خواهیم گرفت ...
اصول I/O و IO کلاسیک
IO در سال 1996 (جاوا 1) معرفی شد.
که نسخه کلاسیک است.
IO در آن زمان بسیار محبوب بود، و سپس سیستمهای مدرن شروع به کارایی بیشتر کردند.
و سپس ارتقاء بعدی IO با نسخه 4 جاوا (2002) ارائه شد که NIO نامیده می شود.
برای افزودن پشتیبانی از IO غیر مسدود برای سیستم عامل های مدرن.
و سپس در سال 2011، عملکردهای جدیدی در Java NIO دریافت کردیم.
اگر با NIO یا موارد غیر مسدود کننده آشنا نیستید، نگران نباشید،
یا حتی برای IO آشنا نیست. ما در این دوره به همه چیز خواهیم پرداخت. ما با io کلاسیک،
شروع خواهیم کرددر اینجا ما در مورد مدیریت فایل، الگوهای اولیه خواندن و نوشتن بایت های خام،
صحبت خواهیم کرد.که با استفاده از InputStream-Output Stream انجام می شود، در مورد نحوه خواندن کاراکترها در حین استفاده از IO کلاسیک صحبت خواهیم کرد، ما Reader و نویسنده هایی برای آن داریم.
و ما در مورد چند چیز مهم دیگر از Classic IO صحبت خواهیم کرد،
ما خواندن و نوشتن دادههای ساختاریافته را یاد میگیریم، به روشی کاملاً مشابه نحوه خواندن و نوشتن در پایگاه داده، برای این کار در مورد جریانهای داده بحث خواهیم کرد.
ما میخواهیم فایل دسترسی تصادفی را برای آن پوشش دهیم.
سپس نحوه خواندن ترکیبی از انواع مختلف داده را بنویسید، به عنوان مثال ترکیبی از بایت ها و کاراکترها.
پس از آن، مفهوم بسیار مهمی به نام سریالسازی-Deserialization را برای ذخیره وضعیت یک شی جاوا مورد بحث قرار خواهیم داد.
و بلافاصله پس از آن، در مورد برخی از موارد کاربردی که از Java IO پشتیبانی می کنند صحبت خواهیم کرد.
هر وقت میگویم IO کلاسیک، منظورم چیزهای زیر بسته io است، اما وقتی میگویم Java IO، شامل هر چیزی است که ورودی-خروجی را پشتیبانی میکند، چه ClassicIO، NIO یا NIO2.
بنابراین، در اینجا برخی از موارد کاربردی را مشاهده خواهید کرد.
مانند اینکه چگونه میتوانیم عملکرد کد خود را بهبود بخشیم، حتی اگر از NIO استفاده نمیکنیم، برای آن در مورد تکنیکهای فشردهسازی بحث خواهیم کرد. تکنیکهای فشردهسازی مختص بسته io نیستند، آنها در زیر بسته util در جاوا 7 اضافه میشوند. ما میتوانیم از فشردهسازی در هر کجا که نیاز باشد استفاده کنیم.
بنابراین، از فشرده سازی برای افزایش عملکرد در حین کار با IO استفاده خواهیم کرد.
ما همچنین در مورد چند کلاس که از io پشتیبانی میکنند و در برنامهنویسی روزانه استفاده میشوند، بحث خواهیم کرد.
بنابراین، این چیزی است که در زیر IO کلاسیک پوشش خواهیم داد.
بعدی NIO می آید.
ما قرار نیست با درک چیستی NIO شروع کنیم، بلکه ابتدا در مورد ابزار مسیر ارائه شده توسط NIO بحث خواهیم کرد. این یک رابط کاربردی است و تقریباً در همه جا استفاده می شود، به نوعی جایگزینی برای فایل ابزار در جاوای امروزی است.
دلیل بحث زودتر آن این است که، قبل از شروع واقعی NIO، با الگوی بسیار ابتدایی Java IO برای دسترسی به فایلها و کار راحت با آنها آشنا میشویم.
سپس به NIO می پریم،
در اینجا ما متوجه خواهیم شد که IO غیر مسدود چیست و
سپس ما برای درک APIهای تحت nio آماده خواهیم بود.
مشاهده خواهد شد که چگونه کار می کنند.
و سپس پیشرفتها و چیزهای جدیدی که با nio2 ارائه شد.
و همه اینها با کدنویسی دستی همراه خواهد بود. اکیداً توصیه می کنم اگر می خواهید چیزها را بهتر درک کنید، همراه من برنامه ریزی کنید. ما قرار است برنامه های زیادی بنویسیم!!
هنوز شک دارید؟ نگران نباشید این دوره با 30 روز ضمانت بازگشت وجه ارائه می شود! بنابراین اگر راضی نیستید می توانید دوره را برگردانید.
اگر می خواهید یک برنامه نویس بزرگ جاوا شوید.. این یک چیز است که باید برای شما یاد بگیرید و من قویاً معتقدم که پس از اتمام دوره می توانید برنامه های کارآمدی از نظر IO بنویسید.
دوباره به سفر خوش آمدید شما را در دوره می بینم...
تیم تکنوکرات ها و دوستداران برنامه نویسی
نمایش نظرات