Java, šiuo metu, matyt, pati populiariausia programavimo kalba. Ja galima kurti tiek savarankiškas autonomiškas programas, tiek tinklu persiunčiamas ir interneto naršyklių vykdomas programas - klientines programas (angl. applets). Pagrindinis Java pranašumas, palyginti su kitomis programavimo kalbomis, yra jos nepriklausomumas nuo kompiuterių tipo. Nepriklausomumas pasiekiamas apdorojant Java programą dviem etapais: pirmiausia ją kompiliuojant į nuo kompiuterio tipo nepriklausomą vadinamąjį baitinį kodą virtualiai Java mašinai, o paskui šį kodą interpretuojant. Tai lemia ir Java trūkumus - šios programos našumas pasiekia tik kelis procentus analogiškos C++ programos našumo.
Java laikoma revoliuciniu programavimo žingsniu, pirmiausia dėl Java programavimo galimybių internete, kalbant tiek apie klientinį, tiek apie serverinį programavimą. Pagrindinė klientinių - serverinių sistemų idėja - centralizuotas informacijos bankas yra serveryje, į kurį gali kreiptis grupė klientinių kompiuterių. Serveryje saugomos informacijos pokyčiai greitai prieinami klientiniams kompiuteriams. Programinę įrangą kompiuteryje - serveryje, leidžiančią prie jo prisijungti kompiuteriams - klientams, vadinsime serveriu, o analogišką programinę įrangą nutolusiuose kompiuteriuose - klientu. Serverio realizacija labai kebli, nes jis turi apdoroti daugelį vienu metu ateinančių klientų užklausų, taip pat leisti klientams įrašyti informaciją į serverio saugyklą, apsaugoti informaciją užrašymo metu. Be to, kompiuteriai sistemoje gali būti skirtingų architektūrų ir valdomi skirtingų operacinių sistemų (OS). Interneto dalį - tinklą www taip galima laikyti klientine - serverine sistema, tik dar sudėtingesne, nes čia visi kompiuteriai gali atlikti tiek kliento, tiek serverio funkcijas (pavyzdžiui, užsakant naršykle prekes internetinėje parduotuvėje).

Java technologijos