Introduction to Java Development
1991 |
Stealth Project for consumer electronics market (later Green Project) Language called Oak then renamed to Java |
1993 |
First Person Project for set-top boxes |
1994 |
LiveOak Project for new OS HotJava Web Browser |
1995 |
Sun formally announces Java at SunWorld Netscape incorporates support for Java – Internet Explorer add support for Java |
1996 |
JDK 1.0 Basic support for AWT |
1997 |
JDK 1.1 JavaBeans, RMI, AWT, JDBC, servlets, JNDI, JFC, EJB |
1998 |
Java 1.2 Reflection, Swing, Java Collections Framework, plug-in, IDL Becomes known as Java 2, Port to Linux, Java Community Process |
1999 |
Jini, PersonalJava, Java 2 Source Code, XML support, JavaServer Pages, Java Editions (J2ME, J2SE, J2EE) |
2000 |
J2SE 1.3 HotSpot, RMI/CORBA, JavaSound, JNDI , JPDA |
2001 |
Java Connector Architecture, patterns catalog, Java Web Start 1.0, J2EE 1.3 |
2002 |
J2SE 1.4 |
2004 |
J2SE 1.5 (Java 5) Generics, auto-boxing, metadata (annotations), enums, “for-each” |
2005 |
Java 10th Anniversary |
2006 |
Java 1.6 (Java 6) |
Java Technology consists of:
- Java Language
- Java Platform
- Java Tools
Java language is a general-purpose programming language. It can be used to develop software for mobile devices, browser-run applets, games, as well as desktop, enterprise (server-side), and scientific applications.
Java platform consists of Java virtual machine (JVM) responsible for hardware abstraction, and a set of libraries that gives Java a rich foundation.
Java tools include the Java compiler as well as various other helper applications that are used for day-to-day development (e.g. debugger).
- Object oriented
- Interpreted
- Portable
- Simple yet feature-full
- Secure and robust
- Scalable
- High-performance multi-threaded
- Dynamic
- Distributed
- Object Oriented
- Everything in Java is coded using OO principles. This facilitates code modularization, reusability, testability, and performance.
- Interpreted/Portable
- Java source is complied into platform-independent bytecode, which is then interpreted (compiled into native-code) at runtime. Java’s slogan is "Write Once, Run Everywhere"
- Simple
- Java has a familiar syntax, automatic memory management, exception handling, single inheritance, standardized documentation, and a very rich set of libraries (no need to reinvent the wheel).
- Secure/Robust
- Due to its support for strong type checking, exception handling, and memory management, Java is immune to buffer- overruns, leaked memory, illegal data access. Additionally, Java comes with a Security Manager that provides a sand-box execution model.
- Scalable
- Thanks to its overall design, Java is scalable both in terms of performance/throughput, and as a development environment. A single user can play a Java game on a mobile phone, or millions of users can shop though a Java-based e-commerce enterprise application.
- High-performance/Multi-threaded
- With its HotSpot Just-in-Time compiler, Java can achieve (or exceed) performance of native applications. Java supports multi-threaded development out-of-the-box.
- Dynamic
- Java can load application components at run-time even if it knows nothing about them. Each class has a run-time representation.
- Distributed
- Java comes with support for networking, as well as for invoking methods on remote (distributed) objects through RMI.
- 6.5+ million software developers
- 1.1+ billion desktops with Java installed
- 3+ billion mobile devices with support for Java
- Embedded devices based on Java: set-top boxes, printers, web cams, games, car navigation systems, lottery terminals, medical devices, parking payment stations, etc.
Source: http://www.java.com/en/about/