Η Java είναι μια δημοφιλής γλώσσα προγραμματισμού, αντικειμενοστραφής και υψηλού επιπέδου, που αναπτύχθηκε από την Sun Microsystems (τώρα μέρος της Oracle) το 1995. Σχεδιάστηκε με γνώμονα την απλότητα, την ασφάλεια, την ανεξαρτησία από την πλατφόρμα και την ανθεκτικότητα στο χρόνο.
Ο πυρήνας της Java βασίζεται στη φιλοσοφία της “γράψε μία φορά, τρέξε παντού” (WORA), δηλαδή τα προγράμματα που γράφονται σε Java μπορούν να λειτουργήσουν σε οποιαδήποτε πλατφόρμα που υποστηρίζει την Java Virtual Machine (JVM). Η JVM είναι μια εφαρμογή που εκτελεί τον κώδικα Java, μετατρέποντάς τον σε κώδικα byte (μεσαίου επιπέδου) που εκτελείται σε οποιαδήποτε συσκευή.
Η Java είναι αντικειμενοστραφής, κάτι που σημαίνει ότι οργανώνεται γύρω από “αντικείμενα” – δηλαδή οντότητες που συνδυάζουν κατάσταση (μεταβλητές) και συμπεριφορά (μεθόδους). Αυτό καθιστά τον κώδικα ευκολότερο στην κατανόηση, τη συντήρηση και την επέκταση, ενώ επίσης παρέχει καλύτερη επαναχρησιμότητα και ενθαρρύνει την αποτελεσματική οργάνωση του κώδικα.
Η Java υποστηρίζει την κληρονομικότητα, την πολυμορφία, την εγκυρότητα, την απόκρυψη και τη σύνθεση, που είναι βασικά χαρακτηριστικά της αντικειμενοστραφούς προγραμματιστικής παράδοσης. Αυτά τα χαρακτηριστικά συμβάλλουν στη δημιουργία ευέλικτου, επαναχρησιμοποιήσιμου και επεκτάσιμου κώδικα.
Η Java περιλαμβάνει μια τεράστια βιβλιοθήκη τυποποιημένων κλάσεων και διεπαφών, γνωστή ως Java Standard Edition (Java SE) API, η οποία παρέχει στους προγραμματιστές μια πλούσια συλλογή από εργαλεία και λειτουργίες για την ανάπτυξη προγραμμάτων.