Java backporting tools

From Wikipedia, the free encyclopedia

Java backporting tools are programs (usually written in Java) that convert Java classes bytecodes from one version of the Java Platform to an older one (for example Java 5.0 backported to 1.4).

Java backporting tools comparison[]

Main information[]

The JVM has evolved a lot for the past years. However, most language features that were added are simply a syntactic sugar. They do not require new byte-code, hence can be compiled to the Java 8. But, since the Java language was always bound to the JVM development, new language features require the same target as the JVM because they get released all together. [1]

hide
Source Version Target Version Last Release License Website
Java 8 Java 7, 6, 5 2015-12-19, 2.1.0 Apache License 2.0 https://github.com/orfjackal/retrolambda
Retrotranslator Java 5 2009-08-09, 1.2.9 BSD-like http://retrotranslator.sourceforge.net/
Java 5 2008-10-14, 2.0.7 BSD-like http://retroweaver.sourceforge.net/
Java 5 Java 1.4 2007-11-14 LGPL or MPL http://www.glazedlists.com/Home/declawer
Java 5 Java 1.4 2008-03-10, 1.1.2 LGPL http://www.jboss.org/community/docs/DOC-10738
Java 9-14 Java 1.8 2021-10-20, 0.4.2 Apache License 2.0 https://github.com/bsideup/jabel

Features[]

lambda expressions default methods generics enhanced for loops annotations autoboxing and unboxing static imports varargs Enumerations Reflection on generics and annotations Covariant return types
Yes Yes
Retrotranslator No No Yes Yes Yes Yes Yes Yes Yes Yes Yes
No No Yes Yes Yes Yes Yes Yes Yes No No
No No Yes
No No
Formatted output Formatted input Collections framework enhancements Concurrency utilities emulate the Java 5.0 memory model support for JDK1.6 File methods like canExecute() API support for JDK1.4 API support for JDK1.3 API support for older release
Retrotranslator Yes No Yes Yes[2] No No extensive limited none
No No No No No

See also[]

References[]

  1. ^ "Jabel - use modern Java 9-14 syntax when targeting Java 8". GitHub. 17 June 2022.
  2. ^ It uses the backport of the Java 5.0 concurrency utilities.

External links[]


Retrieved from ""