Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Complete Core Java In Simple Way Part - 2
Rating: 4.4 out of 5(265 ratings)
2,727 students

Complete Core Java In Simple Way Part - 2

Direct Class Room Videos to get complete knowledge on java
Last updated 12/2021
English

What you'll learn

  • Students can get complete in-depth knowledge on java concepts like language fundamentals, operators, flow control, oops concepts etc

Course content

7 sections284 lectures49h 46m total length
  • Process Vs Procedure Vs Processor7:29

    Differentiate process, procedure, and processor: a process is a flow of execution of instructions; a procedure is an action’s instruction set; a processor is the hardware that generates processes.

  • Single process Mechanism/Single Tasking Part-114:53

    Examine the single process mechanism (single tasking) versus multitasking (multiprocessing), showing how one process executes the entire application and how memory and execution time govern performance.

  • Single process Mechanism/Single Tasking Part-23:10

    Explore how a single tasking mechanism executes tasks through one process in sequence, increasing execution time and reducing performance, and why multiprocessing and multitasking offer a better approach.

  • Multi Process Mechanism/Multi Tasking Part-17:46

    Learn how multiprocessor multitasking uses multiple processes, a process waiting queue, process control blocks, and a scheduler to improve performance with strategies like round-robin and priority.

  • Multi Process Mechanism/Multi Tasking Part-214:00

    Learn how to load tasks into main memory, create processes, and schedule them via a process context and time slices, enabling parallel execution and improved resource utilization.

  • Multi Process Mechanism/Multi Tasking Part-32:50

    Explore the multiprocessing mechanism and multitasking, enabling more than one process to execute an application in parallel. It follows task execution patterns to reduce execution time and boost performance.

  • Context Switching5:57

    Learn how context switching moves from one process context to another in multitasking and multiprocessor systems, comparing heavy weight and lightweight switching and their effects on execution time and performance.

  • Process Vs Thread4:32

    Compare processes and threads, explain heavyweight processes versus lightweight threads, and show how context switching affects execution time, memory use, and overall application performance.

  • Single Thread Model Vs Multi Thread Model5:24

    Compare single thread and multi thread models in Java, showing sequential execution in the single thread and performance gains from multithreading, as most technologies adopt multithreaded designs.

  • Java and its Multi Threadded Nature5:39

    Explain how Java is a multithreaded language that enables creating and executing multiple threads. Show how Runnable interface and its implementation class support thread management.

  • Approches to create Threads5:38

    Learn how Java handles multithreaded execution and create threads in two ways: by extending the Thread class or by implementing the Runnable interface, with emphasis on practical choices.

  • First Approach to Create Threads Part-18:54

    Explore two main ways to create threads in Java: extending a class and implementing the Runnable interface, including how the run and start methods initiate and execute new threads.

  • First Approach to Create Threads Part-211:22

    Explore the first approach to creating threads in Java by building a thread via runnable or a thread class, then start and observe concurrent execution.

  • First Approach to Create Threads Flow Part-18:26

    Explore how to declare a class that implements Runnable, create new threads, and drive their execution via the run method and the main method.

  • First Approach to Create Threads Flow Part-29:10

    Explore the flow of execution in Java threads from main to start method. See how the JVM creates and manages threads, memory, and bytecode during execution.

  • Need of Scond Approach Over First Approach10:23

    Implement the second approach by using the Runnable interface instead of extending a thread class to enable flexible thread creation in Java. Contrast the first approach, which extends a class for threading, with the second approach, showing how a class can extend one superclass and implement multiple interfaces.

  • Second Approach to create Threads Part-13:55

    Explore the second approach to creating threads in Java by implementing the Runnable interface in a user-defined class, and invoking the thread from the main method.

  • Second Approach to create Threads Part-26:57

    Explore the second approach to creating threads in Java with runnable and implementing run, and learn that start must be invoked to run concurrently.

  • Second Approach to create Threads Part-38:18

    Explore the second approach to creating threads in java, detailing how to start new threads, implement the runnable interface, and manage the execution flow across cases.

  • Second Approach to create Threads Part-414:09

    Explore the second approach to creating threads by implementing Runnable in separate classes, defining run, and coordinating multiple threads to execute application logic.

  • Second Approach to create Threads Flow Part-18:09

    Explore the second approach to creating threads with the Runnable interface and implement a class that implements Runnable, tracing the flow of execution from start to finish.

  • Second Approach to create Threads Flow Part-29:49

    Demonstrate the second approach to thread flow: the JVM creates a main thread for the main method and spawns a new thread for additional work via constructors and parameters.

  • Thread Lifecycle Part-113:58

    Explore the thread lifecycle from new to running, blocked, suspended, and sleeping, and learn how system resources like execution time and memory govern transitions.

  • Thread Lifecycle Part-29:40

    Explores the Java thread lifecycle from creation to termination, detailing new, runnable, running, blocked, sleeping, and suspended states, resource needs, and how start, sleep, and stop control transitions.

  • Thread Class Constructors Part-15:04

    Explore the thread class constructors, learn the default values for name, priority, and thread group, and see how a new thread inherits the main group and defaults when created.

  • Thread Class Constructors Part-25:21

    Explore thread class constructors in Java: learn default values for priority and group, and create a thread with a specified name using the parameterized constructor.

  • Thread Class Constructors Part-35:50

    learn how to create a thread using a Runnable with the third constructor, and how the provided runnable reference sets default name, priority, and group for the new thread.

  • Thread Class Constructors Part-45:00

    Explore java thread class constructors, including the no-argument and runnable-based forms, and learn how to create, start, and run threads with a runnable target.

  • Thread Class Constructors Part-55:50

    Explore thread class constructors in Java, including default and runnable-based forms, naming threads, and creating thread objects to execute runnable tasks, with examples of for loops.

  • Thread Class Constructors Part-65:23

    Explore how the thread class constructors create a thread with a specific thread group and name by passing the group as a parameter, demonstrating configurable thread behavior.

  • Thread Class Constructors Part-76:18

    Explore thread class constructors with runnable and thread group parameters, and see how default name and priority values are set. Learn to create threads using a runnable target and group.

  • Thread Class Constructors Part-86:22

    Learn how Thread class constructors accept a group name and Runnable reference, use default priority, and run an example program that creates, executes, and displays thread results.

  • setName() and getName() Methods in Thread class4:38

    Explore how to use setName() and getName() in the thread class to assign and retrieve a thread's name, enabling dynamic name changes and readable program output.

  • setPriority() and getPriority() methods in Thread class Part-17:29

    Learn how to set and get thread priorities in Java using setPriority and getPriority, understand the 1 to 10 range with default 5, and handle IllegalArgumentException.

  • setPriority() and getPriority() methods in Thread class Part-27:12

    Learn how to set and get thread priorities in Java using setPriority and getPriority, enforce values 1–10, handle illegal argument exceptions, and observe behavior through examples.

  • activeCount() method in Thread class9:21

    Learn how to use Thread.activeCount(), a static method of the Thread class, to see how many threads are currently running in a Java program.

  • isAlive() method in Thread class8:47

    Explore how the isAlive() method in the Thread class checks whether a thread is currently running, returning true when active and false when finished or not started.

  • currntThread() method in Thread class Part - 110:28

    Learn how to use Thread.currentThread() to identify the thread currently executing, create and coordinate multiple threads, and access thread names with getName in Java.

  • currntThread() method in Thread class Part - 26:03

    Explore how the currentThread() method works in the Thread class by creating and naming multiple thread objects, overriding run, and observing each thread’s execution.

  • sleep() Method in Thread class7:30

    Explore how the thread sleep method pauses a running thread for a specified time, handles interrupted exceptions, and resumes execution with practical examples.

  • join() Method in Thread class7:16

    Explore how the thread join() method in Java pauses the calling thread until another thread completes, handling interrupted exceptions and demonstrating with a welcome thread example.

  • Daemon Threads Part - 110:09

    Discover how daemon threads run in the background, including a JVM garbage collector example, and must be set as daemon with setDaemon before start to avoid IllegalThreadStateException.

  • Daemon Threads Part - 214:17

    Explore how daemon threads interact with the garbage collector in the JVM, and how starting a thread, its start method, termination, and exceptions shape thread behavior.

  • Concurrent Threads11:54

    Understand concurrency threats and data inconsistency when multiple threads access the same data. Learn how synchronization and resource management prevent wrong results in Java applications.

  • Threadsafe Resources with local Variables Part-110:32

    Explore how to make resources thread-safe by using local variables, immutable objects, and synchronization to ensure data consistency across multiple threads; learn how stack and heap memory affect variable access.

  • Threadsafe Resources with local Variables Part-213:48

    Demonstrate how local variables influence data consistency in multi-threaded Java programs, showing a two-thread increment scenario that reveals data races and the need for thread-safe resources.

  • Threadsafe Resources with local Variables Part-34:45

    Examine how multiple threads accessing the same resource cause data inconsistency and the importance of thread-safe design, using local variables to protect shared data.

  • Threadsafe Resources with local Variables Part-416:57

    Discover how local variables store data in separate thread stacks, creating per-thread copies to keep data consistent across threads and prevent cross-thread modifications, while conserving resources compared with instance variables.

  • Threadsafe Resources with local Variables Part-58:39

    Learn how local variables help maintain data consistency when multiple threads access shared resources, with demonstrations of stack memory, class objects, and dependency injection.

  • Threadsafe Resources with local Variables Part-66:51

    Explore how local variables stay thread-safe by existing per thread, while class-level variables are shared across threads, leading to potential data inconsistency in multi-threaded Java programs.

  • Threadsafe Resources with local Variables Part-716:51

    Demonstrates how local variables provide safety in threads, while shared instance variables cause data inconsistency; use local variables to ensure thread-safe resources.

  • Threadsafe Resources with Mutable Objects Part-14:37

    Examine how mutable and immutable objects influence thread safety in Java. Investigate string and string buffer and concurrent access to understand data consistency issues.

  • Threadsafe Resources with Mutable Objects Part-215:47

    Learn why mutable objects can cause data inconsistency in multi-threaded Java programs and how synchronization and immutable objects offer safer, thread-safe design, featuring StringBuffer examples.

  • Threadsafe Resources with Mutable Objects Part-36:08

    Learn how mutable objects impact thread safety and data consistency in Java, as multiple threads access shared resources and how unsafe interactions can produce inconsistent results.

  • Threadsafe Resources with Mutable Objects Part-44:56

    Understand how immutable objects preserve data consistency in multithreading by creating new objects for each modification, using examples like string handling and other Java objects.

  • Threadsafe Resources with Immutable Objects Part-110:24

    Explore how immutable objects ensure thread safety and data consistency by creating new objects for modifications, using strings and wrapper classes as examples, and comparing with mutable objects.

  • Threadsafe Resources with Immutable Objects Part-26:19

    Explore how immutable objects enforce safety and data consistency in multi-threaded Java programs, and see how string concatenation and resource handling illustrate immutability's benefits.

  • Threadsafe Resources with Immutable Objects Part-313:40

    Learn how immutable objects create threadsafe resources by using immutable strings and concatenation to maintain data consistency across threads.

  • Threadsafe Resources with Immutable Objects Part-47:54

    Explore how immutable objects provide thread-safe resources and data consistency, contrasted with mutable objects, using concrete string and buffer examples to illustrate safe programming in Java.

  • Synchronization Introduction Part-18:09

    Synchronization is a mechanism that allows only one thread at a time to access a shared resource, preventing data inconsistency from concurrent modifications.

  • Synchronization Introduction Part-26:55

    Explore how synchronization ensures data consistency by allowing only one thread in a synchronized area, and understand the locking mechanism, log manager roles, and how a thread completes synchronized execution.

  • Synchronization Locking Mechanism7:59

    Explore how the synchronization locking mechanism coordinates access to a synchronized region with a lock manager and log manager, guiding multiple threads by priority.

  • Synchronized Method Part-110:59

    learn how to achieve synchronization in Java applications using synchronized methods and blocks, see how a single thread executes at a time, preventing interleaved output and producing consistent results.

  • Synchronized Method Part-26:58

    Explore how a synchronized method coordinates multiple threads from a single class, enabling sequential, non-interfering execution while creating and managing multiple thread instances from one design.

  • Synchronized Method Vs Synchronized Block14:42

    Learn when to use synchronized methods versus synchronized blocks in Java to balance data consistency and performance by applying synchronization only where needed.

  • Synchronized Blocks10:18

    Explore how synchronized blocks lock an object to limit access, allowing only one thread inside the block at a time, and learn when to use or avoid synchronization for performance.

  • Inter Thread Communication Part-116:42

    Explore how inter-thread communication coordinates multiple threads to complete tasks, using wait, notify, and notifyAll in synchronized contexts. A bus-driver example illustrates coordination and producer-consumer issues.

  • Inter Thread Communication Part-213:48

    Explore inter-thread communication in Java by implementing a producer–consumer solution using a boolean flag for synchronization, notify and wait between producer and consumer in an infinite loop.

  • Producer-Consumer Problem10:48

    Demonstrates the producer–consumer problem with a boolean flag and item count, coordinating producer and consumer threads via synchronization. Explains signals and infinite loops ensuring items are produced and consumed.

  • Deadlock Part-111:09

    Define deadlock as a circular wait where two threads hold resources the other needs, leading to a standstill; explore prevention strategies since recovery is not possible in such Java applications.

  • Deadlock Part-29:59

    Deadlock in core java occurs when multiple threads depend on each other in a circular wait for resources, and preventing it relies on understanding synchronization and resource management.

  • Deadlock Part-39:12

    Demonstrates a Java program that creates a deadlock using two resources and synchronized blocks, illustrating how threads wait indefinitely.

  • ThreadLocal Part-111:35

    Explore ThreadLocal in Java, including how scope modifiers (private, default, protected, public) affect data visibility, and how local classes interact with get, set, remove, and initial value.

  • ThreadLocal Part-211:19

    Explore implementing thread-local data in Java using static scope, per-thread access, and a get method, with Eclipse-based setup.

  • ThreadLocal Part-312:03

    This lecture explains implementing thread-local data in a Java application, using local classes and generics, showing how to set and retrieve thread-specific values, and managing scope and testing boundaries.

  • Course Conclusion4:40

    Conclude the course by tying together multithreading concepts, including process versus thread, multiprocessor and single-process models, runnable interface, synchronization, inter-thread communication, producer-consumer, and data consistency.

Requirements

  • Basic Idea on Computer

Description

Benefits of this course:

---------------------------

1. This Course will provide completeness on every topic.

2. This Course will make you to Strong on Theoretically and  Pro grammatically.

3. This Course will provide Good Platform for the Advanced Technologies and Frameworks like Jdbc, Servlets, Jsps, Hibernate, JPA, Spring,..

4. This Course includes almost all the interview Questions  and Answers as part of the Course internally.

5. This Course will provide Downloadable Material for all the  above specified topics.   


JAVA:

------

1. J2SE / JAVA SE

2. J2EE / JAVA EE

3. J2ME / JAVA ME


1. J2SE / JAVA SE:[Core Java]

------------------------------

--> Java 2 Standard Edition

--> It will cover only Fundemntals of JAVA.

--> Standalone Applications.

--> If we design and execute any application with out using Client-Server Arch then that application is called as         Standalone Application.

--> If we design and execute any application with out distributing application logic over multiple machines then that     application is called as "Standalone Application".

--> 5% of the applications are Standalone Applications.

--> It is a dependent PL for J2EE, Testing Tools, Salesforce, SAP, Hadoop,........

--> Introduction, OOPs, Exception Handling, Multi Threadding, IOStreams, Collection Freamework,.......


2. J2EE / JAVA EE:

---------------------

--> Java 2 Enterprise Edition

--> It will cover Server side Programming.

--> Distributed Applications / Enterprise Applications

--> If we design and execute any application on the basis of Client-Server Arch or by distributing application logic     over Multiple machines then that application is called as Distributed Application or Enterprise Application.

--> 95% of the appl.

--> Servlets, Jsps, Jstl, EL, EJBs, Web Services,..........



3. J2ME / JAVA ME:

------------------

--> Java 2 Micro Edition

--> Micro programming

--> Mobile based Applications

--> If we design and execute any appl on the basis of Mobile H/W System then that application is called as Mobile         Based Application.

--> less Demand.


Syllabus:

----------

1.Multi Threadding

2.Networking

3.RMI

4.Arrays

5.Collection Framework

6.Generics

7.Internationalization[I18N]

8.JVM Arch

9.Garbage Collections



Who this course is for:

  • Academic Students who are having Java Course in their Curriculum
  • Software Professionals who are very fancy about Java Programming