Java technology

from Wikipedia, the free encyclopedia
Java logo
Java Technologies

The Java technology ( English Java Technology ) is an original by Sun (now Oracle developed group) collection of specifications , on the one hand, the Java programming language and other different runtime environments for computer programs define. These computer programs are mostly written in Java.

The following components belong to Java technology:

target

With Java technology, one and the same program should be able to run on different computer systems. This platform independence is achieved that the source code first in bytecode compiled is the first on the target system from the Java runtime environment ( Java Runtime Environment , shortly JRE ) in the respective starting program machine language is translated. The bytecode thus functions as an intermediate code between the programming language and machine language.

The Java runtime environment must be installed on the target system. It exists for widely used operating systems such as Microsoft Windows , Linux , Solaris , Mac OS X , AIX and many others. There are also JREs not only for server and desktop operating systems, but also for many embedded systems such as cell phones, PDAs and smart cards as well as for other technical platforms such as cars and TV. Platform independence ends with systems for which no Java Virtual Machine exists, i.e. mostly older or very exotic systems.

Components

Java technology consists of the following parts:

Structure of Java technology
Programming
language
Java source code (.java)
JDK Development tools
Java compiler, ...
Java bytecode (.class, .jar)
JRE Java programming interface (API)
Java Virtual Machine (JVM)
with just-in-time compilation
Operating
system
Windows, Linux, Solaris, Mac OS X, ...

Java programming language

Java is an object-oriented programming language and a registered trademark of Oracle. The design of the Java programming language had five main goals:

Development tools for Java programs

They contain compilers that translate the source code into Java bytecode , documentation tools and tools for testing programs. Programs for the Java platform are usually created using the Java programming language . The use of other programming languages ​​is possible, e.g. B. Nice or Groovy .

Java runtime environment (platform)

The Java runtime environment (JRE) is a software platform with which programs can be executed largely independently of the underlying operating system. It defines the application programming interfaces (APIs) clearly and independently of the machine and contains the Java Virtual Machine (JVM), which is responsible for executing the Java bytecode. It is available free of charge for most operating systems.

A distinction is made between the following Java platforms:

Java Platform Java Card
Reduced Java standard in order to be able to run so-called Java Card applets on chip cards.
Java Platform, Micro Edition (Java ME)
Platform for so-called embedded consumer products such as cell phones or PDAs.
Java Platform, Standard Edition (Java SE)
Collection of Java programming interfaces for general use on PCs, servers or similar devices. Java SE serves as the basis for the Java EE and Java ME technologies.
Java Platform, Enterprise Edition (Java EE)
Java SE, enriched with programming interfaces for the transaction-based execution of multi-layer corporate and web applications.

history

Duke, Java's mascot

The original version of Java - including Oak ( O bject A pplication K ernel) called - has been in a period of 18 months from spring 1991 to summer 1992 under the name The Green Project by Patrick Naughton, Mike Sheridan, James Gosling and Bill Joy and nine further developers on behalf of the US computer manufacturer Sun Microsystems. James Gosling was the main developer. A remnant of the Green project is the Duke of Joe Palrang, which has become a well-known symbol or mascot.

The name Oak had, according to rumors, its origin in an oak ( English oak ) that stood in front of the window of James Gosling. Due to legal problems, however, the name (there was already software with this name) had to be discarded. It was decided to use the name Java after a strong type of coffee that is used especially for espresso ( Java bean ) and was preferred by the developers.

The goal was not just to develop a further programming language, but a complete operating system environment, including a virtual CPU , for a wide variety of purposes. According to legend, the system should be able to control a coffee machine , for example .

The development took place in an inconspicuous office building on Sand Hill Road in Menlo Park . During the separate development phase, there was no exchange with Sun Microsystems . In the summer of 1992 the first Oak-based application was finally completed - “an interactive, handheld home entertainment device controller with an animated touchscreen user interface”. This technical demonstration of a touchscreen -based device control with an animated graphic user interface was called * 7 ( Star Seven ) .

Could be after the screening of Star Seven, with the number of devices controlled interactively companies were aware of the cable television industry, and from the back room project The Green Project , the company was first person . The office became an office building at 100 Hamilton Avenue in Palo Alto .

Since the workforce has now grown from 13 to 70 employees and the time for interactive digital value-added services in the field of cable television was not yet ripe, the young company looked for new fields of activity. After a three-day meeting of John Gage, James Gosling, Bill Joy, Patrick Naughton, Wayne Rosing and Eric Schmidt in "The Inn at Squaw Creek" near Lake Tahoe , it quickly became clear: it should be the Internet .

Based on the forefather of all graphical web browsers , Mosaic , a web browser expanded to include Java was created - the WebRunner (based on the film Blade Runner ). It was later WebRunner in HotJava renamed.

In March 1995 the first alpha version (1.0a2) of the Java source code was released to the public. A little later, on May 23, 1995, Java was officially presented to the public for the first time, in the "San Jose Mercury News".

The breakthrough came with the integration of Java into the Netscape Navigator browser - sealed by a handshake between Eric Schmidt and George Paolini from Sun Microsystems and Marc Andreessen from Netscape - at 4 a.m. in a room in the Sheraton Palace Hotel near the Conference center.

The company Oracle - which bought Sun Microsystems in January 2010 - wants to further develop Java technology together with the Java Community Process in the direction of free and open source software ( OpenJDK ).

The name Java

The name for the new technology was quickly found: Most programmers preferred the street café "Java City - roasters of fine coffee" in Menlo Park, not far from their office building, where they went now and then during their lunch break to have a coffee after dinner to drink. The programmers' favorite type of coffee was called "Java". This name was therefore also used for the new technology. The name " JavaBeans " is also derived from this incident.

Sun Microsystems sometimes uses different version numbers in marketing and in-house development. So that was Java version 1.2 is not marketed as a 1.2, but as "Java 2 Platform". Internally, the version numbers remained with the 1.x scheme, so that product names such as "Java 2 Standard Edition 1.4.2" resulted. This discrepancy has at least been abandoned with the product names. The product is now called "Java Standard Edition 7"; however, the internal version number is still 1.7.

Versions

Legend: Older version; no longer supported Older version; still supported Current version Current preliminary version Future version
Versions and code names
version Code name publication End of free support
Older version; no longer supported: JDK 1.1.4 Sparkler September 12, 1997
Older version; no longer supported: JDK 1.1.5 Pumpkin 3rd December 1997
Older version; no longer supported: JDK 1.1.6 Abigail April 24, 1998
Older version; no longer supported: JDK 1.1.7 Brutus September 28, 1998
Older version; no longer supported: JDK 1.1.8 Chelsea April 8, 1999
Older version; no longer supported: J2SE 1.2 Playground 4th December 1998
Older version; no longer supported: J2SE 1.2.1 (none) March 30, 1999
Older version; no longer supported: J2SE 1.2.2 Cricket July 8, 1999
Older version; no longer supported: J2SE 1.3 Kestrel May 8, 2000 December 2006
Older version; no longer supported: J2SE 1.3.1 Ladybird May 17, 2001
Older version; no longer supported: J2SE 1.4.0 Merlin February 13, 2002 October 2008
Older version; no longer supported: J2SE 1.4.1 Hopper September 16, 2002
Older version; no longer supported: J2SE 1.4.2 Mantis June 26, 2003
Older version; no longer supported: J2SE 5.0 (1.5.0) tiger September 29, 2004 October 2009
Older version; no longer supported: JSE 6.0 (Mustang) December 11, 2006 February 2013
Older version; no longer supported: JSE 7.0 (Dolphin) July 28, 2011 April 2015
Older version; still supported: JSE 8.0 - March 18, 2014 January 2019 (commercial use)
December 2020 (non-commercial)
Older version; no longer supported: JSE 9.0 - July 27, 2017 20th March 2018
Older version; no longer supported: JSE 10.0 (18.3) - 20th March 2018 25th September 2018
Older version; still supported: JSE 11.0 (18.9) LTS - 25th September 2018
Older version; still supported: JSE 12.0 - 19th March 2019
Older version; still supported: JSE 13.0 - 17th September 2019
Current version: JSE 14.0 - 17th March 2020
Versions and sizes
version Packages Classes, Enums and Interfaces Modules
Older version; no longer supported: JDK 1.0 008th 0212
Older version; no longer supported: JDK 1.1 023 0504
Older version; no longer supported: JDK 1.2 059 1520
Older version; no longer supported: JDK 1.3 076 1842
Older version; no longer supported: JDK 1.4 135 2991
Older version; no longer supported: J2SE 5.0 166 3279
Older version; no longer supported: JSE 6.0 203 3793
Older version; no longer supported: JSE 7.0 209 4024
Older version; still supported: JSE 8.0 217 4240
Older version; no longer supported: JSE 9.0 315 6005 78
Older version; no longer supported: JSE 10.0 314 6002 77
Current version: JSE 11.0 235 4410 59/72

Version 1

Java version 1.0, released in 1996, still contained a manageable number of standard packages, which grew rapidly in later versions:

  • java.lang: elementary classes, e.g. B. ObjectandSystem
  • java.io: Input and output
  • java.util: z. B. Data structures and a date class
  • java.net: simple internet protocol classes
  • java.awt: basic classes for graphical user interfaces
  • java.applet: a class for the well-known applets

Although this new language was primarily intended for the development of applets, it already offered possibilities in the first version that went far beyond that.

Version 1.1

A language extension was made in 1997 with Java 1.1, the syntax was extended to include the concept of inner classes . This went hand in hand with a conversion of the event handling to a callback system with so-called listeners .

In addition, the standard library has been expanded:

Swing was already available in versions 1.1.5 and higher, but this framework was not yet part of the official Java. It was particularly problematic that with the release of 1.2, Swing had a different package structure and made porting necessary.

Version 1.2

Java 2 (JDK 1.2) was released in 1998. When this version was released, Sun spoke of Java 2, accordingly the packages are called Java 2 Platform, Standard Edition (J2SE) and instead of Java Development Kit (JDK) it is called Java 2 Software Development Kit ( J2SDK) .

In this version, a just-in-time compiler was introduced in addition to the existing interpreter ; this accelerates the execution of Java programs significantly. The HotSpot just-in-time compilation including adaptive optimization was offered as an extension for Java 1.2; from Java 1.3 onwards, HotSpot was offered as the sole JVM from Sun.

The standard library has been expanded again:

  • New interfaces and implementations for collections , i.e. data structures such as lists, sets and maps (associative lists )
  • The Swing surface library
  • New graphics functions ( Java 2D )
  • Drag and drop functionality
  • Improved audio functions
  • A CORBA interface
  • Weak references - these are references that do not prevent the garbage collector from removing the referenced object

In 1998 the Java Community Process (JCP) was also introduced. This organization has been managing changes to the Java specification since then. A Java Specification Request (JSR) is created for proposed changes , which goes through various phases before the changes are implemented in Java.

Version 1.3

In 2000, J2SE 1.3 appeared as the next evolutionary step, the API was expanded again. An engine with hotspot optimization was also introduced. This means that frequently used code fragments (hotspots) are translated from the bytecode into native machine code at runtime. The result was a significantly increased execution speed.

API extensions:

  • Java Naming and Directory Interface (JNDI)
  • Java Sound API

Version 1.4

The language itself was only expanded again in 2002 with the appearance of J2SE 1.4, which was last done with version 1.1. Assertion support has been added. The API has also been expanded, which should make server programming easier in particular.

The last version of Java 1.4 was Java SE 1.4.2_42. J2SE 1.4 reached “End of Public Updates” in October 2008.

See also: Servlet , Java Web Start , JSP , J2EE , J2ME , Javadoc , Blackdown Java

Version 5.0

Java 5.0 was released on September 30, 2004 as the successor to version 1.4. The apparent version jump from 1.x to 5 is the introduction of a so-called product number. These product numbers are intended to represent the Java versions to the outside world in the future. Internally, the same product version should be named after the familiar, traditional version number. Java 5.0 corresponds to the internal version number 1.5, Java 6.0 corresponds to 1.6 etc. The "2" z. B. from J2EE also disappeared from version 5.0 of the Java Enterprise Edition. It is now called Java EE 5.

In version 5 there were extensive changes to the language as well as further API extensions:

The extensions of the input / output functions ( JSR -203) initially planned for Java 5 ("Tiger" release) were first implemented on Java 6 ("Mustang" release) and then at the beginning of 2006 on Java 7 ("Dolphin" release) postponed.

The last version of Java SE 5 was JavaSE 5.0u45. JavaSE 5 reached "End of Public Updates" in October 2009.

Version 6

Java version 6 was released on December 11, 2006. Particular attention was paid to diagnosis, monitoring and management. A framework for working with various scripting languages, such as B. PHP , Python , Ruby and JavaScript were introduced.

Further innovations were an improved display of desktop applications and the integration of Java DB , a relational database implemented in Java and based on Apache Derby .

The version 6u10 released in October 2008 did not, as usual, only bring bug fixes, but various changes to the JVM that were not waited until Java 7 was released. The most important innovations that were requested in advance included:

  • A "Next Generation Java Plugin" that offers the website operator more options via integrated applets
  • The Java kernel intended for web applications, which installs a minimal JVM if necessary and only downloads the necessary packages and saves them locally
  • The Java Quick Starter, with the help of which the start time of Java applications is significantly reduced.

A complete list and detailed descriptions can be found in the announcement for "Update 10". Further improvements to the virtual machine, which were originally planned for Java 7, were integrated in Java 6 and delivered in several steps from "Java 6 Update 14".

The last planned version of Java SE 6 was "Java SE 6 Update 45", it was submitted in April 2013 for Java SE 6 for February 2013, despite the announced "End of Public Updates" - the end of public updates. The current version of Java EE 6 is "Java EE 6 Update 4". In December 2012, Oracle began tentatively upgrading some installations from JavaSE 6 to JavaSE 7 automatically. For February 2013 it was planned to update all installed 32-bit versions to Java 7 using the automatic mechanism.

JavaSE 6 reached “End of Public Updates” in February 2013.

Version 7

Java version 7 was completed on July 28, 2011.

Above all, existing functionalities have been improved and expanded. These are among others:

  • A new file system API (NIO.2) that improves the speed of file system operations, provides better options for copying and moving files, includes methods for traversing directory structures, and allows reliable detection and handling of symbolic links .
  • Libraries for the network protocols Stream Control Transmission Protocol ( SCTP ), Sockets Direct Protocol ( SDP ) and TLS 1.2. A newer IPv6 network stack is now used where possible, especially under Windows .
  • Update of the Unicode support to Unicode 6.0 (from Unicode 4.0 to Java 6), the JDBC database interface and the locale parameters , which now implement the IETF BCP 47 and UTR 35 standards .
  • The look and feel nimbus introduced with Java 6 Update 10 will become an integral part of the specification.
  • An XRender pipeline for Java 2D that accelerates the rendering of graphical elements on Linux.
  • Improved support of Java bytecode for dynamic programming languages .
  • Smaller language improvements in the context of Project Coin , such as the usability of strings in switch statements.

A list and detailed descriptions of the functionalities implemented with Java 7 can be found in the documentation of the OpenJDK Java 7 project .

Java 7 reached the "End of Public Updates" - the end of public updates - in April 2015. The last publicly available version of Java 7 was "Update 80" from April 14, 2015, which also contained "non-critical" bug fixes. The "Premium Support" for version 7 was planned until July 2019, the "Extended Support" until July 2022.

Version 8

Java 8 was released on March 18, 2014. It is the first LTS version based on Oracle's new support scheme.

There will be free updates for them until January 2019 for commercial users and until the end of 2020 for private use.

With Java 8, innovations originally planned for Java 7 were subsequently submitted and synergies were incorporated that resulted from the purchase of Java by Oracle. Among other things, the following innovations have been implemented:

  • Integration of Oracle JRockit functionalities such as improved contended locking in the OpenJDK
  • Virtual extension methods and closures ( Lambda project )
  • Extensions to the Collections API made possible by the Lambda project
  • New Date and Time API similar to Joda Time
  • Improvements in garbage collection, reflection, collections, generics and annotations
  • Other minor language improvements such as annotations for Java types
  • Various security improvements
  • Various performance improvements, especially with regard to parallelization
  • Method implementation in interfaces ("Default Interface")

The current version of July 16, 2019 is Java 8 "Update 231".

Info: Access to Oracle Java SE 8 updates.

Version 9

Java 9 was released on September 21, 2017. It is a "Non-LTS" version and there are therefore only updates up to the release of the successor version. Java 9 brought with "Project Jigsaw" a new module system that extends Java with modules as a new language feature. Jigsaw also brought fundamental structural changes to the Java platform. The "Project Kulla" brought an integration of the jshell into Java.

Version 10

Java 10 was released on March 20, 2018 and thus, as announced in autumn 2017, only 6 months after version 9. It is also a "non-LTS" version.

Version 11

Java 11 was released on September 25, 2018 as an LTS version. For the productive use of Oracle JRE, a fee-based "Java SE Subscription" is required since this version. It can only be used free of charge in development and test environments. Other runtime environments such as OpenJDK , Azul , IBM SDK offer different free / commercial support periods.

Version 12

Java 12 was released on March 19, 2019.

Version 13

Java 13 was released on September 17, 2019.

Version 14

Java 14 was released on March 17, 2020.

License

On November 13, 2006, Sun announced that by the end of the second quarter of 2007, all Java technology would be released under the license terms of GPL Version 2 . On May 8, 2007 it was announced that this had happened for most of the technology.

A problem for free software developers until then was that while Java was free, it did not meet the free software guidelines. Problems arose in this context, above all, when "non-free" classes from Sun were used when creating programs that free Java compilers or Java runtime environments cannot use. In these cases, users of free JVMs were forced to fall back on Sun's JVM. In this context, "Java trap" (was also from the Java Trap ) spoken.

Dedicated developers have responded by developing a considerable amount of free software for interpreting, compiling and executing Java programs, such as: B. GNU Classpath , GNU Compiler for Java , Kaffe , Apache Harmony or IcedTea .

However, the license terms for Oracle's Java Compatibility Kit (JCK) were perceived by the Apache Software Foundation and the Linux Standard Base working group as a deliberate prevention of alternative implementations. a. led to the exclusion of Java from the current LSB standard 4.1.

Applications

Java is used, for example, in the following areas:

criticism

Java offers several security advantages compared to directly executed programming languages , primarily because it is executed in a virtual machine . For example, an applet on a website is subject to security-related restrictions imposed by the virtual machine; the same applies analogously to Java applications. All of these run in a virtual machine and are not allowed to freely access any resources. Directly executed programming languages ​​(without a virtual machine) do not offer these safety precautions at all and are therefore extremely insecure compared to Java.

If there are weaknesses in these security technologies due to errors in the virtual machine or in the class library, a malicious applet or application can exploit these weaknesses and possibly access resources to which it would normally not have access rights.

Java made the headlines several times from 2012 to 2013 because of such errors. In August 2012, for example, a publicly available exploit appeared on the Internet that bypasses all of Java sandboxing and other security procedures by simply turning them off. A few days later, this exploit ( CVE : 2012-4681) was integrated into numerous exploit frameworks, including Metasploit and Blackhole . Oracle then published an emergency update, but experts also found security gaps in the patched Java versions.

On January 10, 2013, the renowned computer magazine c't issued a recommendation for security reasons to uninstall the Java plug-in , and when using Internet Explorer even to completely uninstall Java. On January 11, 2013, the BSI followed this recommendation.

With the unscheduled or brought forward Java updates 7u11 to 7u13, the security problems were solved according to Oracle. The BSI then gave the all-clear for the use of Java.

Web links

Individual evidence

  1. The Java Language Environment - 1.2 Design Goals of the JavaTM Programming Language , James Gosling and Henry McGilton, May 1996
  2. Java Language Overview , 1995 Sun Whitepaper
  3. Wolfgang Weigend: The Java Platform Strategy. (Flash) slides for the lecture. Oracle, August 24, 2011, p. 5 , accessed January 8, 2012 .
  4. a b Reference: J2SE Code Names . In: Java Platform, Standard Edition (Java SE) . Sun Microsystems ( online [accessed January 8, 2012]).
  5. Steven Chan: Understanding J2SE 1.3 End-of-Life Implications for Apps 11i . ( oracle.com [accessed July 26, 2018]).
  6. Java SE EOL Policy. (No longer available online.) October 26, 2011, archived from the original on November 14, 2011 ; accessed on July 26, 2018 (English).
  7. a b c d e f Oracle Java SE Support Roadmap. Retrieved July 8, 2018 .
  8. a b Mustang and Dolphin… we'll miss you ( Memento of the original dated November 16, 2006 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. - No code names from JSE 6.0, Ray Gans's blog, August 15, 2006 (accessed October 12, 2009) @1@ 2Template: Webachiv / IABot / weblogs.java.net
  9. Java 7 Releases by Date - Page at Java.com . Retrieved November 20, 2013.
  10. JDK 8 Schedule. Open JDK, August 20, 2012, accessed October 5, 2012 .
  11. a b c d e No more public updates for Java 8 business users after January 2019 [Poll] - JAXenter . In: JAXenter . April 23, 2018 ( jaxenter.com [accessed July 8, 2018]).
  12. JDK 9th Open JDK, January 5, 2017, accessed on January 5, 2017 (English).
  13. a b Alexander Neumann: Java 11 not only brings a changed support model. heise online , September 25, 2018, accessed on October 3, 2018 .
  14. JDK 12. Accessed October 8, 2018 .
  15. JDK 13. Retrieved November 5, 2019 .
  16. JDK 14. Accessed April 13, 2020 .
  17. ^ Robert Liguori, Patricia Liguori: Java 8 Pocket Guide - Instant Help for Java Programmers . O'Reilly Media, 2014, ISBN 978-1-4919-0086-4 .
  18. a b c Java SE 9 & JDK 9. Accessed October 8, 2018 (English).
  19. a b c Java SE 10 & JDK 10. Accessed October 8, 2018 (English).
  20. cd jdk11/src; find -name package-info.java | wc --lines
  21. a b Java 11 API Reference. Retrieved October 8, 2018 .
  22. cd jdk11/src; find -name module-info.java | wc --lines
  23. news.cnet.com
  24. url = http://www.sun.com/smi/Press/sunflash/2000-05/sunflash.20000508.3.xml
  25. a b c d e Oracle Java SE Support Roadmap. oracle.com, April 22, 2015, accessed April 27, 2015 .
  26. Version 1.5.0 or 5.0? , Java 5 Release Notes, accessed February 5, 2009
  27. Java API Specifications . Oracle. Retrieved May 17, 2019.
  28. JSR 203: More New I / O APIs for the Java Platform ("NIO.2"). In: Java Community Process. 2011, accessed October 5, 2014 .
  29. Oracle.com: Next-Generation Java Plug-In Technology Introduced in Java SE 6 update 10
  30. Java Runtime Environment Installation for JavaSE 6u10
  31. JavaTM Quick Starter for JavaSE 6u10
  32. Java SE 6 Update 10 FAQ: JavaTM SE 6 Update Release Notes .
  33. oracle: Java 6 Auto-Update to Java 7. oracle.com, accessed January 4, 2013 .
  34. Java Programming Language Enhancements - List of Core Java innovations in versions 5, 6, 7
  35. JDK 7 features
  36. Java SE Runtime Environment 7 Downloads. oracle.com, April 2015, accessed April 27, 2015 .
  37. a b Java releases. (Versions 7 and 8). java.com, July 18, 2017, accessed October 18, 2017 .
  38. ^ What's New in JDK 8. Oracle, accessed March 19, 2014 .
  39. How does Java 8 'new default interface model works at stackoverflow.com
  40. a b Free Java download . Oracle. Retrieved May 17, 2019.
  41. ^ JDK 9. In: OpenJDK. Oracle Corporation and / or its affiliates, June 7, 2017, accessed June 15, 2017 (English, project planning for JDK 9).
  42. The next step in Java modularization: Project Jigsaw migrates to the JDK-9 branch. Heise-Verlag, March 12, 2016, accessed on February 22, 2017 .
  43. Dr. Kristine Schaal, Dr. Rüdiger Grammes, Martin Lehmann: Java 9 brings the new Jigsaw module system. Informatik Aktuell, February 15, 2018, accessed on May 3, 2019 .
  44. jshell JEP. Open JDK, November 5, 2015, accessed November 10, 2015 .
  45. Hendrik Ebbers, Timo Brandstätter: Will Java now have to be paid? heise online , August 28, 2018, accessed on October 3, 2018 .
  46. JDK 12 . Retrieved March 22, 2019.
  47. JDK 13 . Retrieved September 17, 2019.
  48. JDK 14 . Retrieved March 25, 2020.
  49. sun.com ( Memento from August 26, 2007 in the Internet Archive )
  50. Mike Loukides: At last! Open source Java. (No longer available online.) November 2006, archived from the original on October 6, 2014 ; Retrieved October 6, 2014 . Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / archive.oreilly.com
  51. JAVAONE: Sun - The bulk of Java is open sourced ( Memento from April 14, 2008 in the Internet Archive )
  52. Richard Stallman: Free but Shackled - The Java Trap . April 12, 2004
  53. ^ The ASF Resigns From the JCP Executive Committee. In: The Apache Software Foundation Blog. Apache Software Foundation, December 9, 2010, accessed October 5, 2014 .
  54. Linux Standard Base 4.1 without Java . heise.de. March 11, 2011. Accessed on November 16, 2011: “ Java, included in the Linux Standard Base 4.0 with the status“ Trial Use ”, has been removed from the new version. The reason for this are licensing problems with the Java Compatibility Kit (JCK), the existence of which is a prerequisite for a Java implementation to be allowed to call itself Java-compatible. The Apache Software Foundation accuses Oracle, as before Sun, of excluding competing Java implementations with the license conditions of the JCK. "
  55. Heise Security: Java-0-Day under the microscope . Retrieved February 22, 2013.
  56. Heise Security: Major emergency update for Java . Retrieved February 22, 2013.
  57. Java exploit (CVE-2012-4681) . Archived from the original on February 17, 2013. Info: The archive link was automatically inserted and not yet checked. Please check the original and archive link according to the instructions and then remove this notice. Retrieved March 23, 2013. @1@ 2Template: Webachiv / IABot / pastie.org
  58. Heise Security: Java-0-Day under the microscope . Retrieved February 22, 2013.
  59. CVE-2012-4681 at MITER (English)
  60. Dangerous hole in the current Java version . In: Heise Security . Retrieved January 10, 2013.
  61. Critical vulnerability in the current Java runtime environment . Federal Office for Information Security (BSI). Archived from the original on January 18, 2013. Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. Retrieved January 13, 2013. @1@ 2Template: Webachiv / IABot / www.bsi.bund.de
  62. February 2013 Critical Patch Update for Java SE Released . Retrieved February 5, 2013.
  63. Vulnerability in the current Java runtime environment closed. The manufacturer's update is available, BSI recommends that Internet users install the update. Federal Office for Information Security (BSI), January 14, 2013, accessed on March 26, 2013 : "After installing the Java security update, the browser plug-ins can also be activated and used again."