> For the complete documentation index, see [llms.txt](https://bernardo.gitbook.io/development-docs-java/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bernardo.gitbook.io/development-docs-java/functional/general.md).

# General

Java 8 gave support to the functional programming paradigm in Java.

Several patterns are supported, such as pipelines (as streams), functions or mapping.

As usual with functional programming, try to keep functions pure. Keep the code in each component self-contained, and with no side effects.

## More Information

* [Java 8 Idioms](https://www.ibm.com/developerworks/java/library/j-java8idioms5/index.html)
* [Functional Interfaces in Java 8](http://www.baeldung.com/java-8-functional-interfaces)
