tasarhane,

tanımın belirlediği çap oldukça geniştir. Platform bağımsız demek, birşeyin kurulup, kurulmaması değildir. Platform bağımsız tanımına tekrar bakmanı rica ederim.

"Software that can run on any hardware platform (PC, Mac, SunSparc, etc.) or software platform (Linux, MacOS, Unix, Windows, etc.). In general, programs written in Java language can be executed on practically every platform."

Hangi programlama dili ile yazdığınız program software/hardware her ortamında değiştirmeden çalışabilir. Bu beceride olan tek dil javadır. İşin teknik tarafına fazla girmek istemiyorum code reverse'leri vs. Ama basitçe anlatayım, Java'nın kendisi ortam bağımsızdır sizin yazdığınız kod her platformde byte code - > machine code arasında bir liste içinde tutulur ve bu kod dönüşümü zaten ortma bağımsızlığı sağlıyor.

Sizin takıldığınız kısım win,linux için ayrı jre'ler indirmen ve kurman gerekmesi. Bu JVM'i ortam bağımlı yapar bununda sebebi, byte kodun işletim sistemlerindeki listede farklı farklı yerlerde tutulmasından kaynaklanmaktadır. Fakat java'yı ortam bağımlı yapmaz ;)

Biraz teknik oldu ama dilimin döndüğünce anlattım.