> For the complete documentation index, see [llms.txt](https://muhammad-tri-wibowo.gitbook.io/java-tutorials/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://muhammad-tri-wibowo.gitbook.io/java-tutorials/introduction-to-java/history-and-features-of-java.md).

# History and Features of Java

**History:**

* **1991:** Java project initiated by James Gosling and his team at Sun Microsystems.
* **1995:** Java 1.0 officially released to the public.
* **2009:** Sun Microsystems acquired by Oracle Corporation.
* **2014:** Java 8 introduced lambdas and the Stream API.
* **2017:** Java 9 released with the module system and enhancements.

<figure><img src="/files/cWNEc969HmnXpaqTTZjG" alt=""><figcaption><p><a href="https://en.wikipedia.org/wiki/Java_version_history">https://en.wikipedia.org/wiki/Java_version_history</a></p></figcaption></figure>

**Key Features:**

1. **Simplicity:** Java was designed to be easy to use and write, allowing developers to create robust applications with fewer codes.
2. **Object-Oriented:** Everything in Java is treated as an object, making it easy to manage and manipulate data structures.
3. **Platform-Independent:** Java code can run on any device or operating system with the help of Java Virtual Machine (JVM), ensuring write once, run anywhere (WORA) capability.
4. **Distributed Computing:** Java supports creating applications that can be distributed across multiple machines in a network.
5. **Multithreading:** Java provides built-in support for multithreading, allowing the execution of multiple threads simultaneously, enhancing the performance of applications.
6. **Robust and Secure:** Java is designed with strong memory management, exception handling, and type checking mechanisms, making it robust and secure against common programming errors.
7. **Dynamic:** Java applications are capable of adapting to an evolving environment, making it suitable for various applications.
8. **Rich Standard Library:** Java comes with a vast library of classes and methods, simplifying the development process by providing pre-built components for various tasks.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://muhammad-tri-wibowo.gitbook.io/java-tutorials/introduction-to-java/history-and-features-of-java.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
