Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/jhon0010/java-practice

This project, titled "Java Practice", is a comprehensive guide for learning and revising Java programming concepts. It is designed to be a resource for both beginners and experienced developers who want to refresh their knowledge of Java.
https://github.com/jhon0010/java-practice

collections-java functional-interfaces java-backend java-basics lambda semaphore threads

Last synced: about 1 month ago
JSON representation

This project, titled "Java Practice", is a comprehensive guide for learning and revising Java programming concepts. It is designed to be a resource for both beginners and experienced developers who want to refresh their knowledge of Java.

Awesome Lists containing this project

README

        

# Java Practice

This repository is dedicated to reviewing and revising basic Java concepts. It serves as a comprehensive guide for those who are new to Java or those who want to refresh their knowledge. The repository covers a wide range of topics, from basic syntax to more complex concepts like threading and collections.

## Table of Contents

1. [Java Basics](#java-basics)
2. [Threading in Java](#threading-in-java)
3. [Collections in Java](#collections-in-java)
4. [Java 8](#java-8)
5. [Java 9](#java-9)
6. [Java 10](#java-10)
7. [Java 11](#java-11)
8. [Java 12](#java-12)
9. [Java 13](#java-13)
10. [Java 14](#java-14)
11. [Java 15](#java-15)
12. [Java 16](#java-16)
13. [Java 17](#java-17)
14. [Java 18](#java-18)
15. [Java 19](#java-19)
16. [Java 20](#java-20)
17. [Java 21](#java-21)

### Java Basics

This section covers the basic syntax and concepts of the Java programming language. It includes topics such as variables, data types, operators, control flow statements, and more. To navigate to this section, go to the `src/main/java/core_concepts` directory in the project.

### Threading in Java

This section provides examples and explanations on how to create and manage threads in Java. It covers two different ways of creating a thread: by extending the `Thread` class and by implementing the `Runnable` interface. To navigate to this section, go to the `src/main/java/core_concepts/threads` directory in the project.

### Collections in Java

This section focuses on the collections framework in Java. It provides examples and explanations on how to use and manipulate collections, with a particular focus on `HashMap`. To navigate to this section, go to the `src/main/java/core_concepts/collections` directory in the project.

### Java 8

This section covers the new features introduced in Java 8, including lambda expressions, functional interfaces, streams, and method references. To navigate to this section, go to the `src/main/java/features_versions/eight_8` directory in the project.

### Java 9

Java 9 introduced the concept of modules to provide a higher level of abstraction to manage large codebases. It also includes enhancements to the `HttpClient` API. To navigate to this section, go to the `src/main/java/features_versions/nine_9` directory in the project.

### Java 10

Java 10 introduced the concept of local-variable type inference to enhance the language's readability and simplicity. To navigate to this section, go to the `src/main/java/features_versions/ten_10` directory in the project.

### Java 11

Java 11 introduced the `HttpClient` API, which can be used to send HTTP requests and receive HTTP responses. It also introduced new string methods. To navigate to this section, go to the `src/main/java/features_versions/eleven_11` directory in the project.

### Java 12

Java 12 introduced the switch expressions feature, which simplifies coding by extending the switch statement so it can be used as either a statement or an expression. To navigate to this section, go to the `src/main/java/features_versions/twelve_12` directory in the project.

### Java 13

Java 13 introduced text blocks, which are a multi-line string literal that avoids the need for most escape sequences and automatically formats the string in a predictable manner. To navigate to this section, go to the `src/main/java/features_versions/thirteen_13` directory in the project.

### Java 14

Java 14 introduced records, which are a special kind of class that is a transparent holder for a fixed set of values. It also introduced pattern matching for the `instanceof` operator. To navigate to this section, go to the `src/main/java/features_versions/fourteen_14` directory in the project.

### Java 15

Java 15 introduced sealed classes, which are classes or interfaces that impose restrictions on which other classes or interfaces may extend or implement them. To navigate to this section, go to the `src/main/java/features_versions/fiveteen_15` directory in the project.

### Java 16

Java 16 introduced the Vector API, which is an experimental API to express vector computations that reliably compile at runtime to optimal vector hardware instructions on supported CPU architectures. To navigate to this section, go to the `src/main/java/features_versions/sixteen_16` directory in the project.

### Java 17

Java 17 introduced the concept of sealed classes and interfaces. It also introduced enhancements to the pseudo-random number generators. To navigate to this section, go to the `src/main/java/features_versions/seventeen_17` directory in the project.

### Java 18

Java 18 introduced the concept of dominance checking for the same type. It also introduced the Internet Address Resolution SPI. To navigate to this section, go to the `src/main/java/features_versions/eighteen_18` directory in the project.

### Java 19

Java 19 introduced the concept of foreign function and memory API. It also introduced the concept of record patterns and structured concurrency API. To navigate to this section, go to the `src/main/java/features_versions/nineteen_19` directory in the project.

### Java 20

Java 20 introduced the concept of scoped values. To navigate to this section, go to the `src/main/java/features_versions/twenty_20` directory in the project.

### Java 21

Java 21 introduced the concept of sequenced collections and string templates. It also introduced enhancements to the `HttpClient` lifecycle and the `ProcessBuilder` class. To navigate to this section, go to the `src/main/java/features_versions/twentyone_21` directory in the project.
This section focuses on the collections framework in Java. It provides examples and explanations on how to use and manipulate collections, with a particular focus on `HashMap`.