Java Programming
31.7K subscribers
408 photos
214 files
242 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
Why Learn Java?

1 - Beginner-Friendly :
Easy to learn and understand for coding newcomers.

2 - Versatile :
Used for web, mobile, desktop apps, and even games.

3 - Platform-Independent :
โ€œWrite once, run anywhereโ€ with Java Virtual Machine (JVM).

4 - Highly Secure :
Perfect for banking and enterprise-level applications.

5 - Strong Job Market :
Java developers are always in demand worldwide.

6 - Powerful Community :
Tons of resources, libraries, and frameworks available.

7 - Scalable :
Ideal for building apps that grow with user demand.

Join our WhatsApp channel for the free resources: https://whatsapp.com/channel/0029VamdH5mHAdNMHMSBwg1s
๐Ÿ‘5
Learn Java in 50 Days
๐Ÿ‘12
2 Month Roadmap to learn Java and Spring from basics to advanced

Week 1-2: Core Java

- Basic Syntax: Data types, operators, loops (for, while, do-while)
- OOP Concepts: Classes, objects, inheritance, polymorphism, encapsulation, abstraction
- Collections Framework: List, Set, Map, Queue, Iterator, etc.
- Exception Handling: Try-catch, custom exceptions, multi-catch
- File I/O: Reading/writing files using java.io and java.nio
- Java 8+ Features: Lambdas, Streams, Optional, Functional Interfaces
- Multithreading: Threads, Runnable, ExecutorService, Future, and basic synchronization

Week 3-4: Advanced Java & JDBC

- JVM Internals: ClassLoader, JIT, memory management, garbage collection
- Generics: Usage and wildcards
- Design Patterns: Singleton, Factory, Strategy, Observer, Dependency Injection (Intro)
- JDBC: Connecting with databases (CRUD operations), PreparedStatement, Connection pooling

Week 5-6: Spring Framework (Basics)

- Spring Core
- Dependency Injection (DI) and Inversion of Control (IoC)
- Beans, Scopes, and Bean Life Cycle
- Autowiring and Spring Annotations
- Spring AOP: Aspect-Oriented Programming fundamentals
- Spring Data JPA: Basic CRUD operations with JPA
- Entities, Repositories, and Custom Queries

Week 7: Spring Boot (Basics)

- Spring Boot Fundamentals: Understanding the Spring Boot architecture
- REST API creation
- Spring Boot Annotations (@RestController, @RequestMapping, etc.)
- Running a Spring Boot application
- Spring Boot Auto Configuration: Application properties and profiles
- Spring Boot with Database: Integrate Spring Boot with MySQL using Spring Data JPA

Week 8: Spring Boot (Advanced)

- Security: Introduction to Spring Security (Basic Authentication)
- Advanced Spring Boot Features: Exception handling (@ControllerAdvice)
- Logging with Spring Boot
- Pagination and Sorting
- Testing: Write unit tests using JUnit and Mockito in Spring Boot

Best Java Resources: https://t.iss.one/Java_Programming_Notes

Like for more โค๏ธ
โค4๐Ÿ‘3๐Ÿ”ฅ2
How is ๐—–๐—œ/๐—–๐—— ๐—ฝ๐—ฟ๐—ผ๐—ฐ๐—ฒ๐˜€๐˜€ ๐—ฑ๐—ถ๐—ณ๐—ณ๐—ฒ๐—ฟ๐—ฒ๐—ป๐˜ ๐—ณ๐—ผ๐—ฟ ๐— ๐—ฎ๐—ฐ๐—ต๐—ถ๐—ป๐—ฒ ๐—Ÿ๐—ฒ๐—ฎ๐—ฟ๐—ป๐—ถ๐—ป๐—ด ๐—ฃ๐—ฟ๐—ผ๐—ท๐—ฒ๐—ฐ๐˜๐˜€ compared to ๐—ฅ๐—ฒ๐—ด๐˜‚๐—น๐—ฎ๐—ฟ ๐˜€๐—ผ๐—ณ๐˜๐˜„๐—ฎ๐—ฟ๐—ฒ?

The important difference that the Machine Learning aspect of the projects brings to the CI/CD process is the treatment of the Machine Learning Training pipeline as a first class citizen of the software world.

โžก๏ธ CI/CD pipeline is a separate entity from Machine Learning Training pipeline. There are frameworks and tools that provide capabilities specific to Machine Learning pipelining needs (e.g. KubeFlow Pipelines, Sagemaker Pipelines etc.).
โžก๏ธ ML Training pipeline is an artifact produced by Machine Learning project and should be treated in the CI/CD pipelines as such.

What does it mean? Letโ€™s take a closer look:

Regular CI/CD pipelines will usually be composed of at-least three main steps. These are:

๐—ฆ๐˜๐—ฒ๐—ฝ ๐Ÿญ: Unit Tests - you test your code so that the functions and methods produce desired results for a set of predefined inputs.

๐—ฆ๐˜๐—ฒ๐—ฝ ๐Ÿฎ: Integration Tests - you test specific pieces of the code for ability to integrate with systems outside the boundaries of your code (e.g. databases) and between the pieces of the code itself.

๐—ฆ๐˜๐—ฒ๐—ฝ ๐Ÿฏ: Delivery - you deliver the produced artifact to a pre-prod or prod environment depending on which stage of GitFlow you are in.

What does it look like when ML Training pipelines are involved?

๐—ฆ๐˜๐—ฒ๐—ฝ ๐Ÿญ: Unit Tests - in mature MLOps setup the steps in ML Training pipeline should be contained in their own environments and Unit Testable separately as these are just pieces of code composed of methods and functions.

๐—ฆ๐˜๐—ฒ๐—ฝ ๐Ÿฎ: Integration Tests - you test if ML Training pipeline can successfully integrate with outside systems, this includes connecting to a Feature Store and extracting data from it, ability to hand over the ML Model artifact to the Model Registry, ability to log metadata to ML Metadata Store etc. This CI/CD step also includes testing the integration between each of the Machine Learning Training pipeline steps, e.g. does it succeed in passing validation data from training step to evaluation step.

๐—ฆ๐˜๐—ฒ๐—ฝ ๐Ÿฏ: Delivery - the pipeline is delivered to a pre-prod or prod environment depending on which stage of GitFlow you are in. If it is a production environment, the pipeline is ready to be used for Continuous Training. You can trigger the training or retraining of your ML Model ad-hoc, periodically or if the deployed model starts showing signs of Feature/Concept Drift.
๐Ÿ‘2
Leetcode patterns you should definitely checkout to Learn DSA(Java) from scratch

1๏ธโƒฃ Arrays: Data structures, such as arrays, store elements in contiguous memory locations. They are versatile and useful for a wide variety of purposes.
LeetCode Problems:
โ€ข Search in Rotated Sorted Array (Problem #33)
โ€ข Product of Array Except Self (Problem #238)
โ€ข Find the Missing Number (Problem #268)

2๏ธโƒฃTwo Pointers: In Two Pointers, two pointers are maintained in the collection and can be manipulated to solve a problem efficiently.
LeetCode problems:
โ€ข Trapping Rain Water (Problem #42)
โ€ข Longest Substring Without Repeating Characters (Problem #3)
โ€ข Squares of a Sorted Array (Problem #977)

3๏ธโƒฃIn-place Linked List Traversal: As an explanation, in-place traversal is a technique for modifying linked list nodes without using extra space.
LeetCode Problems:
โ€ข Remove Nth Node From End of List (Problem #19)
โ€ข Reorder List (Problem #143)

4๏ธโƒฃFast & Slow Pointers: This pattern uses two pointers to traverse a sequence at different speeds (fast and slow), often used to detect cycles or find a specific position in the sequence.
LeetCode Problems:
โ€ข Happy Number (Problem #202)
โ€ข Subarray Sum Equals K (Problem #560)
โ€ข Intersection of Two Linked Lists (Problem #160)

5๏ธโƒฃMerge Intervals: This pattern involves merging overlapping intervals in a collection, often used in problems dealing with intervals or ranges.
LeetCode problems:
โ€ข Non-overlapping Intervals (Problem #435)
โ€ข Minimum Number of Arrows to Burst Balloons (Problem #452)

Join for more: https://t.iss.one/crackingthecodinginterview

DSA Interview Preparation Resources: https://topmate.io/coding/886874

ENJOY LEARNING ๐Ÿ‘๐Ÿ‘
๐Ÿ‘2
Java vs Python ๐Ÿ‘†
๐Ÿ‘2๐Ÿ”ฅ2