Java syntax borrows heavily from C and C++, but object-oriented features are modeled after Smalltalk and Objective-C. Java eschews certain low-level constructs such as pointers and has a very simple memory model where every object is allocated on the heap and all variables of object types are references.
в основном заимствован из Си и C++, но объектно-ориентированные возможности основаны на модели, используемой в Smalltalk и Objective-C. В Java отсутствуют определённые низкоуровневые конструкции, такие как указатели, также Java имеет очень простую модель памяти, где каждый объект расположен в куче и все переменные объектного типа являются ссылками.