آموزش ورودی/خروجی کارآمد با استفاده از JAVA IO، NIO و NIO2

Efficient Input/Output using JAVA IO, NIO and NIO2

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: آموزش نوشتن عملیات IO غیر مسدود کننده با کارایی بالا در Java Java IO JAVA NIO JAVA NIO2 ورودی/خروجی جاوا پیش نیازها:Basics Java Programming

اگر تا به حال روی یک برنامه تولید واقعی کار کرده باشید، ممکن است متوجه شده باشید که 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 بنویسید.

دوباره به سفر خوش آمدید شما را در دوره می بینم...


سرفصل ها و درس ها

معرفی Introduction

  • معرفی Introduction

شروع کار با IO Getting Started With IO

  • پیش نیازهای دوره Course Prerequisites

  • IO چیست؟ What is IO?

  • نقشه ذهنی Mind-Map

API فایل File API

  • معرفی Introduction

  • شی فایل File Object

  • کار با File Object Working with File Object

  • خلاصه Summary

بایت استریم Byte Streams

  • بایت استریم چیست؟ What are Byte Streams?

  • نقشه ذهنی Mind-Map

  • FileInputStream - FileOutputStream FileInputStream - FileOutputStream

  • جریان های بایتی در حافظه In-memory Byte Streams

  • نسخه نمایشی بایت استریم Byte Stream Demo

  • رسیدگی به استثناها Handling Exceptions

  • جریان های لوله کشی شده Piped Streams

  • نسخه نمایشی جریان لوله Piped Stream Demo

  • سکانس جریان Sequence Streams

  • دنباله جریان نسخه ی نمایشی Sequence Stream Demo

  • StringBufferInputStream StringBufferInputStream

  • فیلتر جریان ها Filter Streams

  • جریان های بافر شده Buffered Streams

  • نسخه نمایشی جریان بافر Buffered Stream Demo

  • الگوی دکوراتور The Decorator Pattern

  • Pushback Streams Pushback Streams

  • PushBack Stream Demo PushBack Stream Demo

  • LineNumberInputStream LineNumberInputStream

  • PrintStream PrintStream

  • نسخه نمایشی جریان را چاپ کنید Print Stream Demo

  • شستشو و بسته شدن منابع Flushing and Closing Resources

  • خلاصه Summary

جریان شخصیت Character Streams

  • جریان شخصیت چیست؟ What are Character Streams?

  • مجموعه حروف و رمزگذاری کاراکترها Charsets And Character Encodings

  • نقشه ذهنی و عملیات اساسی Mind-Map and Basic Operations

  • FileReader FileWriter and Practices FileReader FileWriter And Practices

  • خواندن نوشتن کاراکتر به کاراکتر Reading Writing char by char

  • خواندن نوشتن از طریق بافر Reading Writing Through Buffer

  • خواندن نوشتن از طریق نسخه نمایشی بافر Reading Writing Through Buffer Demo

  • رد شدن از تنظیم مجدد علامت گذاری Skipping Marking Resetting

  • پرش از علامت گذاری بازنشانی نسخه نمایشی Skipping Marking Resetting Demo

  • عملیات نویسنده Writer Operations

  • CharArrayReader و CharArrayWriter CharArrayReader And CharArrayWriter

  • نسخه ی نمایشی CharArrayReader و CharArrayWriter CharArrayReader And CharArrayWriter Demo

  • StringReader StringWriter StringReader StringWriter

  • نسخه نمایشی String Reader Writer String Reader Writer Demo

  • خواننده بافر و نویسنده بافر Buffered Reader And Buffered Writer

  • نسخه ی نمایشی خواننده بافر و نویسنده بافر Buffered Reader and Buffered Writer Demo

  • LineNumberReader LineNumberReader

  • PipedReader PipedWriter PipedReader PipedWriter

  • نسخه ی نمایشی Reader Writer Pipped Pipped Reader Writer Demo

  • FilterReader FilterWriter FilterReader FilterWriter

  • نسخه ی نمایشی فیلتر شده Reader Writer Demo Filtered Reader Writer

  • چاپگر PrintWriter

  • خلاصه Summary

جریان های داده برای داده های ساختاریافته Data Streams For Structured Data

  • جریان های داده - مقدمه و نقشه ذهنی Data Streams - Introduction & Mind-Map

  • DataInputStream - DataOutputStream DataInputStream - DataOutputStream

  • API فایل با دسترسی تصادفی Random Access File API

  • فایل دسترسی تصادفی در عمل Random Access File in Action

  • خلاصه Summary

جریان های شی - سریال سازی Object Streams - Serialization

  • معرفی Introduction

  • درک سریال سازی Understanding Serialization

  • جریان های شی - برنامه نویسی زنده Object Streams - Live Coding

  • اطلاعات بیشتر درباره سریال سازی More About Serialization

  • خلاصه Summary

سریال سازی فراگیر - خارجی سازی Overriding Serialization - Externalization

  • معرفی Introduction

  • نیاز به سریال سازی بیش از حد Need Of Overriding Serialization

  • readObject() & writeObject() readObject() & writeObject()

  • خارجی سازی Externalization

  • استفاده از اشیاء پروکسی Using Proxy Objects

  • خلاصه Summary

خواندن نوشتن با جریان های ترکیبی Reading Writing With Hybrid Streams

  • مقدمه و نقشه ذهنی Introduction And Mind-Map

  • راه اندازی Use-Case Setting Up The Use-Case

  • نوشتن به جریان ترکیبی Writing to Hybrid Stream

  • خواندن از جریان ترکیبی Reading From Hybrid Stream

  • خلاصه Summary

گزینه های خواندن و نوشتن بیشتر که از IO پشتیبانی می کنند More Reading-Writing Options That Support IO

  • مقدمه و نقشه ذهنی Introduction And Mind-Map

  • جریان های استاندارد Standard Streams

  • کنسول Console

  • اسکنر Scanner

  • خلاصه Summary

تکنیک های فشرده سازی برای افزایش عملکرد در حین کار با IO Compression Techniques to Boost Performance while Working with IO

  • معرفی Introduction

  • فرمت GZIP GZIP Format

  • نسخه ی نمایشی GZIP GZIP Demo

  • فرمت ZIP ZIP Format

  • نسخه نمایشی ZIP ZIP Demo

  • خلاصه Summary

ابزار مسیر، مسیرها و فایل ها Path, Paths And Files Utility

  • معرفی Introduction

  • مسیر | فایل در مقابل مسیر Path | File vs Path

  • Path API. - قابلیت ها (مسیر، مسیرها، فایل ها) Path API. - Functionalities (Path, Paths, Files)

  • خلاصه Summary

IO غیر مسدود کننده (NIO) Non Blocking IO (NIO)

  • NIO - مقدمه NIO - Introduction

  • نقشه ذهنی Mind-Map

  • کانال ها Channels

  • بافرها Buffers

  • استفاده از کانال ها و بافرها Using Channels and Buffers

  • استفاده از کانال ها و بافرها 2 Using channels and Buffers 2

  • MappedByteBuffer MappedByteBuffer

  • Charsets و CharBuffers Charsets and CharBuffers

  • Charsets و charBuffers در عمل Charsets and charBuffers in Action

  • عملیات Async با استفاده از انتخابگرها Async Operations using Selectors

  • عملیات همگام سازی با استفاده از نمایشگر انتخابگرها Async Operation Using Selectors Demo

  • خلاصه Summary

IO-2 غیر مسدود کننده (NIO2) Non Blocking IO-2 (NIO2)

  • NIO2 - مقدمه و نقشه ذهنی NIO2 - Introduction and Mind Map

  • سیستم فایل بهبود یافته Improved File System

  • نسخه ی نمایشی سیستم فایل بهبود یافته Improved File System Demo

  • فهرست بندی و فیلتر کردن محتوای دایرکتوری Listing And Filtering Directory Content

  • قدم زدن در درخت دایرکتوری Walking the Directory Tree

  • بازدید از فهرست یا فایل Visiting Directory Or File

  • بازدید از فهرست یا فایل در عمل Visiting Directory Or File in Action

  • تماشای رویدادهای دایرکتوری Watching Directory Events

  • تماشای رویدادهای فهرست در عمل Watching Directory Events in Action

  • خلاصه Summary

خلاصه و ممنون Summary and Thank you.

  • خلاصه و ممنون Summary and Thank you.

نمایش نظرات

نظری ارسال نشده است.

آموزش ورودی/خروجی کارآمد با استفاده از JAVA IO، NIO و NIO2
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
10 hours
112
Udemy (یودمی) udemy-small
08 مهر 1402 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
675
4.6 از 5
ندارد
دارد
دارد
Basics Strong

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Basics Strong Basics Strong

تیم تکنوکرات ها و دوستداران برنامه نویسی

Udemy (یودمی)

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

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