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

How to convert your Blogger Blog to PDF ?

You can use a website called "blogbooker" @  http://www.blogbooker.com/blogger.php   to convert your Blogger Blog to a PDF . Please find the steps below : 1. Save your blog as an xml using Blogger Settings - Other - Export Blog option 2. Go to the website " http://www.blogbooker.com/blogger.php " and select this XML , give your blog address and select the options like date range, page size, font, ... 3. Click the  "Create Your BlogBook" button to view and save your blog as PDF

ATG CA - BCC home screen : how to add a new link

          Activity source is the property which controls the links on the left nav on the BCC home screen. All activity sources are registered with the ActivityManager component at /atg/bizui/activity/ActivityManager . When rendering the BCC home page, the ActivityManager cycles through all the registered ActivitySource components and displays left navigation links for each of them on the BCC home page. For example if I want to add a new link "My New Link" , below screen shots exaplins how this can be done 1. Add  activityManager.properties to specify the activityresources. In this  activityManager, I specified one MyActivitySource. 2. Add  MyActivitySource.properties  to specify the name of the link and the other details . Here it refers to a bundle properties file.  3. Add  the bundle properties file  to specify the name of the link.  4. Now you could see the new link...

Eclipse plugin: InstaSearch – for quick search

InstaSearch is an Eclipse plug-in for performing quick and advanced search of workspace files. This will index the files and when you search for some file contents, it will look with in this index and the search results will be faster, just like the Goolge instant search. It uses Lucene ( http://lucene.apache.org/ ) for indexing and fast searching of files in the workspace. Each search result file then can be previewed using few most matching and relevant lines. A double-click on the match leads to the matching line in the file. Main Features Instantly shows search results Shows a preview using relevant lines Periodically updates the index Matches partial words (e.g. case in CamelCase) Opens and highlights matches in files Searches JAR source attachments Supports filtering by extension/project/working set Download / Installation In Eclipse Helios (3.6) please install using the  Eclipse Marketplace from the Help menu http://marketplace.eclipse.org/s...

ATG - how to prevent Cross-Site attacks using _dynSessConf parameter

Cross-site scripting attacks take advantage of a vulnerability that enables a malicious site to use your browser to submit form requests to another site. In order to protect forms from cross-site attacks in ATG, you can enable form submissions to automatically supply the request parameter _dynSessConf , which identifies the current session through a randomly generated long number. On submission of a form (using dsp:form tag) or activation of a property setting (using dsp:a tag), the request-handling pipeline ( DAFDropletEventServlet ) validates _dynSessConf  against its session confirmation identifier. If it detects a mismatch or missing number, it can block form processing and return an error. To disable this functionality, we could give the following properties (@ /atg/dynamo/Configuration to disable it globally) enforceSessionConfirmation  = false -->  specifies whether the request-handling pipeline requires session confirmation in order to proc...

ATG CA - different activity sources used @ BCC

Read about how a new link can be added in BCC home page @  http://tips4ufromsony.blogspot.com/2012/03/atg-ca-bcc-home-screen-how-to-add-new.html Normally an ActivitySource.properties file define the set of actions that it supports under a genericActivityDefinitionFile. But some ActivitySource.properties  define the actions  using the workflowActivityDefinitionFiles. For example consider the default "Content Administration" ,  "SearchAdministration",  " Merchanding "  and "Personalization" options in BCC homepage. Below I listed the ActivitySource.properties and other properties for these links. To get all these activitysource names, just take the / atg/bizui/activity/ActivityManager  component @ dyn/admin. Content Administration ActivitySource  --> /atg/bizui/activity/PublishingActivitySource genericActivityDefinitionFile Search Administration ActivitySource  --> /atg/bizui/...