Java is a high-level, class-based, object-oriented programming language that was developed by Sun Microsystems in 1995. It was originally designed for interactive television, but later it was adapted for use in the internet era, especially for web applications. Here are some key points about Java:
- History: Java was developed by a team led by James Gosling at Sun Microsystems. The language was initially called Oak, named after an oak tree outside Gosling's office. The project began in June 1991, aiming to provide an environment for portable, high-performance applications for consumer devices. By 1995, after realizing its potential in the online world, it was renamed Java due to trademark issues with Oak.
- Design Goals:
- It should be "simple, object-oriented, and familiar."
- It must be robust and secure.
- It should be architecture-neutral and portable.
- It should execute with high performance.
- It should be interpreted, threaded, and dynamic.
- Features:
- Platform Independent: Java code is compiled to bytecode, which can run on any platform that has a Java Virtual Machine (JVM), making it "write once, run anywhere."
- Object-Oriented: Everything in Java is associated with classes and objects, along with its attributes and methods.
- Rich API: Java comes with a large set of libraries and APIs for common programming tasks.
- Multithreading: Java supports multithreading, allowing concurrent execution of two or more parts of a program for maximum utilization of CPU.
- Security: The language has built-in security features like the Java Security Manager, which allows the writing of untrusted code in a "sandbox."
- Versions and Evolution:
- Java 1.0 (1996): First official release with basic functionality.
- Java 2 (J2SE 1.2): Introduced the Collections framework.
- Java 5 (J2SE 5.0): Added generics, enhanced for loop, autoboxing, etc.
- Java 8 (2014): Introduced lambda expressions, the Stream API, and the new Date and Time API.
- Java 11 (2018): First long-term support release after Oracle changed the release cadence to six-month cycles.
- Java 17 (2021): Another LTS release, featuring enhancements in performance and new features like sealed classes.
For further reading on Java, you might consult: