Java 8 features
- Lambda Expressions (using
->)
- Functional Interfaces (SAM,
@FunctionalInterface)
- Method references
- Default and Static methods in Interface
- Improved APIs:
- Collection API improvements
removeIf(), replaceAll() etc.
- Concurrency API improvements
- New Stream API
- New Date Time API
- New Optional Class
forEach in Iterable Interface
- Nashorn JS Engine
- introduced
jjs CLI to execute JS code
- Nashorn JS engine has been removed in Java 15+
- Memory:
- PermGen memory space removed and replaced with Metaspace
History
- Java is an island of Indonesia where multiple cities are located
- Most populous island of the World
- Jakarta is capital city of Indonesia located in Java islands
- Most populous city of Indonesia
- Java programming Language is named after Java Coffee which was the most favorite coffee of creators at Sun Microsystems
- Java EE or previously J2EE is a specification developed by Sun Microsystem
- In 2017 Oracle acquired Sun Microsystem
- In 2018, transferred to Eclipse Foundation and rebranded as Jakarta EE
- Specifications include:
- Jakarta Server Pages (JSP)
- Jakarta Standard Tag Library (JSTL)
- Jakarta Enterprise Beans (EJB)
- Jakarta RESTful Web Services (JAX-RS)
- Jakarta Bean Validation
- Jakarta Contexts and Dependency Injection (CDI)
- Jakarta Persistence API (JPA)
- Eclipse Foundation is open-source organization and currently manage:
- Eclipse IDE
- Jakarta EE (formerly Java EE/J2EE)
- Spring learned from Jakarta EE/Java EE and its similar competitors are similar in nature and they learned from each other
- developed by Rod Johnson in company SpringSource (acquired by VMWare)
- Spring implements some part of Jakarta EE specification
- earlier package names:
javax.*
- new package names:
jakarta.*