Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hoangtien2k3/java

☹²ᵏ³ - Java is the programming language and development platform. Write once, run anywhere (WORA). App Java, Dev Java, Web Java
https://github.com/hoangtien2k3/java

cocdejava java-8 java11 java11-spring-boot java9-stream javamobile

Last synced: about 1 month ago
JSON representation

☹²ᵏ³ - Java is the programming language and development platform. Write once, run anywhere (WORA). App Java, Dev Java, Web Java

Awesome Lists containing this project

README

        




[![Build](https://github.com/hoangtien2k3qx1/Java/actions/workflows/build.yml/badge.svg?branch=master)](https://github.com/hoangtien2k3qx1/Java/blob/main/DIRECTORY.md)
[![Discord chat](https://img.shields.io/discord/808045925556682782.svg?logo=discord&colorB=7289DA&style=flat-square)](https://discord.gg/cFAkCXVQ)
[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/hoangtien2k3qx1)

Full My [**Directory**](DIRECTORY.md) has the full list of applications. [Learn Backend](https://www.javaguides.net/p/java-tutorial-learn-java-programming.html)

### All Project are implemented in Java.
These implementations are intended for learning purposes. As such, project java may be less efficient than the Java standard library.

# Java Tutorial | Learn Java Programming | [S.O.L.I.D](https://www.facebook.com/hoangtien2k3/posts/pfbid02jjffuekJ6pejHSbkifNLpeWaSApXZNosfkggrLML5PYMZqE5J4i6Kv7veToP23Zkl)

## Getting Started
- [Java Programming Language - Getting Started]()
- [Java JVM, JRE and JDK Explained with Diagrams]()
- [Java Buzzwords or Features of Java]()
- [Java First Hello World Program]()

## Java Language Basics
- [Variables in Java]()
- [Java main() Method]()
- [Java Access Modifiers]()
- [Arithmetic Operators]()
- [Bitwise Operators]()
- [Equality, Relational, and Conditional Operators]()
- [Primitive Data Types in Java]()
- [Java if Statement]()
- [Java Switch Case Statement]()
- [Java for Loop]()
- [Java while Loop]()
- [Java do while Loop]()
- [Java continue Statement]()
- [Java break Statement]()

## Java Array Tutorial
- [Java Array Basics Guide]()
- [Two Dimensional Array in Java]()
- [Copying Arrays in Java]()
- [Convert Array to ArrayList]()
- [Convert ArrayList to Array]()
- [java.util.Arrays Class API Guide]()

## Java Object-Oriented Programming
- [What Is Object in Java with Programming Examples]()
- [What is Class in Java with Programming Examples]()
- [What are All the Different Ways to Create an Object in Java?]()
- [java.lang.Object Class methods with Examples]()
- [Java Interface]()
- [Java Abstract Class]()
- [Abstraction in Java with Example]()
- [Encapsulation in Java with Example]()
- [Inheritance in Java with Example]()
- [Polymorphism in Java with Example]()
- [Composition in Java with Example]()
- [Aggregation in Java with Example]()
- [Association in Java with Example]()
- [Cohesion in Java with Example]()
- [Coupling in Java with Example]()
- [Delegation in Java with Example]()
- [Oops Concepts in Java]()
- [How to Make Immutable Class in Java]()
- [Packages in Java with Examples]()
- [Overloading Constructors in Java with Examples]()
- [Method Overloading in Java with Examples]()
- [Nested Classes in Java]()

## Wrapper Classes Tutorial
- [Wrapper Classes in Java]()
- [Autoboxing and Unboxing in Java]()
- [Integer Wrapper Class in Java]()
- [Long Wrapper Class in Java]()
- [Float Wrapper Class in Java]()
- [Double Wrapper Class in Java]()
- [Boolean Wrapper Class in Java]()
- [Short Wrapper Class in Java]()
- [Byte Wrapper Class in Java]()
- [Character Wrapper Class in Java]()

## String Handling Tutorial
- [Java String Class API Tutorial]()
- [Java StringBuffer Class API Tutorial]()
- [Java StringBuilder Class API Tutorial]()
- [Guide to Java String Constant Pool]()
- [Guide to String Best Practices in Java (Best Practice)]()
- [String Special Operations with Examples]()
- [String Comparison Methods with Examples]()
- [String Methods for Character Extraction]()
- [String Searching Methods with Examples]()
- [String Modifying Methods with Examples]()

## Exception Handling Tutorial
- [Java Exception Handling Guide]()
- [How the Exception Handling Works in Java]()
- [Three Types of Exceptions in Java]()
- [Exceptions Hierarchy in Java]()
- [Java Chained Exceptions]()
- [java.lang.Throwable Class in Java]()
- [Exception Handling Keywords in Java]()
- [Java try/catch Block]()
- [Java throw Keyword]()
- [Java throws Keyword]()
- [Java finally Block]()
- [The try-with-resources Statement]()
- [Advantages of Java Exceptions]()
- [Java Exception Handling Best Practices]()

## Collection Framework Tutorial
- [Collections Framework in Java]()
- [Collections Framework - The Collection Interface]()
- [Collections Framework - The Set Interface]()
- [Collections Framework - The SortedSet Interface]()
- [Collections Framework - The List Interface]()
- [Collections Framework - The Queue Interface]()
- [Collections Framework - The Deque Interface]()
- [Collections Framework - The Map Interface]()
- [Collections Framework - The SortedMap Interface]()
- [Collections Framework - ArrayList Class]()
- [Collections Framework - LinkedList Class]()
- [Collections Framework - CopyOnWriteArrayList]()
- [Collections Framework - HashSet Class]()
- [Collections Framework - LinkedHashSet Class]()
- [Collections Framework - TreeSet Class]()
- [Collections Framework - CopyOnWriteArraySet]()
- [Collections Framework - EnumSet]()
- [Collections Framework - HashMap Class]()
- [Collections Framework - LinkedHashMap Class]()
- [Collections Framework - TreeMap class]()
- [Collections Framework - EnumMap]()
- [Collections Framework - WeakHashMap]()
- [Collections Framework - IdentityHashMap]()

## Java Generics Tutorial
- [Java Generics - Generics Basics]()
- [Java Generics - Benefits of Generics]()
- [Java Generics - Generic Types]()
- [Java Generics - Generic Methods in Java]()
- [Java Generics - Bounded Type Parameters]()
- [Java Generics - Wildcards]()
- [Java Generic Methods Examples]()
- [Java Generic Interface Examples]()
- [Java Generic Class Examples]()
- [Java Generics Multiple Type Parameters Example]()

## Java Input/Output Tutorials
- [Create File]()
- [Write File]()
- [Delete File]()
- [Copy File]()
- [Move File]()
- [Rename File]()
- [Append to File]()
- [Read File using BufferReader]()
- [Read File using BufferInputStream]()
- [Read File using DataInputStream]()
- [Get File Size in Bytes KB MB GB TB]()
- [How to write an Object to file in Java]()
- [How to Read Object from File]()
- [Compress Files in ZIP format in Java]()
- [Decompress Files from a ZIP file in Java]()
- [Get the current working directory]()
- [Create a directory]()
- [Delete directory]()
- [Copy directory]()
- [Traverse /List a directory structure]()
- [Check if the directory is empty]()

## Java Multithreading Tutorial
- [How to Create and Start a Thread in Java]()
- [Java Thread Sleep Example]()
- [Java Thread Join Example]()
- [Java Thread Set Name Example]()
- [Java Thread interrupt Example]()
- [Java Thread Priority Example]()
- [Java Thread isAlive Example]()
- [ThreadGroup class in Java]()
- [Thread Class in Java]()
- [Runnable Interface in Java]()
- [Synchronization in Multithreading Java]()
- [ThreadLocal class in Java]()

## Java Reflection Tutorial
- [Overview of Java Reflection API]()
- [Java Reflection for Classes]()
- [Java Reflection for Methods]()
- [Java Reflection for Fields]()
- [Java Reflection for Constructors]()
- [Java Reflection for Arrays]()
- [Java Reflection for Enums]()
- [Top Reflection Utility Methods]()
- [Java Reflection Utility Class]()

## Serialization in Java
- [Guide to Serialization in Java]()
- [Java Transient Keyword]()
- [Guide to the understanding of serialVersionUID]()
- [Secure Coding Standards for Java Serialization]()

## Java Annotations
- [Java @Override Annotation]()
- [Java @SafeVarargs Annotation]()
- [Java @Deprecated Annotation]()
- [Java @SuppressWarnings Annotation]()
- [Java @FunctionalInterface Annotation]()
- [All Java Built-In Annotations Examples]()

## Java Language Keywords
- [abstract Java Keyword]()
- [assert Java Keyword]()
- [boolean Java Keyword]()
- [break Java Keyword]()
- [byte Java Keyword]()
- [case Java Keyword]()
- [catch Java Keyword]()
- [char Java Keyword]()
- [class Java Keyword]()
- [continue Java Keyword]()
- [default Java Keyword]()
- [do Java Keyword]()
- [double Java Keyword]()
- [else Java Keyword]()
- [enum Java Keyword]()
- [extends Java Keyword]()
- [final Java Keyword]()
- [finally Java Keyword]()
- [float Java Keyword]()
- [for Java Keyword]()
- [if Java Keyword]()
- [implements Java Keyword]()
- [import Java Keyword]()
- [instanceof Java Keyword]()
- [int Java Keyword]()
- [interface Java Keyword]()
- [long Java Keyword]()
- [native Java Keyword]()
- [new Java Keyword]()
- [package Java Keyword]()
- [private Java Keyword]()
- [protected Java Keyword]()
- [public Java Keyword]()
- [return Java Keyword]()
- [short Java Keyword]()
- [static Java Keyword]()
- [strictfp Java Keyword]()
- [super Java Keyword]()
- [switch Java Keyword]()
- [synchronized Java Keyword]()
- [this Java Keyword]()
- [throw Java Keyword]()
- [throws Java Keyword]()
- [transient Java Keyword]()
- [try Java Keyword]()
- [void Java Keyword]()
- [volatile Java Keyword]()
- [while Java Keyword]()
- [goto Java Keyword]()
- [const Java Keyword]()

## Java best practices
- [Java Enums and Annotations Best Practices]()
- [Java Generics Best Practices]()
- [JUnit Framework Best Practices]()
- [Single Responsibility Principle]()
- [Liskov's Substitution Principle]()
- [Interface Segregation Principle]()
- [Dependency Inversion Principle]()
- [Open Closed Principle]()
- [Oops principles in java]()
- [Restful API Best Practices]()
- [JSP Best Practices]()
- [JDBC Best Practices]()
- [Collection Best Practices]()
- [String Best Practices in Java]()
- [Exception Handling Best Practices]()
- [Synchronization Best Practices]()
- [Guide to JDBC Best Practices]()
- [Serialization Best Practices]()

## Java Swing (GUI) Tutorials
- [Java Swing Hello World Example Tutorial]()
- [Java Swing Application with Database Connection]()
- [Login Application using Java Swing + JDBC + MySQL Example Tutorial]()
- [Registration Form using Java Swing + JDBC + MySQL Example Tutorial]()
- [Java Swing Exit Button]()
- [Swing ToolTip Tutorial with Example]()
- [Java Swing BorderLayout Example]()
- [Java Swing GridLayout Tutorial with Examples]()
- [Swing Mouse Move Events using MouseMotionAdapter]()
- [Java Swing CheckBox Example]()
- [Java Swing Radio Button Example]()
- [Java Swing Progress Bar Example]()
- [Java Swing Combo Box Example]()
- [Java Swing Slider Example]()
- [Java Swing Toggle Button Example]()

## JavaFX Tutorials
- [JavaFX Hello World Example Tutorial]()
- [Registration Form Using JavaFX with MySQL Database]()
- [Login Form Using JavaFX with MySQL Database]()

## Java Programs (For Practices and interviews)
- [Java Program to Count Number of Duplicate Words in String]()
- [Java Program to Count Number of Words in Given String]()
- [Java Program to Count the Number of Occurrences of Substring in a String]()
- [Java Program to Count the Occurrences of Each Character in String]()
- [Java Program to Merge two String Arrays]()
- [Java Program to Remove Duplicate Words from String]()
- [Java Program to Reverse a String(5 ways)]()
- [Java Program to Reverse Each Word of a String]()
- [Java Program to Swap Two Strings]()
- [How to Check if the String Contains only Digits]()
- [How to Check if the String Contains only Letters]()
- [How to Check If the String Contains Only Letters or Digits]()
- [Java Program to Check if Input String is Palindrome]()
- [Java Program to Find all Permutations of String]()
- [Java Program to Remove Duplicate Elements in an Array]()
- [Java Program to Find Largest Element in an Array]()
- [Java Program to Reverse an Array Without Using Another Array]()
- [Java Program to Check the Equality of Two Arrays]()

## Reactive Programming (Project Reactor):
Tông quan:
- Reactive Programming là mô hình lập trình mà ở đó dữ liệu được truyền tải dưới dạng luồng ( stream). Mô hình này dưa trên nguyên tắc Asynchronous và Non-Blocking để làm việc với dữ liệu.

Dưới đây là một số khái niệm mà bạn cần phải biết khi làm việc với mô hình này:
- [Publisher](): Là nhà cung cấp dữ liệu, hoặc là nơi phát ra nguồn dữ liệu.
- [Subscriber](): Lắng nghe Publisher, yêu cầu dữ liệu mới. Hay được gọi Là người tiêu thụ dữ liệu.
- [Backpressure](): Là khả năng mà Subscriber cho phép Publisher có thể xử lý bao nhiêu yêu cầu tại thời điểm đó. Bởi vì Subscriber chịu trách nhiệm về luồng dữ liệu, không phải Publisher vì nó chỉ cung cấp dữ liệu.
- [Stream](): Luồng dữ liệu bao gồm các dữ liệu trả về , các lỗi xảy ra và luồng này phải là luồng bất đồng bộ.

## Reactor:
- Reactor là một nền tảng để ta triển khai việc lập trình theo phong cách reactive programming. Nó được tích hợp trực tiếp với Java 8 funcion APIs như CompletableFuture, Stream, Duration.

Reactor cung cấp 2 loại về Publisher :
- Flux: là một steam phát ra từ 0...n phần tử.

![image](https://github.com/hoangtien2k3qx1/Java/assets/122768076/0bf0c90e-bde5-42be-b51d-4737325a8d30)

- Mono: là một steam phát ra từ 0...1 phần tử.

![image](https://github.com/hoangtien2k3qx1/Java/assets/122768076/9834d757-8cd0-492f-b917-794eba9a7ff9)