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 Search architectural flow : Search and Index

I would like to explain the high level ATG Search implementation architecture ( for an online store) through the above diagram. In this diagram 1.x denotes the search functionality and 2.x denotes the indexing functionality. I have given JBoss as the application server. Physical Boxes and Application Servers in the diagram ( as recommended by ATG )  : Estore ( Commerce ) Box --> The box with the estore/site ear (with the site JSPs and Java codes). Search Engine Box --> The box with the search engine application running. Indexing Engine Box --> The box with the indexing engine application running. CA (Content Administration) Box --> The box with the ATG CA ear ( where we could take CA -BCC - Search Administration and configure the search projects) . Search Indexer Box --> The box with the ATG Search Index ear ( to fetch the index data from repository). Note that the engine performing indexing will need access ...

Mozilla FireFox - how to add security certificate exception urls

If you visit a web site with a secure connection(https) and if the website's security certificate has some problem like the security certificate presented by the website was not issued by a trusted certificate authority  or  the security certificate has expired or is not yet valid, you will get an error page ( like below in IE ) with an option to continue to this website. When this non secure page is loading, in Internet Explorer, you will get an option to specify whether you need to download the page content files like JS, CSS, Images,... But you will not get such an option in FireFox/Chrome and could see only the text data in this new non secure page. If you are doing some local development with FireFox/Chrome and have such a situation, you might want to override this security restriction. FireFox provides some exception url list in secure certificates menu. Go to Options - Advanced - Encryption - View Certificates and click the exception list and...

ATG Search - search engine tuning settings

In this blog, I am going to list the best tuning settings for ATG Search engine. The AESoapConfig.xml, AESoapWaspConfig.xml  and AEConfig.xml are the xmls referred below and you can find it @  <ATG_DIR>\<Searchx.x>\SearchEngine\<operating_system>\bin\ folder. (1)  Make sure that the AESoapConfig.xml's rwTimeout is less than or equal to routing's readTimeoutMs. You could find the routing's readTimeoutMs @ atg\search\routing\SearchEngineService component.               rwTimeout is the  length of time in seconds to wait before a read or write operation times out on an active connection. The number can be decreased to improve performance. However, a value that is too low could cause slow connections to be prematurely closed. (2)  Adjust the number of engine threads to match the number of CPUs available to the engine. Note that the minimal value for maxThreads and maxSpar...

ATG search installation and search engine log files

Here I would like to explain how your ATG search folder structure looks like after you do the ATG search installation and also about the search engine log files. To get the ATG search, you need to install the ATGSearch<version>Windows.exe after you do the ATG installation. When you install ATG search, the generated folders include an OS dependant folder. In the below screen shot, you could see the "i686-win32-vc71" folder and this is generated since the ATG search ins installed in a windows machine. The ATG search engine is actually an exe file inside this "i686-win32-vc71" folder. Below screen shot give you an idea about the "atgsearch.exe", which is the search engine application. This search engine application (atgsearch.exe) is started by a remote launcher call from the BCC search administration UI.  The log files like "atgsearch_20120106112413_568.log" are the search engine log files where you could see the engine ...

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.