<commit_before>Welcome to java-learn
=====================
My Java language university learning. Builded with [IntelliJ IDEA](http://www.jetbrains.com/idea/). Database dump for agile-tool projects made by [MySQL Workbench](http://www.mysql.com/products/workbench/) is placed in `db-dump` folder.

1. Hello world
--------------
Simple hello world application with two classes in two different packages. Folder `just-hello`.

2. Containers
-------------
Class for performing math operations with matrices, such as multiplying. There are two realizations of Matrix class. One of them based on ArrayList, another - on LinkedList. Simple console app tests performance of this two realizations. Also included unit tests for all public methods in Matrix and Vector classes. JUnit library was used for this purpose. Folder `matrix-math`.

3. Strings IO
-------------
- Class `SymbolsUsageStatistics` can read text file and calculate statistics of usage for all symbols from this file.
- Read/write from/to file for `Matrix` class (arraylistbased) with `Reader` and `Writer`.
- Serialization for `Matrix` class (arraylistbased) with `ObjectInputStream` and `ObjectOutputStream`.

4. Threading
------------
> **NOTE:** To be implemented 

5. Jdbc
-------
DAO layer for agile-tool aplication with simple CRUD logic. Using jdbc connector for MySQL. Entities: `User`, `Board`, `BoardColumn`, `WorkItem`, `BoardUserRole`. Corresponding scheme should be deployed to local instance of MySQL.

6. Unit testing, logging
------------------------
Unit tests with [JUnit4](http://junit.org/) for DAO layer of agile-tool app, errors logging with [Log4j2](http://logging.apache.org/log4j/2.x/). Log4j2 package added via Maven. Log4j settings file `log4j2.xml` added to resources folder.

7. Build tools<commit_msg>update readme.md with threading section<commit_after>Welcome to java-learn
=====================
My Java language university learning. Builded with [IntelliJ IDEA](http://www.jetbrains.com/idea/). Database dump for agile-tool projects made by [MySQL Workbench](http://www.mysql.com/products/workbench/) is placed in `db-dump` folder.

1. Hello world
--------------
Simple hello world application with two classes in two different packages. Folder `just-hello`.

2. Containers
-------------
Class for performing math operations with matrices, such as multiplying. There are two realizations of Matrix class. One of them based on ArrayList, another - on LinkedList. Simple console app tests performance of this two realizations. Also included unit tests for all public methods in Matrix and Vector classes. JUnit library was used for this purpose. Folder `matrix-math`.

3. Strings IO
-------------
- Class `SymbolsUsageStatistics` can read text file and calculate statistics of usage for all symbols from this file.
- Read/write from/to file for `Matrix` class (arraylistbased) with `Reader` and `Writer`.
- Serialization for `Matrix` class (arraylistbased) with `ObjectInputStream` and `ObjectOutputStream`.

4. Threading
------------
Queuing system, representing Bank with Accounts, Cashiers and Clients. Clients working in own threads and each has a Pocket. There is another thread for Watcher, which tracking amounts of money on Accounts and in Pockets and checking that summ of amounts is not changed. Placed in folder `threading`.

5. Jdbc
-------
DAO layer for agile-tool aplication with simple CRUD logic. Using jdbc connector for MySQL. Entities: `User`, `Board`, `BoardColumn`, `WorkItem`, `BoardUserRole`. Corresponding scheme should be deployed to local instance of MySQL.

6. Unit testing, logging
------------------------
Unit tests with [JUnit4](http://junit.org/) for DAO layer of agile-tool app, errors logging with [Log4j2](http://logging.apache.org/log4j/2.x/). Log4j2 package added via Maven. Log4j settings file `log4j2.xml` added to resources folder.

7. Build tools
{'fraction_non_alphanumeric': 0.12790097988653945, 'fraction_numerical': 0.008767405879319236, 'mean_word_length': 3.7420537897310515, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 4, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1385242', 'n_tokens_mistral': 1010, 'n_tokens_neox': 984, 'n_words': 473}