# chentong2015/javamasterclass architecture

> Architecture diagram of the GitHub repository chentong2015/javamasterclass, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/chentong2015/javamasterclass
- Repository: https://github.com/chentong2015/javamasterclass

## Overview

This repository is a collection of standalone Java learning examples, not a single application. Its principal use is to study a topic by reading and running the corresponding example; the examples generally do not form a shared execution pipeline. The tree covers language fundamentals, object-oriented and type-system features, streams and regular expressions, and file I/O, with a small modular-JDBC example. The README is empty, and the sampled sources are limited, so the graph groups examples by their paths and only draws module dependencies explicitly declared in source.

Main entry points: [`platform-module-system/dao-module/src/module-info.java`](https://github.com/chentong2015/javamasterclass/blob/main/platform-module-system/dao-module/src/module-info.java) (DAO Module), [`platform-module-system/interface-module/src/module-info.java`](https://github.com/chentong2015/javamasterclass/blob/main/platform-module-system/interface-module/src/module-info.java) (UI Module), [`platform-module-system/common-module/src/module-info.java`](https://github.com/chentong2015/javamasterclass/blob/main/platform-module-system/common-module/src/module-info.java) (Common Module)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_fundamentals["Language Fundamentals"]
  node_core_types["Core Types<br/>[JavaBoolean.java]"]
  node_strings["Strings and Formatting<br/>[JavaString.java]"]
  node_characters["Characters and Encoding"]
  node_control_flow["Control Flow"]
  node_date_time["Date and Time"]
  node_generics["Generics"]
end

subgraph group_oop["Classes and Types"]
  node_classes["Classes and Objects<br/>[JavaClass.java]"]
  node_oop_features["OOP Features<br/>[Animal.java]"]
  node_interfaces["Interfaces and Enums<br/>[IBase.java]"]
  node_modern_types["Records and Sealed Types<br/>[RecordClass.java]"]
  node_annotations["Annotations<br/>[ClassPreamble.java]"]
  node_serialization["Serialization and Cloning"]
end

subgraph group_processing["Data Processing"]
  node_lambdas["Lambdas"]
  node_streams["Streams<br/>[JavaStreams.java]"]
  node_regex["Regular Expressions"]
end

subgraph group_io_modules["I/O and Modules"]
  node_io_streams["I/O Streams"]
  node_files_nio["Files and NIO"]
  node_resources["Resource Loading"]
  node_storage["File Storage Context"]
  node_random_access["Random Access Files"]
  node_common_module["Common Module<br/>[module-info.java]"]
  node_dao_module["DAO Module<br/>[module-info.java]"]
  node_ui_module["UI Module<br/>[module-info.java]"]
end

node_dao_module -->|"requires transitively"| node_common_module
node_ui_module -->|"requires"| node_dao_module

click node_core_types "https://github.com/chentong2015/javamasterclass/blob/main/java-basic/src/main/java/core_types/JavaBoolean.java"
click node_strings "https://github.com/chentong2015/javamasterclass/blob/main/java-basic/src/main/java/core_string/JavaString.java"
click node_characters "https://github.com/chentong2015/javamasterclass/blob/main/java-basic/src/main/java/core_char/CodePointEncoding.java"
click node_control_flow "https://github.com/chentong2015/javamasterclass/blob/main/java-basic/src/main/java/commons/JavaControlFlow.java"
click node_date_time "https://github.com/chentong2015/javamasterclass/blob/main/java-basic/src/main/java/DateTime/JavaLocalDateTime.java"
click node_generics "https://github.com/chentong2015/javamasterclass/blob/main/java-basic/src/main/java/GenericType/GenericTypeBase.java"
click node_classes "https://github.com/chentong2015/javamasterclass/blob/main/java-class/src/main/java/OOP_Class/JavaClass.java"
click node_oop_features "https://github.com/chentong2015/javamasterclass/blob/main/java-class/src/main/java/OOP_Features/Inheritance/Animal.java"
click node_interfaces "https://github.com/chentong2015/javamasterclass/blob/main/java-class/src/main/java/OOP_Types/Interface/IBase.java"
click node_modern_types "https://github.com/chentong2015/javamasterclass/blob/main/java-class/src/main/java/OOP_Types/record_class/RecordClass.java"
click node_annotations "https://github.com/chentong2015/javamasterclass/blob/main/java-class/src/main/java/OOP_Types/Annotation/ClassPreamble.java"
click node_serialization "https://github.com/chentong2015/javamasterclass/blob/main/java-class/src/main/java/Object_Serialization/JavaObjectSerialization.java"
click node_lambdas "https://github.com/chentong2015/javamasterclass/blob/main/java-basic/src/main/java/LambdaExpression/BaseLambdaExpressions.java"
click node_streams "https://github.com/chentong2015/javamasterclass/blob/main/java-basic/src/main/java/Streams/JavaStreams.java"
click node_regex "https://github.com/chentong2015/javamasterclass/blob/main/java-basic/src/main/java/RegularExpression/RegularExpressionAPI.java"
click node_io_streams "https://github.com/chentong2015/javamasterclass/blob/main/java-core-io/src/main/java/io/input_stream/BaseInputStream.java"
click node_files_nio "https://github.com/chentong2015/javamasterclass/blob/main/java-core-io/src/main/java/nio/files/JavaFilesClass.java"
click node_resources "https://github.com/chentong2015/javamasterclass/blob/main/java-core-io/src/main/java/resources/AbstractResourcesLoader.java"
click node_storage "https://github.com/chentong2015/javamasterclass/blob/main/java-core-io/src/main/java/storage/FileStorageContext.java"
click node_random_access "https://github.com/chentong2015/javamasterclass/blob/main/java-core-io/src/main/java/random_access/RandomAccessFileTemplate.java"
click node_common_module "https://github.com/chentong2015/javamasterclass/blob/main/platform-module-system/common-module/src/module-info.java"
click node_dao_module "https://github.com/chentong2015/javamasterclass/blob/main/platform-module-system/dao-module/src/module-info.java"
click node_ui_module "https://github.com/chentong2015/javamasterclass/blob/main/platform-module-system/interface-module/src/module-info.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_core_types,node_strings,node_characters,node_control_flow,node_date_time,node_generics toneBlue
class node_classes,node_oop_features,node_interfaces,node_modern_types,node_annotations,node_serialization toneAmber
class node_lambdas,node_streams,node_regex toneMint
class node_io_streams,node_files_nio,node_resources,node_storage,node_random_access,node_common_module,node_dao_module,node_ui_module toneRose
```

## Components

### Language Fundamentals

- [Core Types](https://github.com/chentong2015/javamasterclass/blob/main/java-basic/src/main/java/core_types/JavaBoolean.java): `java-basic/src/main/java/core_types/JavaBoolean.java`
- [Strings and Formatting](https://github.com/chentong2015/javamasterclass/blob/main/java-basic/src/main/java/core_string/JavaString.java): `java-basic/src/main/java/core_string/JavaString.java`
- [Characters and Encoding](https://github.com/chentong2015/javamasterclass/blob/main/java-basic/src/main/java/core_char/CodePointEncoding.java): `java-basic/src/main/java/core_char/CodePointEncoding.java`
- [Control Flow](https://github.com/chentong2015/javamasterclass/blob/main/java-basic/src/main/java/commons/JavaControlFlow.java): `java-basic/src/main/java/commons/JavaControlFlow.java`
- [Date and Time](https://github.com/chentong2015/javamasterclass/blob/main/java-basic/src/main/java/DateTime/JavaLocalDateTime.java): `java-basic/src/main/java/DateTime/JavaLocalDateTime.java`
- [Generics](https://github.com/chentong2015/javamasterclass/blob/main/java-basic/src/main/java/GenericType/GenericTypeBase.java): `java-basic/src/main/java/GenericType/GenericTypeBase.java`

### Classes and Types

- [Classes and Objects](https://github.com/chentong2015/javamasterclass/blob/main/java-class/src/main/java/OOP_Class/JavaClass.java): `java-class/src/main/java/OOP_Class/JavaClass.java`
- [OOP Features](https://github.com/chentong2015/javamasterclass/blob/main/java-class/src/main/java/OOP_Features/Inheritance/Animal.java): `java-class/src/main/java/OOP_Features/Inheritance/Animal.java`
- [Interfaces and Enums](https://github.com/chentong2015/javamasterclass/blob/main/java-class/src/main/java/OOP_Types/Interface/IBase.java): `java-class/src/main/java/OOP_Types/Interface/IBase.java`
- [Records and Sealed Types](https://github.com/chentong2015/javamasterclass/blob/main/java-class/src/main/java/OOP_Types/record_class/RecordClass.java): `java-class/src/main/java/OOP_Types/record_class/RecordClass.java`
- [Annotations](https://github.com/chentong2015/javamasterclass/blob/main/java-class/src/main/java/OOP_Types/Annotation/ClassPreamble.java): `java-class/src/main/java/OOP_Types/Annotation/ClassPreamble.java`
- [Serialization and Cloning](https://github.com/chentong2015/javamasterclass/blob/main/java-class/src/main/java/Object_Serialization/JavaObjectSerialization.java): `java-class/src/main/java/Object_Serialization/JavaObjectSerialization.java`

### Data Processing

- [Lambdas](https://github.com/chentong2015/javamasterclass/blob/main/java-basic/src/main/java/LambdaExpression/BaseLambdaExpressions.java): `java-basic/src/main/java/LambdaExpression/BaseLambdaExpressions.java`
- [Streams](https://github.com/chentong2015/javamasterclass/blob/main/java-basic/src/main/java/Streams/JavaStreams.java): `java-basic/src/main/java/Streams/JavaStreams.java`
- [Regular Expressions](https://github.com/chentong2015/javamasterclass/blob/main/java-basic/src/main/java/RegularExpression/RegularExpressionAPI.java): `java-basic/src/main/java/RegularExpression/RegularExpressionAPI.java`

### I/O and Modules

- [I/O Streams](https://github.com/chentong2015/javamasterclass/blob/main/java-core-io/src/main/java/io/input_stream/BaseInputStream.java): `java-core-io/src/main/java/io/input_stream/BaseInputStream.java`
- [Files and NIO](https://github.com/chentong2015/javamasterclass/blob/main/java-core-io/src/main/java/nio/files/JavaFilesClass.java): `java-core-io/src/main/java/nio/files/JavaFilesClass.java`
- [Resource Loading](https://github.com/chentong2015/javamasterclass/blob/main/java-core-io/src/main/java/resources/AbstractResourcesLoader.java): `java-core-io/src/main/java/resources/AbstractResourcesLoader.java`
- [File Storage Context](https://github.com/chentong2015/javamasterclass/blob/main/java-core-io/src/main/java/storage/FileStorageContext.java): `java-core-io/src/main/java/storage/FileStorageContext.java`
- [Random Access Files](https://github.com/chentong2015/javamasterclass/blob/main/java-core-io/src/main/java/random_access/RandomAccessFileTemplate.java): `java-core-io/src/main/java/random_access/RandomAccessFileTemplate.java`
- [Common Module](https://github.com/chentong2015/javamasterclass/blob/main/platform-module-system/common-module/src/module-info.java): `platform-module-system/common-module/src/module-info.java`
- [DAO Module](https://github.com/chentong2015/javamasterclass/blob/main/platform-module-system/dao-module/src/module-info.java): `platform-module-system/dao-module/src/module-info.java`
- [UI Module](https://github.com/chentong2015/javamasterclass/blob/main/platform-module-system/interface-module/src/module-info.java): `platform-module-system/interface-module/src/module-info.java`

## Connections

- DAO Module → Common Module: requires transitively
- UI Module → DAO Module: requires
