Skip to content

ShripadMhetre/LLD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LLD Practice Repository

Index -

Basics -

  1. FutureExample - Callables, Future, ExecutorService, etc.
  2. AdderSubtractor - Adder Subtractor problem (Thread synchronization) solution
    • using Locks which adds some extra logic to the business logic in Adder or Subtractor
    • synchronized keyword which abstracts away the synchronization logic using monitors or method level synchronization
  3. ProducerConsumer - Producer Consumer Problem solution
    • bad : producer consumer threads without synchronization
    • notsogood : Uses Mutex (i.e. Lock) to synchronize the threads, but it's not performant since only one thread allowed to produce or consume at a time.
    • good : Uses Semaphore as a signaling mechanism so that multiple threads can access critical section
    • Ref : Mutex Vs Semaphore
  4. LambdaAndStreams - Examples of functional interfaces, lambdas & Java stream basics

Solid Principles -

  • Single Responsibility Principle
  • Open-Closed Principle
  • Liskov Substitution Principle
  • Interface Segregation
  • Dependency Inversion

Design Patterns -

  1. creational - Creational Design Patterns
    • Singleton
    • Builder
    • Prototype
    • Simple factory, factory method,
    • Abstract factory
  2. structural - Structural Design patterns
    • Decorator
    • Adapter
    • Flyweight
    • Composite
  3. behavioral - Behavioral Design Patterns
    • Observer
    • Strategy

About

LLD preparation/revision in Java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages