{"id":19414500,"url":"https://github.com/khachornchit/java-review","last_synced_at":"2026-04-13T17:07:10.477Z","repository":{"id":100328325,"uuid":"172184379","full_name":"khachornchit/java-review","owner":"khachornchit","description":"This repository reviews Java Core and Java 8 functionality, i.e. lambdas function, functional interfaces, method references, and collections, collections improvements, and how come the benefit of using lambda enables functional programming, readable and concise code, easier-to-use APIs and libraries, enables support for parallel processing.","archived":false,"fork":false,"pushed_at":"2023-11-17T14:25:34.000Z","size":507,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-07T16:12:14.705Z","etag":null,"topics":["java","java-8","javaee","maven","spring-mvc","tomcat-server"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/khachornchit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-02-23T07:17:56.000Z","updated_at":"2023-11-17T06:47:48.000Z","dependencies_parsed_at":"2023-11-17T16:08:14.953Z","dependency_job_id":null,"html_url":"https://github.com/khachornchit/java-review","commit_stats":null,"previous_names":["khachornchit/java-review"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khachornchit%2Fjava-review","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khachornchit%2Fjava-review/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khachornchit%2Fjava-review/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khachornchit%2Fjava-review/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/khachornchit","download_url":"https://codeload.github.com/khachornchit/java-review/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240593183,"owners_count":19825939,"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-8","javaee","maven","spring-mvc","tomcat-server"],"created_at":"2024-11-10T12:38:22.662Z","updated_at":"2026-04-13T17:07:10.457Z","avatar_url":"https://github.com/khachornchit.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Java Review\n\n## Core Java Review\n\nThis repository serves as a comprehensive review guide for core Java concepts, offering a structured overview of\nfundamental topics essential for Java development. It covers essential data types, string manipulation, conditional\nstatements (if, else, switch), and looping constructs. Additionally, the repository delves into array usage, static\nkeyword applications, string builder functionality, and techniques for string comparison. Core principles of\ncollections, including Sets and Lists, are explained, followed by a detailed exploration of HashMaps and LinkedHashMaps.\nObject-oriented programming (OOP) principles are covered, emphasizing encapsulation, inheritance, and polymorphism. The\nrepository concludes with a study of generics, providing a solid foundation for Java developers or those seeking a\nrefresher on key language features.\n\n## Java8 Review\n\n## Lambda Expressions\n\nAdvantage: Lambda expressions enable concise and expressive syntax for writing anonymous functions. This promotes\nfunctional programming paradigms in Java.\n\nLambda Benefit\n\n* Enables functional programming\n* Readable and concise code\n* Easier to use APIs and libraries\n* Enables support for parallel processing\n\n## Functional Interfaces\n\nAdvantage: Functional interfaces, interfaces with a single abstract method, can be used in conjunction with lambda\nexpressions, promoting a functional programming style.\n\n## Stream API\n\nAdvantage: Streams provide a declarative and parallel approach to processing collections, enhancing code readability and\nperformance.\n\n## Default Methods\n\nAdvantage: Default methods allow interfaces to have method implementations, aiding in backward compatibility when adding\nnew methods to interfaces.\n\n## Date and Time API\n\nAdvantage: While not specifically designed for microservices, Java 8's features, especially lambda expressions and the\nStreams API, can contribute to writing more modular and scalable code.\n\n## Method References\n\nAdvantage: Simplicity and conciseness when calling a static method.\n\n## Method References\n\n* Reference to a Static Method\n* Reference to an Instance Method of a Particular Object\n* Reference to an Instance Method of an Arbitrary Object of a Particular Type\n* Reference to a Constructor\n\n## Optional\n\n* Avoiding Null Checks with Optional\n* Chaining Optional Methods\n* Default Values with orElse\n* Throwing Exceptions with orElseThrow\n\n## Streams\n\nAdvantages of Streams:\n\n* Concise and Declarative Syntax: Streams provide a concise and declarative way to express complex data manipulations.\n  The code is often more readable and expressive.\n* Parallelism: Streams can easily be parallelized, allowing for efficient parallel processing of data. This is\n  particularly useful for modern multicore processors.\n* No Side Effects: Stream operations do not modify the underlying data source. They are designed to be non-mutating,\n  promoting functional programming principles.\n* Pipeline of Operations: Stream operations can be chained together to form a pipeline, enabling a sequence of\n  operations to be applied to a collection in a single statement.\n\n## Nashorn (JavaScript Engine)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhachornchit%2Fjava-review","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkhachornchit%2Fjava-review","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhachornchit%2Fjava-review/lists"}