{"id":15068998,"url":"https://github.com/nchinling/java-playground","last_synced_at":"2026-01-30T19:32:49.070Z","repository":{"id":228359520,"uuid":"773754642","full_name":"nchinling/java-playground","owner":"nchinling","description":"Playground on Java 8 and 11 concepts","archived":false,"fork":false,"pushed_at":"2024-05-22T10:07:32.000Z","size":82,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-22T19:48:33.395Z","etag":null,"topics":["java","java-11","java-8"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nchinling.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-18T10:42:45.000Z","updated_at":"2024-05-22T10:07:35.000Z","dependencies_parsed_at":"2024-04-17T11:48:58.656Z","dependency_job_id":"9e000840-84f6-4d9b-920d-cce94718b7ac","html_url":"https://github.com/nchinling/java-playground","commit_stats":null,"previous_names":["nchinling/java-playground"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nchinling%2Fjava-playground","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nchinling%2Fjava-playground/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nchinling%2Fjava-playground/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nchinling%2Fjava-playground/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nchinling","download_url":"https://codeload.github.com/nchinling/java-playground/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243838075,"owners_count":20355979,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","java-11","java-8"],"created_at":"2024-09-25T01:39:59.191Z","updated_at":"2026-01-30T19:32:49.064Z","avatar_url":"https://github.com/nchinling.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Java playground\r\nA repository for me to experiment with Java frameworks and Proof-of-Concepts. \r\n\r\n## 1. Hibernate (in hibernate folder)\r\nLearning on how to use Hibernate. Implemented using 3 approaches (Reading annotation config file, reading, reading pojo config file and properties configuration)  Classes are implemented in 2 ways (ordinary POJO and with annotations). Class mapping file (for nomal POJO), configuration files (for POJO and annotation approaches) and a utility file are created. \r\n\r\n## 2. HelloWorld\r\nExperiment with debugger\r\n\r\n## 3. Multithreading \r\nImplementation of threads implementing runnable interface and extending Thread class. Multithreading allows task to be run in parallel. \r\n\r\n## 4. Exception handling\r\nHandling a customised exception with a try-catch\r\n\r\n## 5. Future\r\nFor handling asynchronous computations. Programme implement ForkJoinTask/ForkJoinPool, Executors.newSingleThreadExecutor() and Executors.newFixedThreadPool(int threadSize);\r\n\r\n## 6. Base64\r\nImplementation of base64 encoding and decoding using a text input\r\n\r\n## 7. Generics\r\nJava generics allow you to write classes, interfaces, and methods that operate on types specified by the user, providing type safety at compile time without the need for explicit casting. There are 2 files, one displaying a simple generic Box and another with a generic implementation of List Collection. \r\n\r\n## 8. Nested\r\nImplementation demonstrating two types of nested classes, Inner class and StaticNested class. \r\nStatic Nested Class: Defined with the static keyword. It can be instantiated without an instance of the outer class and can access the static members of the outer class.\r\nInner Class: An instance of the inner class is tied to an instance of the outer class. It can access all members (including private) of the outer class.\r\n\r\n## 9. CompletableFuture\r\nJava's CompletableFuture is part of the java.util.concurrent package and provides a powerful framework for asynchronous programming. It allows the writing of non-blocking, parallel, and reactive code.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnchinling%2Fjava-playground","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnchinling%2Fjava-playground","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnchinling%2Fjava-playground/lists"}