کتاب تسلط بر Java NIO.2: ورودی/خروجی کارآمد و سیستم فایل پیشرفته در جاوا با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
تسلط بر Java NIO.2: ورودی/خروجی کارآمد و سیستم فایل پیشرفته در جاوا تسلط بر Java NIO.2: ورودی/خروجی کارآمد و سیستم فایل پیشرفته در جاوا معرفی دوره آیا از کندی و ناکارآمدی عملیات ورودی/خروجی (I/O) در پ...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره تسلط بر Java NIO.2: ورودی/خروجی کارآمد و سیستم فایل پیشرفته در جاوا
موضوع کلی: برنامهنویسی پیشرفته جاوا
موضوع میانی: بهبود کارایی ورودی/خروجی و مدیریت فایلها در جاوا
📋 سرفصلهای دوره
- 1. مقدمهای بر Java NIO.2: چرا به یک API جدید نیاز داشتیم؟
- 2. مقایسه `java.io` و `java.nio`: تفاوتهای کلیدی و مزایا
- 3. آشنایی با مفاهیم اصلی NIO.2: Path، Files و FileSystem
- 4. راهاندازی محیط و اولین برنامه با NIO.2
- 5. معرفی اینترفیس `Path`: جایگزینی مدرن برای کلاس `File`
- 6. ایجاد یک `Path`: روشهای مختلف و بهترین شیوهها
- 7. دریافت اطلاعات اولیه از یک مسیر (Path Information)
- 8. کار با اجزای یک مسیر: نام فایل، والد و ریشه
- 9. نرمالسازی مسیرها با متد `normalize()`
- 10. ترکیب مسیرها: معرفی متد `resolve()`
- 11. ساخت مسیرهای نسبی با متد `relativize()`
- 12. مقایسه مسیرها: `equals()`, `compareTo()`, `startsWith()` و `endsWith()`
- 13. تبدیل بین `Path`, `File`, `String` و `URI`
- 14. مدیریت مسیرهای مطلق و نسبی
- 15. چالشها و نکات کار با مسیرها در سیستمعاملهای مختلف
- 16. مقدمهای بر کلاس `Files`: ابزار همهکاره مدیریت فایل
- 17. بررسی وجود فایلها و دایرکتوریها: `exists()` و `notExists()`
- 18. بررسی دسترسیها: `isReadable()`, `isWritable()` و `isExecutable()`
- 19. بررسی نوع مسیر: `isDirectory()`, `isRegularFile()` و `isSymbolicLink()`
- 20. ایجاد فایلهای جدید با `createFile()`
- 21. ایجاد دایرکتوریهای جدید: `createDirectory()` و `createDirectories()`
- 22. حذف فایلها و دایرکتوریها: متد `delete()` و `deleteIfExists()`
- 23. کپی کردن فایلها با متد `copy()`
- 24. انتقال (تغییر نام) فایلها با متد `move()`
- 25. گزینههای استاندارد کپی و انتقال (`StandardCopyOption`)
- 26. خواندن تمام محتوای یک فایل کوچک به صورت بایت (`readAllBytes`)
- 27. خواندن تمام خطوط یک فایل متنی کوچک (`readAllLines`)
- 28. نوشتن آرایه بایت در یک فایل با متد `write()`
- 29. نوشتن مجموعهای از خطوط در یک فایل متنی
- 30. گزینههای استاندارد باز کردن فایل (`StandardOpenOption`)
- 31. ورودی/خروجی با بافر: استفاده از `newBufferedReader()`
- 32. ورودی/خروجی با بافر: استفاده از `newBufferedWriter()`
- 33. کار با استریمها: `newInputStream()`
- 34. کار با استریمها: `newOutputStream()`
- 35. مقدمهای بر پیمایش دایرکتوریها
- 36. استفاده از `DirectoryStream` برای لیست کردن محتوای دایرکتوری
- 37. فیلتر کردن محتوای دایرکتوری با `DirectoryStream.Filter`
- 38. استفاده از الگوهای Glob برای فیلتر کردن فایلها
- 39. مقدمهای بر پیمایش بازگشتی درخت دایرکتوری
- 40. آشنایی با اینترفیس `FileVisitor`
- 41. پیادهسازی `FileVisitor` برای جستجوی فایلها
- 42. پیمایش درخت فایل با `Files.walkFileTree()`
- 43. کنترل فرآیند پیمایش با `FileVisitResult`
- 44. مدیریت لینکهای سیمبولیک در حین پیمایش
- 45. ایجاد فایلها و دایرکتوریهای موقت
- 46. مقدمهای بر متادیتا و صفات فایل (File Attributes)
- 47. آشنایی با `AttributeView` ها: راهی برای دسترسی به متادیتا
- 48. خواندن صفات پایهای فایل با `BasicFileAttributes`
- 49. درک زمانهای فایل: زمان ایجاد، آخرین دسترسی و آخرین تغییر
- 50. خواندن زمانهای فایل با `readAttributes()`
- 51. تنظیم زمانهای فایل با `setLastModifiedTime()`
- 52. خواندن و تنظیم مالک فایل (`FileOwnerAttributeView`)
- 53. صفات فایل در سیستمهای POSIX: آشنایی با `PosixFileAttributes`
- 54. درک مجوزهای فایل در POSIX (Read, Write, Execute)
- 55. خواندن مجوزهای فایل با `PosixFileAttributeView`
- 56. تنظیم مجوزهای فایل با `setPermissions()`
- 57. صفات فایل در سیستمهای ویندوز: `DosFileAttributes`
- 58. خواندن و تنظیم صفات Read-only, Hidden, System و Archive
- 59. کار با صفات تعریفشده توسط کاربر (`UserDefinedFileAttributeView`)
- 60. مدیریت لینکهای سیمبولیک: `createSymbolicLink()` و `readSymbolicLink()`
- 61. بازگشتی به NIO.1: مفاهیم کانال (Channel) و بافر (Buffer)
- 62. معرفی `Buffer`: کانتینر دادهها
- 63. ویژگیهای کلیدی بافر: Capacity, Limit, Position, Mark
- 64. عملیات اصلی روی بافر: `put()`, `get()`, `flip()`, `rewind()`, `clear()`
- 65. انواع بافرها: `ByteBuffer`, `CharBuffer`, `IntBuffer` و غیره
- 66. بافرهای مستقیم (Direct Buffers) در مقابل بافرهای هیپ (Heap Buffers)
- 67. ایجاد و تخصیص انواع بافرها
- 68. ورودی/خروجی مبتنی بر کانال: معرفی `FileChannel`
- 69. باز کردن `FileChannel` برای خواندن و نوشتن
- 70. خواندن داده از فایل به بافر با `FileChannel.read()`
- 71. نوشتن داده از بافر به فایل با `FileChannel.write()`
- 72. ورودی/خروجی پاشانی/تجمعی (Scatter/Gather I/O)
- 73. انتقال مستقیم داده بین کانالها: `transferTo()` و `transferFrom()`
- 74. فایلهای نگاشتشده در حافظه (Memory-Mapped Files) با `MappedByteBuffer`
- 75. قفلگذاری فایل (File Locking) برای دسترسی همزمان
- 76. مقدمهای بر ورودی/خروجی ناهمزمان (Asynchronous I/O)
- 77. چرا و چه زمانی از AIO استفاده کنیم؟
- 78. دو رویکرد در AIO: `Future` و `CompletionHandler`
- 79. معرفی `AsynchronousFileChannel`
- 80. خواندن ناهمزمان فایل با استفاده از الگوی `Future`
- 81. نوشتن ناهمزمان در فایل با استفاده از الگوی `Future`
- 82. بررسی وضعیت و دریافت نتیجه از یک `Future`
- 83. خواندن ناهمزمان فایل با استفاده از الگوی `CompletionHandler`
- 84. نوشتن ناهمزمان در فایل با استفاده از الگوی `CompletionHandler`
- 85. درک چرخه حیات عملیات ناهمزمان مبتنی بر Callback
- 86. برنامهنویسی شبکه ناهمزمان: `AsynchronousSocketChannel`
- 87. برنامهنویسی شبکه ناهمزمان: `AsynchronousServerSocketChannel`
- 88. مدیریت گروههای کانال ناهمزمان (`AsynchronousChannelGroup`)
- 89. مدیریت Timeout در عملیات AIO
- 90. لغو کردن (Cancelling) عملیات ناهمزمان
- 91. نظارت بر تغییرات سیستم فایل: معرفی `WatchService`
- 92. ثبت یک دایرکتوری برای نظارت با متد `register()`
- 93. انواع رویدادها: `ENTRY_CREATE`, `ENTRY_DELETE`, `ENTRY_MODIFY`
- 94. دریافت و پردازش رویدادهای تغییر با `WatchKey`
- 95. پیادهسازی یک سرویس نظارت بر فایلها در عمل
- 96. کار با سیستمهای فایل فشرده (ZIP/JAR)
- 97. دسترسی به محتوای یک فایل ZIP به عنوان یک FileSystem
- 98. ایجاد و دستکاری فایلهای ZIP با NIO.2
- 99. بهترین شیوهها و الگوهای طراحی برای کار با Java NIO.2
- 100. جمعبندی دوره: ترکیب آموختهها و نگاهی به آینده I/O در جاوا
تگها:
Advanced Java
Asynchronous I/O
Java concurrency
Java File System
Java I/O
Java NIO.2
Java Performance
Java Programming
Pro Java 7 NIO2
برنامه نویسی پیشرفته جاوا
توسعه جاوا
سیستم فایل جاوا
کارایی جاوا
ورودی خروجی جاوا
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.