Thursday, October 28, 2010

The Evolution of Java

 The Evolution of JAVA

JDK 1.0 Intial Release

JDK 1.1 
  • an extensive retooling of the AWT event model
  • Inner classes added to the language
  • JavaBeans
  • JDBC
  • RMI
J2SE 1.2 
  • strictfp keyword
  • reflection which supports introspection only, no modification at runtime possible
  • The swing graphical API was integrated into the core classes
  • Sun's JVM was equipped with a JIT Compiler for the first time
  • Java aplug-in
  • Java IDL, and IDL Implementation for CORBA Interoperability.
  • Collection Framework

J2SE 1.3
  • HotSpot JVM Included
  • RMI was modified to support optional compatibilty with CORBA
  • JAvaSound
  • Java Naming and Directory inteface (JNDI) included in core libraries (previously available as an extension)
  • Java platform Debugger Architecture(JPDA)
J2SE 1.4
  • Assesrt Keyword
  • Regular expression modedled after perl regular expressions.
  • exception chaining allows an exception to encapsulate original/ lower-level exception
  • Internet protocal version (IPV6) support
  • non-blocking NIO (new input / output)
  • Logging API
  • Image I/O API for reading and writing images in formats like JPEG and PNG
  • Integrated XML parser and XSLT processor(JAXP)
  • Integrated Security and cryptography
J2SE 5.0
  • Generics
  • Metadata
  • Autoboxing / unboxing
  • Enumerations
  • Swing New skinnable look and feel, called synth
  • Varargs
  • Enchanced "for loop"
  • Fix the previously broken semantics of the java Memory model, which defines how threads interact through memory.
  • Automatic Stud generation for RMI objects
Java SE 6
  • Support for order win9x sessions dropped
  • Scripting Language Support (JSR 223)
  • Dramatic performance improvements for the core
  • platform and swing
  • Improved webservice support through JAX WS
  • JDBC 4.0 support
  • JAva compiler aPI
  • Upgrade of JAXB to version2.0
  • support for pluggable annotations
  • Many GUI improvements
Java SE7
  • JVM support for dynamic languages, following the prototyping work currently done on the Multi language virtual machine
  • A new library for parallel computing pn Multi  core processors

Wednesday, October 27, 2010

The History of Java

The History of JAVA

          Java is related to C++, which is a direct descendant of C. Much of the character of java is inherited from these two languages. From C, Java derives its Syntax. Many of java's Object-Oriented features were influenced by C++. In fact, several of Java's defining characteristics come from or are responses to its predecessors.

The Creation of JAVA

       Java was conceived by James Gosling, Patrick Naughton, Chris Warth, Ed Frank and Mike Sheridan at Sun Micro Systems, Inc in 1991. It took 18 moths to develop the first working version. The language was initially called "Oak" but was renamed "Java" in 1995. Between the initial  implementation of Oak in the fall of 1992 and the public announcement of java in the spring of 1995, many more people contributed ti the design and evolution of the language. Bill joy, Arthur van Hoff, Jonathan Payne, Frank Yellin and Tim Lindholm were key contributors to the maturing of the original prototype.

Java's Magic: The Bytecode

     The key that allows Java to solve both the security and the portability problems just described in that the output of a Java compiler is not executable code. Rather it is bytecode. Bytecode is a highly optimized set of instructions designed to be executed by the Java run-time system, which is called Java Virtual Machine(JVM). In essence the original JVM was designed as an interpreted for bytecode.
 
The Java Buzzwords

  • Simple
  • Secure
  • Portable
  • Object-orinted
  • Robust
  • Multithreaded
  • Architecure-neutral
  • Interpreted
  • High performance
  • Distributed
  • Dynamic

Understanding OOP Concepts

 OOPs:


Classes--The "Blueprints" for an object and the actual code that defines the properties and methods.

Objects-- Running instances of a class that contain all the internal data and state information needed for your application to function.

Inheritance-- The ability to define a class of one kind as being a subtype of a different kind of class (much the same way a square is a kind of rectangle)

Polymorphism-- Allows a class to be defined as being a member of more than one category of classes (just a car is a "thing with an engine" and "a thing with wheels")

Interfaces-- A way of specifying that an object is capable of doing something without actually defining how it is to be done (e.g a dog and a human are "things that walk" but they do it very differently )

Encapsulation-- The ability of an object to project access to its internal data.

Why Java is called Java?

Why Java is called Java?

Very interesting question “why java is called java?” isn’t it?
When I was attending the class of Java, we are asked by the teacher. Why Java is called java? We don’t have answer to this question. Later the teacher explain us that:-
Once they were deciding on what to call it. They were at a coffee shop drinking coffee, and somehow they thought of naming it java, which is another word for coffee. As coffee from JAVA island, Indonesia is so famous that sometimes coffee is itself called Java in US slang, the name was a good option for a cool and attractive name.
Note: - Java was originally named Oak, but was changed to Java, in hopes of drawing more interest to the new language.

This article explains how Java got it’s name:
http://www.javaworld.com/jw-10-1996/jw-10-javaname.html

Java 1.7 New Features Over 1.6

Automatic Resource Management Description: A proposal to support scoping of resource usage in a block with automatic resource cleanup. T...