1/23
This set of vocabulary flashcards covers the fundamentals of Java, including language categories, design goals, features, editions, and detailed comparisons between Java and C++ specifications.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Machine code
A low-level language that is hardware specific and purely numerical, using binary numbers to represent both data and instructions.
Assembly Language
A hardware-specific low-level language where machine code instructions are represented by alphanumeric identifiers; it must be assembled/compiled into machine code before execution.
High-level languages - Compiled
Languages where textual source code is compiled into object code and then linked to form executables; the back end can often target multiple platforms.
High-level languages - Interpreted
Languages where source code is parsed (read-in) and then directly executed by an interpreter, which causes a heavy performance penalty.
Byte code interpreted
High-level languages where source code is translated into a machine-independent compiled form (byte code or p-code) executed by a virtual machine.
Object orientation (Java)
A feature that divides programs into separate objects encapsulating both behaviour and data.
Robustness (Java)
A feature characterized by pre-runtime error detection, ensuring program errors rarely cause system crashes.
Sandboxing
The mechanism Java uses to provide security and protection against untrusted code.
Platform independence
Portability across all machines for which the Java Runtime Environment (JRE) exists.
Java Standard Edition (SE)
The primary Java release suitable for most application development.
Java Enterprise Edition (EE)
An edition for large-scale corporate environments adding EJB (Enterprise Java Beans), XML streams, persistence, and enterprise messaging system interfaces.
Java Micro Edition (ME)
The edition used to write software for mobile phones, set-top boxes, cards, and other embedded devices.
Java Pre-processor
Unlike C++, there is no pre-processor available in Java.
Java Data Structures
Mechanisms including Classes, Enumerations, Interfaces, and Records used to organize data in Java.
Packages
The system Java uses to group code, similar to how C++ uses namespaces.
Java Pointers
A system where pointer manipulation is handled by the compiler; all objects act as pointers and are only passed by reference.
Java Primitive Data Types
Data types in Java that have fixed sizes, whereas in C++ the size is machine specific.
Automatic garbage collection
A Java feature where memory management is handled by the system, and no "delete" keyword is available to the programmer.
Multiple Inheritance (Java)
A restriction where a class can be derived from at most one base class; interface implementation is used to simulate multiple inheritance instead.
Operator Overloading (Java)
A feature that is not supported in Java, with some limited exceptions, whereas it is supported in C++.
Java Interface
Equivalent to a C++ pure abstract base class containing only pure-virtual functions; a class realizing it must provide the implementation.
Java Object Allocation
The process where objects in Java are only Heap allocated, unlike C++ which allows both Stack and Heap allocation.
Multithreading (Java)
A built-in capability featuring standard class libraries designed to handle threads and the "synchronized" keyword.
Java Strings
Represented by String (immutable) and StringBuffer classes, where arrays of strings are treated as objects.