شما میخواهید به عنوان یک توسعه دهنده جاوا دانش خود را عمیقتر کنید. این دوره به شما جاوا 17 را فراتر از اصول اولیه آموزش میدهد و میآموزید که چگونه از رکوردها، کلاسهای مهر و موم شده، عبارات لامبدا، حاشیه نویسیها، ژنریکها و سایر ویژگیهای جاوا به طور موثر استفاده کنید.
آنچه میآموزید:
برای رشد بهعنوان یک توسعهدهنده جاوا، باید همه ابزارهایی را که جاوا در اختیار شما قرار میدهد، درک کنید و بتوانید از آنها استفاده کنید. در این دوره آموزشی، Java SE 17 Advanced Language Features، یاد میگیرید که چگونه از ویژگیهای جاوا که فراتر از اصول اولیه هستند استفاده کنید. ابتدا یاد میگیرید که چگونه یک مدل دامنه با رکوردها و کلاسهای مهر و موم شده بسازید و کلاسها و رابطهای پیشرفته را بررسی کنید. در مرحله بعد، استفاده پیشرفته از ژنریکها را یاد خواهید گرفت. در نهایت، درک عمیقتری از عبارات لامبدا، نوشتن حاشیهنویسیهای خود، استفاده از اختیاری، و سعی با منابع به دست خواهید آورد. وقتی این دوره را به پایان رساندید، مهارتها و دانش جاوای پیشرفته مورد نیاز برای کار بر روی هر پروژه توسعه نرمافزار جاوا را به طور موثر و حرفهای خواهید داشت.
نمونه ویدیوی آموزشی ( زیرنویسها جدا از ویدیو است و میتوانید آنرا نمایش ندهید ) :
[ENGLISH]
01 Course Overview [2mins]
01-01 Course Overview [2mins]
01-02 Sandbox [0mins]
02 Records [59mins]
02-01 Course Introduction [5mins]
02-02 Immutable Data Objects [6mins]
02-03 Immutable Classes and Records [3mins]
02-04 Checkpoint 01 - Make a Class Immutable [0mins]
02-05 Creating a Record [3mins]
02-06 Overriding Accessor Methods [4mins]
02-07 Automatically Generated Object Methods [2mins]
02-08 The Canonical Constructor [6mins]
02-09 Checkpoint 02 - Make a Record Fully Immutable [0mins]
02-10 The Compact Constructor [2mins]
02-11 Checkpoint 03 - Add a Constructor to a Record [0mins]
02-12 Additional Constructors [4mins]
02-13 The Class Hierarchy of Records [1mins]
02-14 Practical Use Cases for Records [9mins]
02-15 Building Records with the Builder Pattern [4mins]
02-16 Exercise 01 - Create a Builder for a Record [0mins]
02-17 Adding Wither Methods to Records [7mins]
02-18 Exercise 02 - Create Wither Methods for a Record [0mins]
02-19 Module Summary [3mins]
03 Sealed Classes and Interfaces [22mins]
03-01 Controlling Class Hierarchies with Sealed Classes and Interfaces [3mins]
03-02 The Rules of Sealed Classes and Interfaces [5mins]
03-03 Sealed Classes and Interfaces in Practice [3mins]
03-04 Algebraic Data Types with Sealed Interfaces and Records [8mins]
03-05 Module Summary [3mins]
03-06 Exercise 03 - Use a Sealed Interface and Records [0mins]
04 Advanced Classes and Interfaces [47mins]
04-01 Nested Types [4mins]
04-02 Static Nested Classes [6mins]
04-03 Checkpoint 05 - Write a Static Nested Class [0mins]
04-04 Inner Classes [7mins]
04-05 Checkpoint 06 - Create an Instance of an Inner Class [0mins]
04-06 Exercise 04 - Accessing Shadowed Members [0mins]
04-07 Nested Interfaces, Records, and Enums [2mins]
04-08 Local Types [8mins]
04-09 Anonymous Classes [6mins]
04-10 Checkpoint 07 - Write an Anonymous Inner Class [0mins]
04-11 Default, Private, and Static Methods in Interfaces [5mins]
04-12 Static Initializer Blocks [3mins]
04-13 Instance Initializer Blocks [2mins]
04-14 Module Summary [4mins]
05 Advanced Generics [91mins]
05-01 Overview [2mins]
05-02 Example: Defining Generic Types [6mins]
05-03 Explanation: Defining Generic Types [8mins]
05-04 Checkpoint 08 - Make a Class Generic [0mins]
05-05 Defining Generic Methods [7mins]
05-06 Exercise 05 - Write a Generic Method [0mins]
05-07 Bounded Type Parameters [4mins]
05-08 Multiple Type Parameter Bounds [4mins]
05-09 Raw Types [2mins]
05-10 Generics and Inheritance [4mins]
05-11 Wildcards [4mins]
05-12 Wildcard Capture [6mins]
05-13 Using Wildcards in Practice [6mins]
05-14 Understanding Wildcards in Method Signatures [6mins]
05-15 Exercise 06 - Use Wildcards in a Method Signature [0mins]
05-16 Type Erasure [4mins]
05-17 Limitations Caused by Type Erasure [4mins]
05-18 Heap Pollution [5mins]
05-19 Generics and Arrays [5mins]
05-20 Generics and Variable Arguments [8mins]
05-21 Module Summary [6mins]
06 Lambda Expressions and Method References [40mins]
06-01 Quick Review of Lambda Expressions [6mins]
06-02 Functional Interfaces [5mins]
06-03 Standard Functional Interfaces [5mins]
06-04 Capturing Local Variables in Lambda Expressions [2mins]
06-05 Functional Programming with Lambda Expressions [6mins]
06-06 Working with Checked Exceptions in Lambda Expressions [4mins]
06-07 Method References [8mins]
06-08 Checkpoint 09 - Use a Lambda and Method Reference [0mins]
06-09 Module Summary [4mins]
07 Annotations [33mins]
07-01 Use Cases for Annotations [3mins]
07-02 Declaration Annotations and Type Annotations [4mins]
07-03 Defining an Annotation [8mins]
07-04 Using Meta-annotations [10mins]
07-05 Inspecting Annotations at Runtime [5mins]
07-06 Module Summary [3mins]
07-07 Checkpoint 10 - Define an Annotation [0mins]
08 Optional [20mins]
08-01 Optional as an Alternative to Null [5mins]
08-02 Using Optional in Practice [7mins]
08-03 Functional Programming with Optional [6mins]
08-04 Module Summary [2mins]
08-05 Checkpoint 11 - Rewrite a Method to Use Optional [0mins]
08-06 Exercise 07 - Working with Streams and Optional [0mins]
09 Try-with-resources and AutoCloseable [25mins]
09-01 Working with Resources and Handling Exceptions [6mins]
09-02 Syntax of Try-with-resources [3mins]
09-03 How Try-with-resources Works [7mins]
09-04 Checkpoint 12 - Use try-with-resources [0mins]
09-05 Implementing AutoCloseable in Practice [6mins]
09-06 Exercise 08 - Implement Interface AutoCloseable [0mins]
09-07 Module and Course Summary [3mins]
[فارسی]
01 بررسی اجمالی دوره [2 دقیقه]
01-01 بررسی اجمالی دوره [2 دقیقه]
01-02 Sandbox [0 دقیقه]
02 رکوردها [59 دقیقه]
02-01 معرفی دوره [5 دقیقه]
02-02 اشیاء دادههای تغییرناپذیر [6 دقیقه]
02-03 کلاسها و رکوردهای تغییرناپذیر [3 دقیقه]
02-04 ایست بازرسی 01 - یک کلاس را غیرقابل تغییر کنید [0 دقیقه]
02-05 ایجاد یک رکورد [3 دقیقه]
02-06 نادیده گرفتن روشهای دسترسی [4 دقیقه]
02-07 روشهای تولید خودکار شیء [2 دقیقه]
02-08 The Canonical Constructor [6 دقیقه]
02-09 ایست بازرسی 02 - یک رکورد را کاملاً تغییرناپذیر کنید [0 دقیقه]
02-10 The Compact Constructor [2 دقیقه]
02-11 نقطه بازرسی 03 - افزودن سازنده به رکورد [0 دقیقه]
02-12 سازندگان اضافی [4 دقیقه]
02-13 سلسله مراتب کلاسی رکوردها [1 دقیقه]
02-14 موارد استفاده عملی برای رکوردها [9 دقیقه]
02-15 ثبت رکورد با الگوی سازنده [4 دقیقه]
02-16 تمرین 01 - ایجاد یک سازنده برای رکورد [0 دقیقه]
02-17 افزودن روشهای ویدر به رکوردها [7 دقیقه]
02-18 تمرین 02 - ایجاد روشهای ویدر برای رکورد [0 دقیقه]
02-19 خلاصه ماژول [3 دقیقه]
03 کلاسها و رابطهای مهر و موم شده [22 دقیقه]
03-01 کنترل سلسله مراتب کلاسها با کلاسها و رابطهای مهر و موم شده [3 دقیقه]
03-02 قوانین کلاسها و رابطهای مهر و موم شده [5 دقیقه]
03-03 کلاسها و رابطهای مهر و موم شده در عمل [3 دقیقه]
03-04 انواع دادههای جبری با رابطها و سوابق مهر و موم شده [8 دقیقه]
03-05 خلاصه ماژول [3 دقیقه]
03-06 تمرین 03 - از یک رابط مهر و موم شده و سوابق استفاده کنید [0 دقیقه]
04 کلاسها و رابطهای پیشرفته [47 دقیقه]
04-01 انواع تو در تو [4 دقیقه]
04-02 کلاسهای تودرتو ایستا [6 دقیقه]
04-03 نقطه بازرسی 05 - یک کلاس تودرتو ایستا بنویسید [0 دقیقه]
04-04 کلاسهای داخلی [7 دقیقه]
04-05 نقطه بازرسی 06 - یک نمونه از یک کلاس داخلی ایجاد کنید [0 دقیقه]
04-06 تمرین 04 - دسترسی به اعضای سایه دار [0 دقیقه]
04-07 رابطهای تودرتو، رکوردها و فهرستها [2 دقیقه]
04-08 انواع محلی [8 دقیقه]
04-09 کلاسهای ناشناس [6 دقیقه]
04-10 ایست بازرسی 07 - یک کلاس داخلی ناشناس بنویسید [0 دقیقه]
04-11 روشهای پیشفرض، خصوصی و استاتیک در رابطها [5 دقیقه]
04-12 بلوکهای آغازگر استاتیک [3 دقیقه]
04-13 Instance Initializer Blocks [2 دقیقه]
04-14 خلاصه ماژول [4 دقیقه]
05 ژنریک پیشرفته [91 دقیقه]
05-01 نمای کلی [2 دقیقه]
05-02 مثال- تعریف انواع عمومی [6 دقیقه]
05-03 توضیح- تعریف انواع عمومی [8 دقیقه]
05-04 ایست بازرسی 08 - کلاس را عمومی کنید [0 دقیقه]
05-05 تعریف روشهای عمومی [7 دقیقه]
05-06 تمرین 05 - یک روش عمومی بنویسید [0 دقیقه]
05-07 پارامترهای نوع محدود [4 دقیقه]
05-08 محدوده پارامترهای چندگانه [4 دقیقه]
05-09 انواع خام [2 دقیقه]
05-10 ژنریک و وراثت [4 دقیقه]
05-11 عجایب [4 دقیقه]
05-12 عکسبرداری با حروف عام [6 دقیقه]
05-13 استفاده از حروف عام در تمرین [6 دقیقه]
05-14 درک حروف عام در روش امضاها [6 دقیقه]
05-15 تمرین 06 - استفاده از حروف عام در امضای روش [0 دقیقه]
05-16 تایپ پاک کردن [4 دقیقه]
05-17 محدودیتهای ناشی از پاک کردن نوع [4 دقیقه]
05-18 آلودگی هیپ [5 دقیقه]
05-19 ژنریکها و آرایهها [5 دقیقه]
05-20 ژنریک و آرگومانهای متغیر [8 دقیقه]
05-21 خلاصه ماژول [6 دقیقه]
06 عبارات لامبدا و مراجع روش [40 دقیقه]
06-01 بررسی سریع عبارات لامبدا [6 دقیقه]
06-02 رابطهای کاربردی [5 دقیقه]
06-03 رابطهای عملکردی استاندارد [5 دقیقه]
06-04 گرفتن متغیرهای محلی در عبارات لامبدا [2 دقیقه]
06-05 برنامه نویسی تابعی با عبارات لامبدا [6 دقیقه]
06-06 کار با استثناهای بررسی شده در عبارات لامبدا [4 دقیقه]
06-07 مراجع روش [8 دقیقه]
06-08 ایست بازرسی 09 - از مرجع لامبدا و روش استفاده کنید [0 دقیقه]
06-09 خلاصه ماژول [4 دقیقه]
07 حاشیه نویسی [33 دقیقه]
07-01 استفاده از موارد برای حاشیه نویسی [3 دقیقه]
07-02 حاشیه نویسی اعلامیه و حاشیه نویسی نوع [4 دقیقه]
07-03 تعریف یک حاشیه نویسی [8 دقیقه]
07-04 استفاده از متا حاشیه نویسی [10 دقیقه]
07-05 بررسی حاشیه نویسیها در زمان اجرا [5 دقیقه]
07-06 خلاصه ماژول [3 دقیقه]
07-07 نقطه بازرسی 10 - یک حاشیه نویسی تعریف کنید [0 دقیقه]
08 اختیاری [20 دقیقه]
08-01 اختیاری به عنوان یک جایگزین برای نول [5 دقیقه]
08-02 استفاده از اختیاری در تمرین [7 دقیقه]
08-03 برنامه نویسی کاربردی با اختیاری [6 دقیقه]
08-04 خلاصه ماژول [2 دقیقه]
08-05 نقطه بازرسی 11 - بازنویسی روشی برای استفاده اختیاری [0 دقیقه]
08-06 تمرین 07 - کار با جریان و اختیاری [0 دقیقه]
09 سعی کنید با منابع و بسته شدن خودکار [25 دقیقه]
09-01 کار با منابع و مدیریت استثناها [6 دقیقه]
09-02 سینتکس Try-with-Resources [3 دقیقه]
09-03 نحوه عملکرد Try-with-Resources [7 دقیقه]
09-04 نقطه بازرسی 12 - استفاده از try-with-sources [0 دقیقه]
09-05 پیادهسازی بسته شدن خودکار در عمل [6 دقیقه]
09-06 تمرین 08 - پیادهسازی رابط با قابلیت بسته شدن خودکار [0 دقیقه]
09-07 خلاصه ماژول و دوره [3 دقیقه]
Jesper یک توسعه دهنده نرمافزار مستقل با تجربه است. او نرمافزار کارآمد و باکیفیت را در جاوا و سایر زبانهای JVM طراحی و میسازد. او عاشق خلاقیت اختراع و ساختن سیستمهای نرمافزاری است و دوست دارد آموزش دهد و دانش خود را با دیگر توسعه دهندگان به اشتراک بگذارد تا به آنها کمک کند کدی تمیز، کارآمد، با طراحی خوب و قابل نگهداری بنویسند.