Javaプラットフォーム
AspectJ - アスペクト指向プログラミングを実現できるJava
Generic Java(英語版) (GJ) - これはJava SE 5.0で正式にJavaに取り込まれた。
Javaの成功とそのコンセプトwrite once, run anywhereは、2002年に現れて以来、.NET Frameworkプラットフォームなど他の類似する取り組みを導き、それらはJavaの成功側面の多くを受けいれた。しかしながら、.NETの完全な実装はMicrosoft Windowsのみに向けたものしか存在しない。一方、Javaは多くのプラットフォームで完全にサポートされている。しかし.NETは、多くの異なるプログラミング言語を共通中間言語へとコンパイルする言語非依存ライブラリのユーザビリティに強い主眼点を置いている。.NETは言語非依存互換性の面ではJavaよりも成功している。しかし、JavaにもScala、Jython、Groovy、JRubyなどJavaVMを実行プラットフォームとする言語処理系が複数存在する。
.NETにもVisual J#というJavaの実装が存在するが、これは本家のJavaとは非互換で、関連するクラスライブラリは殆ど言語バージョンが古いJDK 1.1に基づいている。これらは、Visual J#が.NETにおける主要な言語として設計されたのではなく、Javaから.NETプラットフォームへ移行するために用意された言語であることに起因する。
その一方で、近年ではオープンソースコミュニティによってIKVM.NETという共通言語ランタイム上で動作するJava仮想マシンが登場し、一方的ではあるが、互換性及び相互利用性は急激に向上している。