!Udemy - Java In-Depth: Become a Complete Java Engineer
Update 2020/9
| این دورهٔ آموزشی ارائهشده دورهای جدید، کامل و آپدیتشده است |
| در پلیر موجود در این صفحه، میتوانید ویدئوی مقدمه و آشنایی با آموزشهای این دوره را بهصورت آنلاین تماشا کنید |
توجه داشته باشید که این آموزش تصویری ارائهشده یکی از برترین، پُرامتیازترین، پرفروشترین و تأثیرگذارترین آموزشهای کمپانی Udemy است و در سایت اصلی خود یعنی یودمی، تنها با پرداخت مبلغی بسیار زیاد قابل خریداری و استفاده خواهد بود.
با استفاده از این دورهٔ آموزشی ویدئویی، میتوانید صفر تا صد مهارتها و تکنیکهای اصلی مربوط به برنامهنویسی جاوا را بهطور کامل و کاربردی فرا بگیرید؛ به شکلی که طبق گفتهٔ مدرس همچنین عنوان دوره، پس از اتمام آموزشها و درک کامل مفاهیم تدریس شده، تبدیل به یک مهندس و متخصص تمامعیار جاوا خواهید شد. لازم به ذکر است که برای شروع این دوره و فهمیدن دروس آن، نیازی به دانش و مهارت قبلی در زمینهٴ جاوا یا سایر زبانهای برنامهنویسی ندارید.
فایلهای زیرنویس انگلیسی این دوره نیز به همراه و در کنار ویدئوهای آموزشی ارائه شدهاند و نیازی به دانلود جداگانهٴ آنها نیست.
تولید کننده: Udemy
سطح: مناسب برای همه - از مقدماتی (مبتدی) تا پیشرفته
تاریخ آخرین آپدیت: 2020/9
مدت زمان آموزش: 67 ساعت و 3 دقیقه
زبان آموزش: انگلیسی
زیرنویس انگلیسی: دارد
فرمت فایلهای ویدئویی: MP4
مدرس: Dheeru Mundluru
فهرست کامل سرفصلها و عناوین آموزشی این دوره، به همراه زمان دقیق آنها:
Course Content: 24 Sections | 360 Lectures | 67h 3m Total Length
___________________________________________________
Course Introduction | 3 Lectures | 18min
Why Yet Another Java Course? | 06:53
Course Structure & UI Controls for Site Navigation | 10:30
Terms of Service & Copyright | 00:30
Java: A High-level Overview | 17 Lectures | 2hr 35min
Chapter Introduction | 03:08
What is Java & Who is Using It? | 06:42
Story behind Java's Creation ~ A Brief History | 07:36
Compilation | 09:51
Platform Dependency + Demo | 08:38
Interpreter | 07:50
Platform Independence in Java + Demo | 08:57
Java Virtual Machine | 14:01
An Overview of Java SE | 21:28
Java SE Release Cycles & Release History | 06:49
Installing JDK 10 on Windows | 19:13
Installing JDK 10 on Mac | 04:46
Installing JDK10 on Linux | 06:52
Setting Classpath Environment Variable | 09:20
Writing First Java Program + Demo | 16:15
Conclusion | 02:40
Chapter Quiz | 5 questions
Important Q&A Discussions! | 01:22
Classes, Objects and their Members | 35 Lectures | 7hr 30min
Chapter Introduction | 03:19
Class & Objects | 12:32
Demo: Absolute Java Basics | 17:13
Variables: Introduction | 10:20
Demo: Declaring & Re-initializing Variables | 15:00
Currency Converter - Creating a Class with Variables | 1 question
Variables: Primitive Types | 02:00
Primitive Variables: Integers + Demo | 19:48
Demo: Other Integer Literal Formats | 10:33
Primitive Variables: Floating-point Numbers + Demo | 11:09
Demo: Floating-point Pitfalls + Item 48 | 10:55
Primitive Variables: Character Data Type + Demo | 17:01
Demo: Alternate ways to initialize char variables | 06:25
Demo: Primitive Variables: Boolean Data Type | 05:57
Demo: Variable Kinds | 26:38
Demo: Multi-variable Declaration Statements | 09:31
Quiz: Variables | 6 questions
Variables: Type Casting + Demo | 19:25
Variables: Object References + Demo | 06:19
Statements + Demo | 07:40
Arrays + Demo | 27:35
Currency Converter - Array Creation & Accessing it Elements | 1 question
2D Arrays | 07:22
3D Arrays + Demo | 05:20
Methods: Introduction + Demo | 20:51
Method Types + Demo | 21:27
Summary on Accessibility of Members from Static & Instance Methods | 00:26
Currency Converter ~ Invoking Methods of an Object | 1 question
How Data is Passed to Methods in Java? + Demo | 18:18
Method Overloading + Demo | 10:21
Methods: varargs + Demo | 08:39
Constructors + Demo | 22:07
Constructor Overloading + Demo | 24:47
Demo: Constructor Overloading ~ Alternate way of delegating | 03:58
Demo: this Reference | 14:35
Demo: Reinitializing Object References ~ More Brainstorming! | 20:01
Arrays with Object References | 1 question
Review of Exercise 1 Solution with Best Practices | 21:43
Conclusion | 03:38
Chapter Quiz | 12 questions
Important Q&A Discussions! | 07:29
Method Building Blocks: Operators & Control-flow Statements | 27
Lectures | 4hr 40min
Chapter Introduction | 03:32
Operators | 04:09
Arithmetic Operators + Demo | 22:13
Arithmetic Operation Rules + Demo | 08:55
Quiz: Arithmetic Operators | 3 questions
Note on Student Class | 00:27
Demo: Comparison Operators | 14:45
Logical Operators + Demo | 28:14
Car Price Estimator ~ Coding Exercise for Comparison & Logical Operators | 19:48
Car Price Estimator ~ Putting Comparison & Logical Operators into Action | 1 question
Car Price Estimator - Exercise Solution | 06:06
Bitwise Operators + Demo | 09:24
Quick Note on Bitwise Operators with Boolean Operands | 00:48
Bit Shift Operators | 05:37
Quiz: Bitwise & Bit Shift Operators | 4 questions
Control-flow: Demo: if-statement | 18:05
Control-flow: switch + Demo | 18:04
When is switch Preferred? | 03:36
Quiz: switch Statement | 3 questions
Control-flow: Ternary + Demo | 07:26
Additional Notes on Ternary Operator | 00:30
Control-flow: for Statement + Demo | 11:57
Demo: More for Statement ... | 21:54
Demo: for-each Statement (+ discussion on Item 46) | 18:42
Variable Scope | 05:16
Exercise | 2 pages
Computing GPA ~ Putting Operators & Control-flow to Test | 1 question
Control-flow: while Statement | 03:26
Control-flow: break Statement + Demo | 09:16
Control-flow: continue + Demo | 05:08
Recursion + Demo | 27:01
Conclusion | 05:55
Packages, Strings and Information Hiding Design Principle | 19
Lectures | 3hr 15min
Chapter Introduction | 02:29
Java API + Item 47 (Know and use the libraries) | 09:21
Accessing Packages + Demo | 16:41
Creating Packages & Classpath Management + Demo | 29:39
Naming Packages | 04:18
Access Levels + Demo | 22:36
More on private Modifier + Demo | 10:27
Quiz: Packages | 4 questions
Strings: Introduction | 05:44
String Class + Demo | 19:46
String Pool & Interning + Demo | 15:51
String Immutability | 03:29
String Concatenation + Demo | 10:32
Item 51: String Concatenation Performance | 03:15
Escape Sequences + Demo | 04:50
Sentiment Analysis: Mining Pros & Cons ~ Putting String Class to Test | 1 question
Information Hiding - Item 14: Use accessor methods, not public
fields + Demo | 10:58
Demo: Enhancing Student Example with Information Hiding | 13:12
Information Hiding - Item 13: Minimize the accessibility of classes
and members | 03:49
Conclusion | 07:02
Chapter Quiz | 5 questions
Important Q&A Discussions! | 01:19
static, final, and Coding Conventions | 16 Lectures | 2hr 23min
Chapter Introduction | 02:28
Note on Few Lectures in this Section | 00:27
Demo: Math Class | 20:14
Initializers: Static & Instance + Demo | 07:44
final Variable + Demo | 09:44
Constant Variables + Demo | 10:22
Boxed Primitives + Demo | 14:15
Demo: Uses of Boxed Primitives | 15:23
Autoboxing + Demo | 04:25
Item 49: Prefer Primitives to Boxed Primitives + Demo | 11:37
Parsing API Response ~ Let's make use of Boxed Primitives & String class | 1 question
Coding Conventions: Naming (Item 56: Use generally accepted naming
conventions) | 10:04
Coding Conventions: Structuring Programs (Item 45: Minimize the
scope of local) | 07:31
Coding Conventions: Stylistic + Demo | 06:39
Coding Conventions: Comments + Demo | 13:12
Conclusion | 07:47
Chapter Quiz | 4 questions
Important Q&A Discussions! | 01:29
Case Study: A Social Bookmarking Application | 2 Lectures | 15min
thrill.io ~ A Social Polymarking App! | 10:15
Case Study | 04:15
Serious OOP: Inheritance & Polymorphism | 15 Lectures | 2hr 14min
Inheritance | 08:27
Access Modifiers & Inheritance + Demo | 12:27
IS-A Test | 04:07
Hospital Management System (HMS) ~ Let's put Inheritance into practice! | 1 question
Polymorphism + Demo | 12:35
Casting Objects & instanceof Operator + Demo | 10:06
Extending HMS with a Billing Component ~ Putting Polymorphism into
Practice! | 1 question
Type Safety | 07:27
Method Overriding + Demo | 14:49
Minor Correction in First Method Overriding Rule | 00:31
Method Binding + Demo | 17:03
What is Not Overridden? (final Method is one of them) + Demo | 14:17
Demo: Fields are Not Overridden | 03:03
Object Class + Demo + Item 10: Always override toString | 07:52
Constructor Chaining + Demo | 08:33
Preventing Inheritance | 05:30
Conclusion | 07:02
Chapter Quiz | 10 questions
More Serious OOP: Abstract Classes & Interfaces | 19 Lectures | 2hr 38min
New Requirement: thrill.io for Kids | 06:14
Abstract Classes & Methods + Demo | 06:27
Item 20: Prefer class hierarchies to tagged classes | 05:58
Computing Health Insurance Premium for Staff ~ Let's put Abstract
Classes & Methods into practice! | 1 question
New Requirement: Sharing Bookmarks | 05:20
Multiple Inheritance & Diamond Problem | 04:08
Interfaces | 18:44
More on Interfaces | 08:08
Demo: Interfaces | 11:23
Interfaces: A Conceptual View | 07:50
Item 18: Prefer interfaces to abstract classes | 07:56
Item 52: Refer to objects by their interfaces | 03:20
Computing Health Insurance Premium for Staff (Part 2) ~ Let's put
Interfaces into practice! | 1 question
Marker Interfaces | 06:44
Cloneable Interface + Demo | 06:03
default Methods (Java 8) + Demo | 18:51
Recap of default Methods | 04:17
default Methods: Other Benefits + Demo | 10:09
Static Methods in Interfaces + Demo | 11:48
Conclusion | 12:37
Chapter Quiz | 7 questions
Important Q&A Discussions! | 01:59
Programming with Eclipse IDE | 12 Lectures | 1hr 36min
Introduction | 02:10
Installing Eclipse | 05:31
Writing a Java Program in Eclipse | 11:00
Eclipse Build Process | 11:13
Importing Demo Code | 05:26
Source Code Navigation | 10:34
Automatic Source Code Cleaning & Generation | 10:30
Code Refactoring | 02:46
Using Eclipse Debugger | 17:35
JUnit & Debugging | 18:03
Shortcuts Cheat Sheet | 00:14
Conclusion | 00:43
Project: Implementing a Social Bookmarking App | 13 Lectures | 2hr 41min
Project Introduction | 03:58
MVC Architecture | 06:55
Implementing Entities | 12:05
Implementing Manager Classes - Demonstrates Singleton Pattern!! | 12:33
Implementing Constant Exporting Classes | 04:50
Implementing Data Store | 18:40
Implementing Dao Classes | 05:40
Launching the Application | 09:14
Implementing User Bookmarking Feature | 15:54
Implementing Kid-Friendly Eligibility Criteria Using TDD | 19:41
Marking Bookmarks as Kid-Friendly | 19:01
Implementing Sharing Feature: Part 1 (Implementing Shareable Interface) | 13:31
Implementing Sharing Feature: Part 2 (View, Controller and Manager) | 19:08
JVM Internals | 20 Lectures | 3hr 4min
Introduction | 08:28
Lifetime of a Type | 08:32
Lifetime of a Type: Class Loading | 09:36
Lifetime of a Type: Linking | 10:07
Demo: Lifetime of a Type | 17:50
Quiz: Lifetime of a Type | 4 questions
Reflection | 07:55
Accessing Class Object | 06:20
Demo: Reflection | 12:44
Simulate a Basic Unit Testing Framework ~ Putting reflection into
action! | 1 question
Runtime Data Areas | 06:33
Method Area & Heap | 10:49
Method Table | 06:55
Garbage Collection: Introduction | 08:46
Garbage Collection Algorithms | 07:13
GC: Generational Collections | 10:08
Demo: Tuning Heap & Analyzing GC Cycles | 07:43
Item 6: Eliminate Obsolete Object References | 06:25
Stack | 05:48
Stack Frame | 06:03
Instruction Set: invokespecial & invokevirtual + Demo | 17:57
Conclusion | 08:04
Chapter Quiz | 6 questions
Exceptions with Best Practices | 15 Lectures | 2hr 14min
Chapter Introduction | 03:04
Demo: Exceptions & Exception Handling | 15:00
Demo: Multiple Exceptions & Polymorphically Referencing Exceptions!! | 09:40
Checked & Unchecked Exceptions + Demo | 10:09
Exceptions & Method Overriding | 00:27
finally Block + Demo | 11:53
try-with-resources Statement + Demo | 15:09
Demo: Suppressed Exceptions | 07:23
Demo - Best Practices: Creating New Exceptions (Items 58 & 65) | 12:49
Demo - Best Practices for Capturing Failure Information (Item 63) | 09:20
Demo - Item 61: Throw exceptions appropriate to the abstraction | 07:14
Extending Compute GPA Exercise with Exceptions | 1 question
Exceptions: More Advice ... (Items 57, 59, 60, 62, and 38) | 06:22
Assertions | 10:07
Demo: Assertions | 09:19
Conclusion | 06:08
Chapter Quiz | 6 questions
Input-Output | 16 Lectures | 2hr 45min
Chapter Introduction | 06:32
Character Encoding + Demo (Prerequisite) | 19:40
Stream IO | 06:33
Byte Streams | 05:50
Reading Byte-Oriented Files Efficiently + Decorator Pattern + Demo | 19:56
Character Streams | 04:07
Reading & Writing Text Efficiently | 09:39
Project Extension: Reading User & Bookmark Data from Text Files (Demo) | 10:52
Project Extension: Downloading WebLinks & Writing to Disk (Demo) | 13:02
Demo: Reading User Input from Console using BufferedReader & Scanner | 09:38
The File Class + Demo | 14:39
Serializing Java Objects + Demo | 17:34
Deserialization & Versioning + Demo | 12:04
Demo: Decoding with Compatible Encoding Scheme | 03:35
Conclusion | 07:17
Chapter Quiz | 8 questions
Input-Output ~ Important Q&A Discussions! | 03:37
Collections Framework (aka Data Structures) | 27 Lectures | 4hr 49min
Chapter Introduction | 07:35
Collection Interface | 06:31
List Interface | 03:31
ArrayList - Introduction | 06:12
Demo: ArrayList | 16:16
Iterator + Demo | 19:18
List Iterator + Demo | 10:36
LinkedList | 10:38
Queue & Deque Interfaces | 09:36
ArrayDeque + Demo | 09:46
Flight Reservation System ~ Putting Lists & Queues into Action! | 1 question
Hash Table | 09:36
Set Interface & HashSet + Demo + Overriding hashCode & Equals (Item
9) + Item 52 | 14:51
LinkedHashSet + Demo | 05:21
SortedSet & NavigableSet | 09:04
TreeSet (Comparable & Comparator) + Demo | 18:03
Demo: More TreeSet ~ Exploring NavigableSet Methods | 09:46
TreeSet & Comparator Exercise | 1 question
Map Interface | 08:32
Demo: HashMap + Excercise | 13:38
Demo: Beware of Creating Mutable Keys | 07:35
LinkedHashMap + Demo | 17:42
SortedMap, NavigableMap and TreeMap + Demo | 10:17
Demo: Arrays Class | 19:54
Demo: Arrays Class (Part 2) ~ Parallelized Operations from Java 8 | 08:22
Demo: Collections Class | 16:34
Best Practice: Return empty arrays or collections instead of nulls
(Item 43) | 05:18
Conclusion - A Quick Summary | 08:34
Chapter Quiz | 12 questions
Collections ~ Important Q&A Discussions! | 06:05
Generics | 17 Lectures | 3hr 18min
Chapter Introduction ~ Motivation & Agenda | 12:24
Generic & Parameterized Types | 08:33
Demo: Creating Generic Types | 15:55
Project Extension: Replacing Arrays with ArrayLists (Part 1) | 13:13
Project Extension: Replacing Arrays with ArrayLists (Part 2) | 09:49
Bounded Type Parameter + Demo | 11:15
Item 23: Don’t use raw types in new code + Demo | 12:14
Unbounded Wildcard + Demo | 10:10
Invariance + Demo + Item 25: Prefer lists to arrays | 07:15
Generic Methods (Items 26 & 27: Favor generic types/methods) | 15:04
Demo: Generic Methods & Generic Constructors | 20:46
Bounded Wildcards: Motivation + Demo | 11:23
Bounded Wildcards + Item 28: Use bounded wildcards to increase API
flexibility | 12:43
Demo: Bounded Wildcards | 15:26
Generics Restrictions | 04:45
Conclusion - A Quick Summary | 11:58
Chapter Quiz | 5 questions
Important Q&A Discussions! | 05:04
Nested Classes | 7 Lectures | 1hr 22min
Chapter Introduction | 09:18
Nonstatic Member Classes + Demo | 17:08
Anonymous Classes + Demo & Item 21 ~ About Function objects | 21:56
Local Classes + Demo | 07:42
Static Member Classes + Demo + Item 22: Favor Static Member Classes | 15:13
Variable Scope with Nested Classes | 04:36
Conclusion - A Quick Summary | 06:24
Anonymous Class & Static Member Class Exercise | 1 question
enums | 6 Lectures | 57min
enums: Motivation & Introduction + Item 30: Use enums instead of int
constants | 10:25
Enum Class + Demo | 12:33
enums with State & Behavior + Demo | 06:08
Nested enums + Demo | 04:16
Project Extension: Converting Constant Exporting Classes to Enums | 12:17
enums with Constant-specific Behavior + Demo | 11:10
Chapter Quiz | 7 questions
Concurrency (aka Multi-threading) | 21 Lectures | 4hr 59min
Chapter Introduction ~ Motivation & Agenda | 08:12
Threads: Introduction | 07:52
Demo: Launching Threads and Making them to Sleep! | 14:40
Demo: Thread Naming, Prioritization and Joining + Item 73 (Avoid
thread groups) | 12:55
Race Condition + Demo | 13:28
Synchronization + Demo + Item 66: Synchronize access to shared
mutable data | 10:49
Java Memory Model (JMM) | 10:44
Volatile Variables + Demo | 09:29
Atomic Variables + Demo | 17:54
Synchronization Best Practices (+ Item 67: Avoid excessive
synchronization) | 08:40
Thread Cooperation & Management + Demo | 14:44
Demo: wait & notify | 21:54
Thread Interruption + Demo | 23:51
Explicit Locks (Reentrant Lock) + Demo | 25:59
Quiz: Concurrency Part 1 | 12 questions
Item 69: Prefer concurrency utilities to wait and notify | 05:47
Executor Framework + Demo (Item 68: Prefer executors and tasks to
threads) | 16:21
Executor Service & Future | 13:39
Demo: ExecutorService & Future | 10:18
Tasks with Time Limits + Demo | 11:41
Project Extension: Downloading Web Links Concurrently | 19:20
Project Extension: Implementing Background Job to Download Web Links | 21:03
Quiz: Concurrency Part 2 | 3 questions
Date & Time API ~ Covers Java 8 & also Legacy API | 5 Lectures | 1hr
12min
Agenda | 01:55
Background ~ epoch, UTC, Timezone ... | 12:50
Legacy API ~ Date & Calendar Classes + Demo | 24:29
New Date & Time API ~ Introduction | 09:52
Demo: New Date & Time API | 22:43
Implementing Flight Booking Feature ~ Putting new Date & Time API
into practice! | 1 question
Database Implementation & JDBC API | 11 Lectures | 2hr 57min
Database Introduction & Chapter Agenda | 15:12
Installing MySQL Database & MySQL Workbench | 10:30
Database Design & Normalization | 25:15
Database Design using MySQL Workbench | 17:37
Project Ext.: Creating Database via CREATE & INSERT Queries +
Storage Engines | 25:29
Installing JDBC Driver | 09:10
Writing SELECT Queries with Multiple Tables, GROUP BY, ORDER BY, etc. | 19:27
Project Extension: Loading Data from Database via JDBC API | 20:50
Project Extension: Saving Bookmarking Data via INSERT Queries | 14:04
Project Extension: ALTER Query & Saving Kid-Friendly Details via
UPDATE Queries | 19:14
Useful Links to Some Tutorials | 00:05
Functional-style Programming ~ Lambdas & Streams | 20 Lectures | 5hr 1min
Functional-style Programming: Motivation & Chapter Agenda | 08:44
Lambdas ~ Introduction | 13:40
Demo: Lambdas | 10:23
Demo: Capturing Variables from Lambdas ~ Closures! | 13:29
Quiz: Lambdas | 3 questions
Predicate, (Bi) Function, and Unary Operator Interfaces + Demo | 25:09
Demo: Consumer, Supplier, and Primitive Functional Interfaces | 14:33
Quiz: Functional Interfaces | 2 questions
Demo: Method References | 12:59
Demo: Constructor References | 08:52
Streams + Demo | 23:41
Stream Operations: An Overview | 07:03
Demo: Slicing a Stream | 18:49
Demo: Stream Matching Operations | 10:33
Demo: Stream Finding Operations & Optional Class | 18:27
Stream Reduction Operations + Demo | 23:10
Let's test our skills on reduce() operation | 1 question
Mutable Reduction with Collection Operations + Demo | 23:34
collect() with Collector | 10:52
Demo: Collecting Stream into List & Set | 12:01
Demo: Grouping Stream Elements | 18:32
Demo: Summarizing Groups & Generating Multi-level Groups | 25:16
Important Q&A Discussions! | 01:05
Introduction to Java EE & Web-enabling Project | 14 Lectures | 4hr 14min
Motivation & Agenda | 07:42
Web Basics | 23:31
Java EE & Servlet Containers | 12:07
Installing Tomcat | 07:21
BooksAloha! ~ Creating & Deploying a Web Application using Servlets | 23:55
Servlet Life Cycle | 13:35
Implementing BooksAloha! as MVC using JSP | 22:35
Using JSTL to Improve Presentation Layer | 13:44
Project Extension: Web-enabling thrill.io Project | 06:03
Project Extension: Implementing Browse Functionality | 28:55
Project Extension: Implementing Bookmarking & MyBooks Functionality | 29:19
Project Extension: Implementing Login Functionality with Session | 35:06
JAR Files - Introduction | 08:52
Demo: Creating & Manipulating JAR Files | 21:20
Bonus Lessons | 3 Lectures | 4min
Big O Notation | 00:03
Java on Web: Websites & Social Media Groups to Follow | 00:36
Follow-up Steps Towards Becoming a Full-Stack Java Developer! | 03:16