Skip to main content

Java History and main changes over Java versions


Java SE 7

  1. Codename Dolphin.
  2. Releasing on July 28, 2011.
  3. Better integral literals allowing for underscores as digit separators.
  4. Strings in switch Statements.
  5. Improved Type Inference for Generic Instance Creation.
  6. Improved Compiler Warnings and Errors When Using Non-Reifiable Formal Parameters with Varargs Methods.
  7. Catching Multiple Exception Types and Rethrowing Exceptions with Improved Type Checking .
  8. JVM support for dynamic languages, following the prototyping work currently done on the Multi Language Virtual Machine Compressed 64-bit pointers. Available in Java 6 with -XX:+UseCompressedOops.
  9. Concurrency and collections updates: a lightweight fork/join framework, flexible and reusable synchronization barriers, transfer queues, concurrent linked double-ended queues, and thread-local pseudo-random number generators.
  10. New file I/O library to enhance platform independence and add support for metadata and symbolic links. The new packages are java.nio.file and java.nio.file.attribute.A fully-functional and supported NIO.2 filesystem provider for zip and jar files.
  11. A portable implementation of the standard Elliptic Curve Cryptographic (ECC) algorithms, so that all Java applications can use ECC.
  12. An XRender pipeline for Java 2D, which improves handling of features specific to modern GPUs.
  13. Enhanced library-level support for new network protocols, including SCTP(Stream Control Transmission Protocol) and Sockets Direct Protocol.
  14. Upgrade the components of the XML stack to the most recent stable versions: JAXP 1.4, JAXB 2.2a, and JAX-WS 2.2
  15. Upgrade the supported version of Unicode to 6.0
  16. Locale enhancement: upgrade the java.util.Locale class to support IETF BCP 47 (Tags for Identifying Languages) and UTR 35 (Local Data Markup Language).
  17. Separate user locale and user-interface locale: upgrade the handling of locales to separate formatting locales from user-interface language locales.
  18. Upgrade class-loader architecture: modifications to the ClassLoader API and implementation to avoid deadlocks in non-hierarchical class-loader topologies.
  19. Method to close a URLClassLoader: a method that frees the underlying resources, such as open files, held by a URLClassLoader.
  20. Upgrade the networking code to use the Windows Vista IPv6 stack, when available, in preference to the legacy Windows stack.
  21. Gervill sound synthesizer: drop the old, proprietary, encumbered sound synthesizer in favor of Gervill, a synthesizer created as a proposal for the Audio Synthesis Engine Project.
  22. Enhancements to the existing com.sun.management MBeans to report the recent CPU load of the whole system, the CPU load of the JVM process, and to send JMX notifications when GC events occur.
  23. Introduction to JDBC 4.1 with  the following features:


  • The ability to use a try-with-resources statement to automatically close resources of type Connection, ResultSet, and Statement.
  • RowSet 1.1: The introduction of the RowSetFactory interface and the RowSetProvider class, which enable you to create all types of row sets supported by your JDBC driver.

Find the Java 7 deprecated code @ http://download.oracle.com/javase/7/docs/api/deprecated-list.html

Oracle has published @ 27-June-2011 , the first release candidate for JDK 7 : http://jdk7.java.net/download.htmlx


Java SE 6 (December 11, 2006)

  1. Codename Mustang.
  2. As of this version, Sun replaced the name “J2SE” with Java SE and dropped the “.0? from the version number. Internal numbering for developers remains 1.6.0.
  3.  The current revision is Update 26 which was released in June 2011.
  4. Support for older Win9x versions dropped. Unofficially Java 6 Update 7 is the last release of Java shown to work on these versions of Windows. This is believed to be due to the major changes in Update 10.
  5. Scripting Language Support. Generic API for tight integration with scripting languages, and built-in Mozilla JavaScript Rhino integration.
  6. Dramatic performance improvements for the core platform and Swing.
  7. Improved Web Service support through JAX-WS.
  8. JDBC 4.0 support.
  9. Java Compiler API, an API allowing a Java program to select and invoke a Java Compiler programmatically.
  10. Upgrade of JAXB to version 2.0: Including integration of a StAX parser.
  11. Support for pluggable annotations.
  12. Many GUI improvements, such as integration of SwingWorker in the API, table sorting and filtering, and true Swing double-buffering (eliminating the gray-area effect).
  13. JVM improvements include: synchronization and compiler performance optimizations, new algorithms and upgrades to existing garbage collection algorithms, and application start-up performance.
  14. Java Deployment Toolkit, a set of JavaScript functions to ease the deployment of applets and Java Web Start applications.
  15. Java Kernel, a small installer including only the most commonly used JRE classes. Other packages are downloaded when needed.
  16. Java Quick Starter, to improve cold start-up time.
  17. Improved performance of Java2D graphics primitives on Windows, using Direct3D and hardware acceleration.
  18. A new Swing look and feel called Nimbus based on synth.
  19. Next-Generation Java Plug-In: applets now run in a separate process and support many features of Web Start applications.
  20. The -XX:+DoEscapeAnalysis option directs the HotSpot JIT compiler to use escape analysis to determine if local objects can be allocated on the stack instead of the heap.
  21. Includes “tiered” compilation in the Server VM that enables it to start quickly as does the Client VM, while achieving superior peak performance. This feature is enabled by specifying -server and -XX:+TieredCompilation command options.

Find the Java 6 deprecated code @ http://download.oracle.com/javase/6/docs/api/deprecated-list.html



J2SE 5.0 (September 30, 2004)

  1. Codename Tiger.
  2. J2SE 5.0 entered its end-of-life on April 8, 2008 and is no longer supported by Sun as of November 3, 2009.
  3. Enhanced for loop(for each for loop).
  4. Enumerations: The enum keyword creates a typesafe, ordered list of values (such as Day.MONDAY, Day.TUESDAY, etc.). Previously this could only be achieved by non-typesafe constant integers or manually constructed classes (typesafe enum pattern).
  5. Assertions added in java 1.5
  6. AutoBoxing/Unboxing, automatic conversions between primitive types (such as int) and primitive wrapper classes (such as Integer).
  7. Generics (example: typed Collections, Set(<String>) , provides compile-time (static) type safety for collections).
  8. Varagrs, variable arguments. (example : for printf() function,allows variable number of different arguments).
  9. StringBuilder class in jdk 1.5 (java.lang package).
  10. Annotations, allows language constructs such as classes and methods to be tagged with additional data, which can then be processed by metadata-aware utilities.
  11. Static imports.
  12. Fix the previously broken semantics of the Java Memory Model, which defines how threads interact through memory.
  13. Automatic stub generation for RMI objects.
  14. Swing: New skinnable look and feel, called synth.
  15. The concurrency utilities in package java.util.concurrent.
  16. Scanner class for parsing data from various input streams and buffers.
  17. Java 5 is the last release of Java to officially support the Microsoft Windows 9x line (Windows 95, Windows 98, Windows ME) :  http://www.java.com/en/download/faq/java_5_eol.xml

Unofficially, Java SE 6 Update 7(1.6.0.7) is the last version of Java to be shown working on this family of operating systems. http://java.com/en/download/help/sysreq.xml.

Find the Java 5 deprecated code @ http://download.oracle.com/javase/1.5.0/docs/api/deprecated-list.html.


J2SE 1.4 (February 6, 2002)

  1. Codename Merlin.
  2. This was the first release of the Java platform developed under the Java Community Process as JSR 59.
  3. Assert keyword.
  4. Regular expressions modeled after Perl regular expressions.
  5. Exception chaining allows an exception to encapsulate original lower-level exception.
  6. Internet Protocol version 6 (IPv6) support.
  7. Non-blocking NIO (New Input/Output).
  8. Logging API.
  9. Image I/O API for reading and writing images in formats like JPEG and PNG.
  10. Integrated XML parser and XSLT processor (JAXP).
  11. Integrated security and cryptography extensions (JCE, JSSE, JAAS).
  12. Java Web Start included.
  13. Preferences API (java.util.prefs)


J2SE 1.3 (May 8, 2000)

  1. Codename Kestrel.
  2. HotSpot JVM included.
  3. RMI was modified to support optional compatibility with CORBA.
  4. JavaSound.
  5. Java Naming and Directory Interface (JNDI) included in core libraries (previously available as an extension).
  6. Java Platform Debugger Architecture (JPDA).
  7. Synthetic proxy classes.


J2SE 1.2 (December 8, 1998)

  1. Codename Playground.
  2. This and subsequent releases through J2SE 5.0 were rebranded as Java 2 and the version name “J2SE” (Java 2 Platform, Standard Edition) replaced JDK to distinguish the base platform from J2EE (Java 2 Platform, Enterprise Edition) and J2ME (Java 2 Platform, Micro Edition).
  3. strictfp keyword.
  4. The Swing graphical API was integrated into the core classes.
  5. Sun’s JVM was equipped with a JIT compiler for the first time.
  6. Java Plug-in.
  7. Java IDL, an IDL implementation for CORBA interoperability.
  8. Collections framework.



JDK 1.1 (February 19, 1997)

  1. An extensive retooling of the AWT event model
  2. Inner classes added to the language
  3. JavaBeans
  4. JDBC
  5. RMI
  6. Reflection which supported Introspection only, no modification at runtime was possible.



JDK 1.0 (January 23, 1996)

  1. Codename Oak.
  2. Initial release
  3. The first stable version was the JDK 1.0.2 is called Java 1

Comments

Popular posts from this blog

ATG Product Catalog schema ER diagram

Check out the O rder schema ER-Diagram @   http://tips4ufromsony.blogspot.in/2012/02/atg-order-schema-er-diagram.html Check out the User Profile  schema ER-Diagram @ http://tips4ufromsony.blogspot.in/2012/03/atg-user-profile-schema-er-diagram.html If you would like to know the relationship between different Product Catalog tables, please find below screen shots of  Product Catalog schema ER Diagrams.

Useful windows shortcut keys

Following are the most useful set of windows shortcut keys that I would like to share with you. run commands calc        -->  Calculator  mspaint   -->  To get Paint textpad   -->  To get Textpad if installed cmd        -->  Opens a new Command Window (cmd.exe)  control    -->  Displays Control Panel  msconfig   -->  Configuration to edit startup files  compmgmt.msc  -->  Computer management  fsmgmt.msc      -->  Folder Sharing Management  services.msc     -->   System Services  appwiz.cpl  --> Add/Remove Programs  ncpa.cpl     -->  Network Connections  %userprofile%  -->  Opens you User's Profile  %temp%  -->  Opens temporary file Folder  temp ...

Income Tax process and e-filing

http://financeminister.in/income_tax_calculator.php https://incometaxindiaefiling.gov.in Below I am listing the step-by-step activities of the Tax Process that a working professional need to do in a given Financial Year. Here FY refers to Financial Year  and  AY refers to Assesment Year. Each month we will pay the Tax (From APRIL 20xx to MARCH 20xx+1) through our Employer for the FY 20xx – 20xx+1. In the month April 20xx, we will give the investment details to the employer (in our employer specified portal) for the FY 20xx – 20xx+1. In the month January 20xx+1, we will give the investment proof details , Rent receipts… to the Employer Finance Department for the FY 20xx – 20xx+1. In the month MAY/JUNE 20xx+1, employer gives the Form 16 for the FY 20xx – 20xx+1 to us (The proof given by the employer to the employee for the tax paid by the employee). In the month July 20xx+1 (on or before July 31st of every year), we will fill the ITR forms (earlier it was NayaSaral f...

JBoss - how to take thread dumps

Following are the different options in JBoss to take the thread dump. 1. Using JBoss jmx-console :    Got to http://localhost:8080/jmx-console  and search for the mbean " serverInfo " and click on that link. Click the  invoke mbean operation under listThreaddump() method. This will give you the current snapshot of threads which are running in your JBoss jvm. 2. By using twiddle :   In the commnad promt go to <JBOSS-HOME>/bin and run the command  twiddle.bat invoke "jboss.system:type=ServerInfo" listThreadDump > threadDump.html  and you could find the threadDump.html with the JBoss thread dump. 3. Using "Interrupt" signal :  Use kill -3 <process-id> to generate thread dump. You will find the thread dumps in server logs.

How to simulate Browser back button

When someone asks how to simulate a back button, they really mean to ask how to create a link that points to the previously visited page. Most browsers tend to keep a list of which websites the user has visited and in what order they have done so. The DOM window object provides access to the browser's history through the history object. Moving backward and forward through the user's history is done using the   back(), forward(), and go() methods of the  history  object. To move backward through history, just do window.history.back() ; This will act exactly like the user clicked on the Back button in their browser toolbar. Find below a sample html code: <html> <head> <script type="text/javascript"> function goBack(){  window.history.back() } </script> </head> <body>    <input type="button" value="Back" onclick="goBack()" /> </body> </html>