Important Java Concepts

🚀 Complete Java - A to Z ║ 📚 Notes and Programs of all Important Concepts of Java - OOPS, Data Structures, Algorithms, Design Patterns & Development + Kotlin + Android :fire:

947
343
Java

Java & Related Concepts

java banner

This Repo contains Notes and Programs on following topics :

  • Java Fundamentals
  • Java Object-Oriented Programming
  • Java Collections Framework
  • I/O & Networking in Java
  • Concurrency in Java
  • Databases in Java
  • Design Patterns in Java
  • Data Structures in Java
  • Algorithms in Java
  • Kotlin - Modern JVM Language
  • Android Development (Kotlin)
  • Android Libraries (Kotlin)
  • Unit Testing in Java/Kotlin

quote2

[1] Java - Fundamentals & OOPS [Done]

NOTES [Useful Info] :

-> All 50 Java Keywords with definitions & examples

-> Java Features, Execution Process & JVM Internals

-> Java Fundamentals & OOPS Concepts

-> Java OOPS - few points to remember

-> Methods of Number, Char, String, Array Classes

PROGRAMS :

Variables & Operators | Control Flow

Classes & Objects | static & this | Inner Classes

Inheritance (is-a) | Association (has-a, part-of)

Overloading | Overriding | super & final

Runtime Polymorphism | instanceof

Abstraction | Interfaces | Encapsulation

Arrays | Strings | Date & Time | Misc

.

[2] Java - Generics, Collections & Exception Handling [Done]

NOTES [Useful Info] :

-> Java Generics

-> Java Collections Framework

-> Java Errors and Exception Handling

PROGRAMS :

Generics in Java

Collection Interface (List,Set,Queue)

Map Interface (Map)

Legacy (Enum,Vector,Stack,etc)

Collections Class

Exception Handling

.

[3] Java - Files, I/O, Serialization, Networking, Others [Done]

NOTES [Useful Info] :

-> Java Files and I/O

-> Java Serialization

-> Java Networking

-> Java RegEx & Lambda Expressions

PROGRAMS :

Files and I/O

Serialization

Networking (Socket,URL,HTTP,Datagram)

Regular Expressions

Lambda Expressions

.

[4] Java - Threads, Concurrency & Concurrent Collections [WIP]

threads

NOTES [Useful Info] :

-> Java Multithreading & Garbage Collection

-> Java Thread Synchronization

PROGRAMS :

Multithreading

Thread Synchronization

Classic Concurrency Problems

.

[5] Java - Software Design [WIP]

software design

NOTES [Useful Info] :

-> Design Patterns & Examples in JDK

-> Creational Patterns: Singleton, Builder, Factory Method, Prototype

-> Structural Patterns

-> Behavioral Patterns

-> Design Patterns Cheat Sheet

PROGRAMS :

GOF Design Patterns - Creational

GOF Design Patterns - Structural

GOF Design Patterns - Behavioral

SOLID Design Principles

.

[6] Java - Data Structures & Algorithms [WIP]

algo coding

NOTES [Useful Info] :

-> Common Data Structures

-> Searching and Sorting Algorithms

-> Tree and Graph Algorithms

-> Concepts of Dynamic Programming

-> Big O Cheat Sheet

-> LeetCode Data Structures & Algorithms Patterns

PROGRAMS :

Basic Programs | Recursion Programs

Arrays | Strings | Matrix

Linked Lists | Stacks | Queues

BSTs | Heap | Hashing

Searching | Sorting

Tree Traversal | Graph Traversal

Graph Algorithms

Dynamic Programming

Coding Interview Problems

.

[2023] Kotlin - Modern JVM Language [WIP]

kotlin

  • Fastest growing language in Guthub & among the most loved acc. to StackOverflow survey
  • Cross-platform, General-purpose, Concise, Safe & fully interoperable with Java
  • Primary Official language for Native Android Development since 2019
  • Officially supported by Spring Framework, JetBrains Ktor, Eclipse Vert.x (server-side dev)

NOTES [Useful Info] :

-> Kotlin Funadamentals and OOP

-> Data Structures in Kotlin

-> Design Patterns in Kotlin

-> Kotlin Overview, Features & Multi-platform Support

-> Java to Kotlin CheatSheets

PROGRAMS :

Basic Syntax Programs

Collections

Coroutines

Serialization

Standard Library

Kotlin for Android

.

[2023] Android Development (Core Components) [WIP]

android

  • There are 3.6 billion+ active Android devices across 190+ countries
  • Every year, Google Play users worldwide download more than 100 billion mobile apps
  • Native Apps have better performance, security, access to device hardware and software
  • Native apps tends to have less bugs, gets latest features first and run smoother

NOTES [Useful Info] :

-> UI Basics - XML layouts, views, event handlers

-> Activity

-> Fragment

-> Recycler View - display scrolling list data using adapter pattern

-> Intent

-> Broadcast Receiver

-> Content Provider

.

[2023] Android Development (Java & Android Libraries) [WIP]

android libraries

NOTES [Useful Info] :

-> Retrofit - type-safe HTTP client for Java & Android

-> Glide - efficient image loading lib with media decoding, memory & disk caching

-> RoomDB - ORM based SQLite wrapper for fluent db access

-> WorkManager - schedule deferrable, asynchronous tasks

-> ViewModel - store & and manage UI-related data in lifecycle-aware way

-> LiveData - lifecycle-aware observable data holder, ootb data binding support

-> DataBinding - bind UI components to data sources in declarative way

-> RxJava - asynchronous, event-based programs using observable sequences

-> Dagger - static, compile-time dependency injection framework

-> JUnit - developer-side testing on the JVM (unit testing framework)

*-> Mockito - mocking objects in unit tests (test doubling framework)

.

Relation of Java and Others Languages

NOTES [Useful Info] :

-> Comparisons between C, C++, C# and Java Language

-> CheatSheet | C# for Java Developers

-> Java and Python

.

Extras

NOTES :

[USEFUL INFO - Good Java & Computer Science Books for Reference]

[USEFUL INFO - Great Websites for Learning Java & Computer Science]

.

NOTE :

I will keep adding more important codes to this Repo throughout 2023. 

Happy Learning! 😃

.

REFERENCES :

This repository contains some codes and images from other authors.
Used for "Nonprofit Educational Purpose".
References are listed in the above link for Books & Websites.

Thanks to those authors! 👍

.

...THE END...