Java (sqt. Xhàva) është gjuhë programuese e cila fillimisht u zhvillua nga James Gosling dhe inxhinierë të tjerë të kompanisë Sun Microsystems. Java si komponentë thelbësore e Java platformës u lëshua në publik më vitin 1995. Java edhe pse shumicën e sintaksës së saj e ka të derivuar nga gjuhët programuese C dhe C++, ajo në krahasim me këto dy gjuhë përmban një model të objektit më të thjeshtë si dhe ka përkrahje më të vogël për punë të drejtë-për-drejtë me resurset sistemore (si p.sh. memorien). Programet e shkruara në Java, zakonisht përpilohen nëbajtkod që ekzekutohet në makinën virtuale të Java-së (ang. Java Virtual Machine) e cila është e pavarur nga arkitektura kompjuterike.
Gosling këtë gjuhë programuese fillimisht e kishte quajtur Oak (sq. dushk), sipas një druri dushku që shihej nga dritarja e zyrës së tij. Mirëpo, emri u shndërrua më mbas në Java për faj tëdrejtës së autorit, sepse ekzistonte një gjuhë tjetër programuese e quajtur Oak që nga 1991-shi

Java filloi me një projekt të quajtur "Oak" nga James Gosling. Qëllimet e Gosling-ut ishin të
vinte në jetë në makinë virtuale dhe një gjuhë që të ishte familjare me stilin e C dhe C++.
Implementimi i parë ishte në 1995. Ai premtoi "Një shkrim, Zbato kudo" (WORA -
Write Once, Run Anywhere), duke furnizuar runtime pa shpeza për platoformat popullore. Në
fakt është i sigurt dhe siguria e tij mund të përshtatet, duke lejuar që hyrja e rrjetës dhe e file
eve të kufizohet. Me daljen e "java 2", versionet u mundën me konfiguracione të shumëfishta të
ndërtuara për platforma të ndryshme. Për shëmbull, J2EE ishte për programe për ndërrmarje
dhe J2ME për programe për platforma të lëvizshme, si telefonat celular, etj. Në 2006, versionet
e reja të "J2" u riemërtuan Java EE, dhe Java SE.
Platforma Java
Njëra nga karakteristikat e Java-së është portativiteti, ku kjo d.t.th që programet kompjuterike që janë të shkruara në Java duhet të funksionojnë në mënyrë të ngjashme në cilëndo nga pajisjet ose/edhe sistemet operative që janë të përkrahura. Programori duhet të ketë mundësinë që ta shkruaj programin një herë, ta përpilon një herë, dhe ta ekzekutoj çdokund, ku kjo është në përputhshmëri me parullën "Write once, run anywhere" (sq. "Shkruaj një herë, ekzekuto kudo") të Sun për Java.
Ky qëllim është arritur duke e përpiluar Java kodin në Java bajtkod në vend të kodit të makinës.
Bajtkodi përmban instruksione që janë të ngjashme me ato të kodit të makinës, mirëpo këto
instruksione janë të parapara që të interpretohen vetëm nga makina virtuale e Java-së.