Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/jhon0010/java-practice
- Owner: jhon0010
- Created: 2020-05-19T15:01:47.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-03-05T21:16:13.000Z (10 months ago)
- Last Synced: 2024-04-27T00:22:01.114Z (8 months ago)
- Topics: collections-java, functional-interfaces, java-backend, java-basics, lambda, semaphore, threads
- Language: Java
- Homepage:
- Size: 194 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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`.