Java Programming
31.3K subscribers
407 photos
213 files
239 links
Everything you need to learn Java Programming

Daily Java tutorials, coding challenges, OOP concepts, DSA in Java & more!
Perfect for beginners, CS students & job seekers.

Downloadable PDFs, cheat sheets, interview prep & projects

For ads: @coderfun
Download Telegram
What is Encapsulation in java ?

๐Ÿ“ Encapsulation is one of the fundamental principle of object oriented programming .
๐Ÿ“ Encapsulation allows to protect the data within a class from outside entities.
๐Ÿ“ Encapsulation helps to achieve hiding the internal information from outside entities.
๐Ÿ“ Data and methods (To access the data) are bundled together within a single unit .(class)
๐Ÿ“ In Java, encapsulation is typically achieved by:
Declaring the class members as private.
Providing public getter and setter methods to access and modify the private attributes.
Note :
Let's say we have 1 private variables in a class

Example - 1:
getter & setter for primitive type private members.
private String empnm;

// get method to access the data
public String GetName() {
return empnm;
}

// set the data
public void setName(String enm) {
this.empnm = enm;
} // call the method & pass the data as param

If we can notice the getter & setter for empnm , below points we can note:
1. getter method will return the variable which is private and it is non parameterized .
2. setter method is a parameterized method which we shall use to set the value for the private member while calling , so only it is parameterized method.

Example -2 :getter & Setter for the private array :

public int[] getarr() {
return arr;
}

// Setter method to modify the private array
public void setarr(int[] brr) {
// You can add validation or other logic if needed
this.arr = brr;
}

Best Programming Resources: https://topmate.io/coding/886839

All the best ๐Ÿ‘๐Ÿ‘
๐Ÿ‘8โค4๐Ÿ”ฅ1
This will help Crack your next Java Interview even if you have 5+ years of experience!


๐—ง๐—ผ๐—ฝ๐—ถ๐—ฐ ๐Ÿญ: ๐—ฃ๐—ฟ๐—ผ๐—ท๐—ฒ๐—ฐ๐˜ ๐—ณ๐—น๐—ผ๐˜„ ๐—ฎ๐—ป๐—ฑ ๐—ฎ๐—ฟ๐—ฐ๐—ต๐—ถ๐˜๐—ฒ๐—ฐ๐˜๐˜‚๐—ฟ๐—ฒ
- Please tell me about your project and its architecture, Challenges faced?
- What was your role in the project? Tech Stack of project? why this stack?
- Problem you solved during the project? How collaboration within the team?
- What lessons did you learn from working on this project?


๐—ง๐—ผ๐—ฝ๐—ถ๐—ฐ ๐Ÿฎ: ๐—–๐—ผ๐—ฟ๐—ฒ ๐—๐—ฎ๐˜ƒ๐—ฎ
- String Concepts/Hashcode-Equal Methods
- Immutability
- OOP concepts
- Serialization
- Collection Framework
- Exception Handling
- Multithreading
- Java Memory Model
- Garbage collection


๐—ง๐—ผ๐—ฝ๐—ถ๐—ฐ ๐Ÿฏ: ๐—๐—ฎ๐˜ƒ๐—ฎ-๐Ÿด/๐—๐—ฎ๐˜ƒ๐—ฎ-๐Ÿญ๐Ÿญ/๐—๐—ฎ๐˜ƒ๐—ฎ๐Ÿญ๐Ÿณ
- Java 8 features
- Default/Static methods
- Lambda expression
- Functional interfaces
- Optional API
- Stream API
- Pattern matching
- Text block
- Modules


๐—ง๐—ผ๐—ฝ๐—ถ๐—ฐ ๐Ÿฐ: ๐—ฆ๐—ฝ๐—ฟ๐—ถ๐—ป๐—ด ๐—™๐—ฟ๐—ฎ๐—บ๐—ฒ๐˜„๐—ผ๐—ฟ๐—ธ, ๐—ฆ๐—ฝ๐—ฟ๐—ถ๐—ป๐—ด-๐—•๐—ผ๐—ผ๐˜, ๐— ๐—ถ๐—ฐ๐—ฟ๐—ผ๐˜€๐—ฒ๐—ฟ๐˜ƒ๐—ถ๐—ฐ๐—ฒ, ๐—ฎ๐—ป๐—ฑ ๐—ฅ๐—ฒ๐˜€๐˜ ๐—”๐—ฃ๐—œ
- Dependency Injection/IOC, Spring MVC
- Configuration, Annotations, CRUD
- Bean, Scopes, Profiles, Bean lifecycle
- App context/Bean context
- AOP, Exception Handler, Control Advice
- Security (JWT, Oauth)
- Actuators
- WebFlux and Mono Framework
- HTTP methods
- JPA
- Microservice concepts
- Spring Cloud


๐—ง๐—ผ๐—ฝ๐—ถ๐—ฐ ๐Ÿฑ: ๐—›๐—ถ๐—ฏ๐—ฒ๐—ฟ๐—ป๐—ฎ๐˜๐—ฒ/๐—ฆ๐—ฝ๐—ฟ๐—ถ๐—ป๐—ด-๐—ฑ๐—ฎ๐˜๐—ฎ ๐—๐—ฝ๐—ฎ/๐——๐—ฎ๐˜๐—ฎ๐—ฏ๐—ฎ๐˜€๐—ฒ (๐—ฆ๐—ค๐—Ÿ ๐—ผ๐—ฟ ๐—ก๐—ผ๐—ฆ๐—ค๐—Ÿ)
- JPA Repositories
- Relationship with Entities
- SQL queries on Employee department
- Queries, Highest Nth salary queries
- Relational and No-Relational DB concepts
- CRUD operations in DB
- Joins, indexing, procs, function


๐—ง๐—ผ๐—ฝ๐—ถ๐—ฐ ๐Ÿฒ: ๐—–๐—ผ๐—ฑ๐—ถ๐—ป๐—ด
- DSA Related Questions
- Sorting and searching using Java API
- Stream API coding Questions


๐—ง๐—ผ๐—ฝ๐—ถ๐—ฐ ๐Ÿณ: ๐——๐—ฒ๐˜ƒ๐—ผ๐—ฝ๐˜€ ๐—พ๐˜‚๐—ฒ๐˜€๐˜๐—ถ๐—ผ๐—ป๐˜€ ๐—ผ๐—ป ๐—ฑ๐—ฒ๐—ฝ๐—น๐—ผ๐˜†๐—บ๐—ฒ๐—ป๐˜ ๐—ง๐—ผ๐—ผ๐—น๐˜€
- These types of topics are mostly asked by managers or leads who are heavily working on it, That's why they may grill you on DevOps/deployment-related tools, You should have an understanding of common tools like Jenkins, Kubernetes, Kafka, Cloud, and all


๐—ง๐—ผ๐—ฝ๐—ถ๐—ฐ๐˜€ ๐Ÿด: ๐—•๐—ฒ๐˜€๐˜ ๐—ฝ๐—ฟ๐—ฎ๐—ฐ๐˜๐—ถ๐—ฐ๐—ฒ
- The interviewer always wanted to ask about some design patterns, it maybe Normal design patterns like singleton, factory, or observer patterns to know that you can use these in coding

Best Programming Resources: https://topmate.io/coding/886839

All the best ๐Ÿ‘๐Ÿ‘
๐Ÿ‘13โค6
Java in one notes.pdf
7.9 MB
Java in one notes.pdf
๐Ÿ™8โค6๐Ÿ‘6๐Ÿ‘จโ€๐Ÿ’ป2
Java Roadmap
|
|-- Fundamentals
| |-- Basics of Programming
| | |-- Introduction to Java
| | |-- Java Development Kit (JDK) and Java Runtime Environment (JRE)
| | |-- Setting Up Development Environment (IDE: IntelliJ IDEA, Eclipse, etc.)
| |
| |-- Syntax and Structure
| | |-- Basic Syntax
| | |-- Variables and Data Types
| | |-- Operators and Expressions
|
|-- Control Structures
| |-- Conditional Statements
| | |-- If-Else Statements
| | |-- Switch Case
| |
| |-- Loops
| | |-- For Loop
| | |-- While Loop
| | |-- Do-While Loop
| |
| |-- Exception Handling
| | |-- Try-Catch Block
| | |-- Finally Block
| | |-- Throw and Throws Keywords
|
|-- Object-Oriented Programming (OOP)
| |-- Basics of OOP
| | |-- Classes and Objects
| | |-- Methods and Constructors
| |
| |-- Inheritance
| | |-- Single and Multiple Inheritance
| | |-- Method Overriding
| | |-- Super Keyword
| |
| |-- Polymorphism
| | |-- Method Overloading
| | |-- Runtime Polymorphism
| | |-- Dynamic Method Dispatch
| |
| |-- Encapsulation
| | |-- Access Modifiers (Public, Private, Protected)
| | |-- Getters and Setters
| | |-- Data Hiding
| |
| |-- Abstraction
| | |-- Abstract Classes
| | |-- Interfaces
|
|-- Advanced Java
| |-- Collections Framework
| | |-- List (ArrayList, LinkedList)
| | |-- Set (HashSet, TreeSet)
| | |-- Map (HashMap, TreeMap)
| | |-- Queue (PriorityQueue, LinkedList)
| |
| |-- Concurrency
| | |-- Multithreading (Creating Threads, Thread Lifecycle)
| | |-- Synchronization
| | |-- Concurrency Utilities (Executors Framework, Callable and Future, Locks and Semaphores)
|
|-- Java Standard Libraries
| |-- I/O Streams
| | |-- File Handling (File Class, Reading and Writing Files)
| | |-- Streams (Byte Streams, Character Streams, Buffered Streams)
| |
| |-- Networking
| | |-- Sockets (TCP and UDP, Socket and ServerSocket Classes)
| | |-- URL and HTTP (URL Class, HttpURLConnection)
| |
| |-- JDBC
| | |-- Database Connectivity (JDBC Drivers, Connection, Statement, and ResultSet)
| | |-- PreparedStatement and CallableStatement
|
|-- Java Frameworks
| |-- Spring Framework
| | |-- Spring Core (Dependency Injection, Inversion of Control)
| | |-- Spring MVC (Model-View-Controller Architecture)
| | |-- Spring Boot (Creating Spring Boot Applications, Starters and Auto-Configuration, Actuator)
| |
| |-- Hibernate
| | |-- ORM Basics (Introduction to ORM, Configuration and Mapping)
| | |-- Advanced Hibernate (Caching, Transactions and Concurrency, Criteria API)
|
|-- Web Development with Java
| |-- Java EE (Jakarta EE)
| | |-- Servlets (Lifecycle, Handling HTTP Requests and Responses, Session Management)
| | |-- JavaServer Pages (JSP) (Syntax, Directives, JSTL and Custom Tags, Expression Language)
| |
| |-- RESTful Web Services
| | |-- JAX-RS (Creating RESTful Services, Annotations and HTTP Methods, Consuming RESTful Services)
|
|-- Build Tools and Dependency Management
| |-- Maven
| | |-- Project Object Model (POM), Dependencies, Repositories, Build Lifecycle and Plugins
| |
| |-- Gradle
| | |-- Build Scripts, Dependency Management, Task Automation
|
|-- Testing in Java
| |-- Unit Testing
| | |-- JUnit (Annotations, Assertions, Test Suites and Runners)
| |
| |-- Mockito (Creating Mocks and Spies, Stubbing and Verification)
| |
| |-- Integration Testing
| | |-- Spring Test (Testing Spring Components, MockMvc and WebTestClient)
|
|-- Deployment and DevOps
| |-- Containers and Microservices
| | |-- Docker (Dockerfile, Image Creation, Container Management)
| | |-- Kubernetes (Pods, Services, Deployments, Managing Java Applications on Kubernetes)
โค13๐Ÿ‘10
| | |-- Microservices (Designing Architecture, Communication between Microservices, Spring Cloud and Netflix OSS)
|
|-- Advanced Topics
| |-- Design Patterns
| | |-- Creational Patterns (Singleton, Factory, Builder)
| | |-- Structural Patterns (Adapter, Decorator, Proxy)
| | |-- Behavioral Patterns (Observer, Strategy, Command)
| |
| |-- Performance Tuning
| | |-- JVM Internals (Garbage Collection, Memory Management)
| | |-- Profiling and Monitoring (JConsole, VisualVM, Optimization Techniques)
| |
| |-- Security
| | |-- Java Security API (Encryption, Decryption, Secure Coding Practices)
| | |-- Spring Security (Authentication, Authorization, JWT and OAuth2)
|
|-- Version Control
| |-- Git
| | |-- Basic Commands (Clone, Commit, Push)
| | |-- Branching and Merging
| | |-- Collaboration with GitHub/GitLab
|-- *PH4N745M*
|-- Communication and Documentation
| |-- JavaDocs (Writing JavaDocs, Generating Documentation)
| |-- Effective Communication (Code Reviews, Collaborative Development Practices)
|
โ””-- Comments
|-- // Single-line comment (Java)
|-- /* Multi-line comment (Java) */
|-- /** Javadoc comment (Java) */
๐Ÿ‘12โค6
Spring boot QA.pdf
2.1 MB
โค8๐Ÿ”ฅ1
Java Backend Development is a highly in-demand and well-paying job in the tech industry.

If you're looking to become an excellent Java Developer, here's a roadmap that includes various online resources:

1. Core Java

First comes the fundamentals of Java Programming, here you will understand OOP concepts, conditional statements, collection frameworks,and many more.

https://youtube.com/playlist?list=PLd3UqWTnYXOnjGmyjD3zbIkyLXP15-6w0&si=UYvQhVNlZQYCH1Il

2. JDBC

A  Java API that allows you to access tabular data, especially data stored in a relational database.

https://youtube.com/playlist?list=PLsyeobzWxl7rU7Jz3zDRpqB-EODzBbHOI&si=Cc45vpeRXGIUKbfn

3. SQL

Get a good understanding of SQL, which is necessary to work with JDBC to write queries.

https://youtu.be/7S_tz1z_5bA

4. JSP + Servlet

Learn JSP and Servlet, which are used for writing web pages for web applications and handling client requests on the server-side.

https://youtube.com/playlist?list=PLE0F6C1917A427E96&si=TQeOIgluG3R29622

5. Spring Framework

5.1. Core Spring Framework

https://youtu.be/GB8k2-Egfv0?si=dHYp6rFkGVl9RMt8

5.2. Spring REST & Spring DATA

https://youtu.be/GwYUjzPrQTM?si=hJfmpukii2WnofxQ

5.3. Spring Security
Spring Security is the primary choice for implementing application-level security

https://youtu.be/sm-8qfMWEV8?si=uMkpBxOUXIptZif9

6. Hibernate Framework

Hibernate is a Java framework that simplifies the development of Java application to interact with the database. It is an open source, lightweight, ORM (Object Relational Mapping) tool.

https://youtu.be/Yv2xctJxE-w?si=q4FIOBxxX-Y0Qj5q

7. Spring Boot

Spring Boot is the ultimate framework and Makes Java Web Development less boilerplate, it can help you make production-ready applications in no time.

https://youtu.be/msXL2oDexqw?si=XB19MCCECAggcB18

8. Basic DevOps

8.1. Learn to Use AWS & Deploy Java Apps

https://youtube.com/playlist?list=PLVz2XdJiJQxxurKT1Dqz6rmiMuZNdClqv&si=bJyg0Np11PkGDIKO

8.2. Learn Basic Docker:

https://youtu.be/p28piYY_wv8?si=Xoqje7MJad1NeE9g

8.3. Learn Basic Kubernetes:

https://youtu.be/rTNR7vDQDD8?si=dgzwxQof7yGHUP4n

8.4. Deploy Spring Boot App on Kubernetes:

https://youtu.be/EZolJ4lNiYc?si=Kw09qKwMp_LxHTvw

9. Basic of git and GitHub
https://youtu.be/apGV9Kg7ics?si=MHtCgD8o7XqpU4W3

10. Java Microservices

https://youtu.be/tuJqH3AV0e8?si=1jjrWl4l4uYGrE5i

14. Java Quick revision for Interviews

https://youtu.be/oYXivKMSEqM?si=tngbZrvgbAwsShEb

15. Spring JMS(java messaging services)

JMS is a standard Java API that allows a Java application to send messages to another application.

https://youtube.com/playlist?list=PLmCsXDGbJHdibOx6axScPiuHA8ftsrmut&si=J0qjBSbB4GDCeTOv
๐Ÿ‘19โค7๐Ÿ˜1
Java for Everything:

Java + Spring = Enterprise Applications
Java + Hibernate = Object-Relational Mapping
Java + Android = Mobile App Development
Java + Swing = Desktop GUI Applications
Java + JavaFX = Modern GUI Applications
Java + JUnit = Unit Testing
Java + Maven = Project Management
Java + Jenkins = Continuous Integration
Java + Apache Kafka = Stream Processing
Java + Apache Hadoop = Big Data Processing
Java + Microservices = Scalable Services
๐Ÿ‘19๐Ÿ‘จโ€๐Ÿ’ป7โค1
Complete Roadmap to Become a Java Developer:

1. Core Java (fundamentals of Java programming language)
2. Maven
3. Spring Core, Spring MVC, and Spring AOP
4. Spring Boot and REST APls (Restful Web Services)
5. Spring Data - JPA, Hibernate (with H2, MySQL, MongoDB and Redis)
6. Testing (JUnit 5, JPA Test, MockMVC, etc.)
7. Spring Security
8. Microservices and Spring Cloud
9. Docker and Kubernetes
10. Deployment of Spring Boot Apps on Cloud (AWS)
11. Optional - Serverless, Batch processing etc
๐Ÿ‘22โค2๐Ÿ”ฅ2๐Ÿ‘จโ€๐Ÿ’ป1
Java in one notes.pdf
7.9 MB
๐Ÿ‘11๐Ÿ”ฅ3
Important Java Multithreading & Concurrency topics

1. Introduction of Multithreading
2. Basics of Threads
3. Inter Thread Communication and Synchronization
4. Some Advanced Topics
5. Concurrency Utilities
6. Concurrent Collections
7. Atomic Variables
8. Locks and Semaphores
๐Ÿ‘18โค1๐Ÿคก1
Java Roadmap ๐Ÿฟ


|-- Fundamentals
| |-- Basics of Programming
| | |-- Introduction to Java
| | |-- Java Development Kit (JDK) and Java Runtime Environment (JRE)
| | |-- Setting Up Development Environment (IDE: IntelliJ IDEA, Eclipse, etc.)
| |
| |-- Syntax and Structure
| | |-- Basic Syntax
| | |-- Variables and Data Types
| | |-- Operators and Expressions
|
|-- Control Structures
| |-- Conditional Statements
| | |-- If-Else Statements
| | |-- Switch Case
| |
| |-- Loops
| | |-- For Loop
| | |-- While Loop
| | |-- Do-While Loop
| |
| |-- Exception Handling
| | |-- Try-Catch Block
| | |-- Finally Block
| | |-- Throw and Throws Keywords
|
|-- Object-Oriented Programming (OOP)
| |-- Basics of OOP
| | |-- Classes and Objects
| | |-- Methods and Constructors
| |
| |-- Inheritance
| | |-- Single and Multiple Inheritance
| | |-- Method Overriding
| | |-- Super Keyword
| |
| |-- Polymorphism
| | |-- Method Overloading
| | |-- Runtime Polymorphism
| | |-- Dynamic Method Dispatch
| |
| |-- Encapsulation
| | |-- Access Modifiers (Public, Private, Protected)
| | |-- Getters and Setters
| | |-- Data Hiding
| |
| |-- Abstraction
| | |-- Abstract Classes
| | |-- Interfaces
|
|-- Advanced Java
| |-- Collections Framework
| | |-- List (ArrayList, LinkedList)
| | |-- Set (HashSet, TreeSet)
| | |-- Map (HashMap, TreeMap)
| | |-- Queue (PriorityQueue, LinkedList)
| |
| |-- Concurrency
| | |-- Multithreading (Creating Threads, Thread Lifecycle)
| | |-- Synchronization
| | |-- Concurrency Utilities (Executors Framework, Callable and Future, Locks and Semaphores)
|
|-- Java Standard Libraries
| |-- I/O Streams
| | |-- File Handling (File Class, Reading and Writing Files)
| | |-- Streams (Byte Streams, Character Streams, Buffered Streams)
| |
| |-- Networking
| | |-- Sockets (TCP and UDP, Socket and ServerSocket Classes)
| | |-- URL and HTTP (URL Class, HttpURLConnection)
| |
| |-- JDBC
| | |-- Database Connectivity (JDBC Drivers, Connection, Statement, and ResultSet)
| | |-- PreparedStatement and CallableStatement
|
|-- Java Frameworks
| |-- Spring Framework
| | |-- Spring Core (Dependency Injection, Inversion of Control)
| | |-- Spring MVC (Model-View-Controller Architecture)
| | |-- Spring Boot (Creating Spring Boot Applications, Starters and Auto-Configuration, Actuator)
| |
| |-- Hibernate
| | |-- ORM Basics (Introduction to ORM, Configuration and Mapping)
| | |-- Advanced Hibernate (Caching, Transactions and Concurrency, Criteria API)
|
|-- Web Development with Java
| |-- Java EE (Jakarta EE)
| | |-- Servlets (Lifecycle, Handling HTTP Requests and Responses, Session Management)
| | |-- JavaServer Pages (JSP) (Syntax, Directives, JSTL and Custom Tags, Expression Language)
| |
| |-- RESTful Web Services
| | |-- JAX-RS (Creating RESTful Services, Annotations and HTTP Methods, Consuming RESTful Services)
|
|-- Build Tools and Dependency Management
| |-- Maven
| | |-- Project Object Model (POM), Dependencies, Repositories, Build Lifecycle and Plugins
| |
| |-- Gradle
| | |-- Build Scripts, Dependency Management, Task Automation
|
|-- Testing in Java
| |-- Unit Testing
| | |-- JUnit (Annotations, Assertions, Test Suites and Runners)
| |
| |-- Mockito (Creating Mocks and Spies and Verification)
| |
| |-- Integration Testing
| | |-- Spring Test (Testing Spring Components and WebTestClient)
|
|-- Deployment and DevOps
| |-- Containers and Microservices
| | |-- Docker (Dockerfile, Image Creation, Container Management)
| | |-- Kubernetes (Pods, Services, Deployments, Managing Java Applications on Kubernetes)
๐Ÿ‘27๐Ÿ‘จโ€๐Ÿ’ป2โค1๐Ÿฅฐ1
Best Resources to learn Programming
๐Ÿ‘‡๐Ÿ‘‡
https://topmate.io/coding/886839

Most programmers hoard resources without actually opening them even once! The reason for keeping a small price for these resources is to ensure that you value the content available inside this and encourage you to make the best out of it.

Hope this helps in your job search journey... All the best!๐Ÿ‘โœŒ๏ธ
๐Ÿ‘5โค4
Java Roadmap
๐Ÿ‘14๐Ÿ‘1
Many people reached out to me saying telegram may get banned in their countries. So I've decided to create WhatsApp channels based on your interests ๐Ÿ‘‡๐Ÿ‘‡

Free Courses with Certificate: https://whatsapp.com/channel/0029Vamhzk5JENy1Zg9KmO2g

Jobs & Internship Opportunities:
https://whatsapp.com/channel/0029VaI5CV93AzNUiZ5Tt226

Web Development: https://whatsapp.com/channel/0029VaiSdWu4NVis9yNEE72z

Python Free Books & Projects: https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L

Java Resources: https://whatsapp.com/channel/0029VamdH5mHAdNMHMSBwg1s

Coding Interviews: https://whatsapp.com/channel/0029VammZijATRSlLxywEC3X

SQL: https://whatsapp.com/channel/0029VanC5rODzgT6TiTGoa1v

Power BI: https://whatsapp.com/channel/0029Vai1xKf1dAvuk6s1v22c

Programming Free Resources: https://whatsapp.com/channel/0029VahiFZQ4o7qN54LTzB17

Data Science Projects: https://whatsapp.com/channel/0029Va4QUHa6rsQjhITHK82y

Learn Data Science & Machine Learning: https://whatsapp.com/channel/0029Va8v3eo1NCrQfGMseL2D

Donโ€™t worry Guys your contact number will stay hidden!

ENJOY LEARNING ๐Ÿ‘๐Ÿ‘
๐Ÿ‘8โค1