התחביר של שפת Java הושפע רבות מהשפות C ו-++C, אבל עקרונות התכנות מונחה-עצמים ב-Java מבוססים על השפות Smalltalk ו-Objective-C. בג'אווה לא נעשה שימוש במבנים ברמה הנמוכה (low-level) כגון מצביעים, ויש לה מודל זיכרון פשוט מאוד שבו כל אובייקט מוקצה על גבי ה-Heap, וכל המשתנים של טיפוסים מורכבים הם references. ניהול הזיכרון מבוצע באמצעות איסוף זבל אוטומטי על ידי ה-JVM.