Java là một ngôn ngữ hướng đối tượng tương tự như C ++, nhưng được đơn giản hóa để loại bỏ các tính năng ngôn ngữ gây ra các lỗi lập trình phổ biến. Các tệp mã nguồn Java (tệp có phần mở rộng .java) được biên dịch thành một định dạng được gọi là bytecode (tệp có phần mở rộng .class), sau đó có thể được thực thi bởi trình thông dịch Java.