1/59
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
Object-Oriented Programming (OOP)
A style of programming focused on the use of classes and class hierarchies
Polymorphism
The provision of a single interface to multiple derived classes, enabling the same method call to invoke different derived methods to generate different results
Inheritance
Reuse and extension of fields and method implementations from another class
Encapsulation
Bundling data and code into a restricted container
Abstraction
Specifying a general interface while hiding implementation details
Primitive type
A data type that can typically be handled directly by the underlying hardware
Enumerated type
A data type that includes a fixed set of constant values called enumerators
Class
A template encapsulating data and code that manipulates it
Interface
A reference type containing only method signatures, default methods, static methods, constants, and nested types
Instance
An encapsulated bundle of data and code (e.g., an instance of a program is a process; an instance of a class is an object)
Object
An instance of a class containing a set of encapsulated data and associated methods
Variable
A block of memory associated with a symbolic name that contains a primitive data value or the address of an object instance
Operator
A short string representing a mathematical, logical, or machine control action
Reference Counter
A managed memory technique that tracks the number of references to allocated memory, so that the memory can be freed when the count reaches zero
Garbage Collector
A program that runs in managed memory systems to free unreferenced memory
Field
A class member variable
Constructor
A special class member that creates and initializes an object from the class
Destructor
A special class member that cleans up when an object is deleted (not supported by Java)
Method
A function that manipulates data in a class
Getter
A method that returns the value of a private variable
Setter
A method that changes the value of a private variable
Multiple Inheritance
A subclass inheriting class members from two or more superclasses
Superclass
The class from which members are inherited
Subclass
The class inheriting members
Abstract Class
A class that cannot be instantiated
Abstract Method
A method declared with no implementation
Override
A subclass replacing its superclass’ implementation of a method
Declaration
A statement that introduces a name with an associated type into a scope
Definition
A declaration that also fully specifies the entity declared
Shadowing
A variable declared in a narrower scope than that of a variable of the same name in a broader scope
Namespace
A named scope
Package
A grouping of related types providing access protection and namespace management
Generic Programming
Writing algorithms in terms of types that are specified as parameters during instantiation or invocation
Generic
A Java construct representing a method or class in terms of generic types
Java Class Library
A library of algorithms focused on organizing code and data as Java generics
Collection
An object that stores and manages other objects
Iterator
A pointer-like abstraction referring to elements of a collection
Algorithm
A procedure for solving a specific problem, expressed as an ordered set of actions
Stack
Scratch memory for a thread of execution
Heap
Memory shared by all threads of execution for dynamic allocation
Global
Memory for static fields (and in C++, non-scoped variables)
Code
Read-only memory for machine instructions
Concurrency
Performing two or more algorithms simultaneously
Process
A self-contained execution environment including its own memory space
Thread
An independent path of execution within a process running concurrently with other threads
Reentrant
An algorithm that can pause while executing, then safely be executed by a different thread
Mutex
An object that prevents two properly written threads from concurrently accessing a shared resource
Synchronized
The ability to control the access of multiple threads to any shared resource
Exception
An object representing an error or unusual occurrence, propagated until caught
Assertion
An expression that, if false, indicates a program error
Invariant
Code for which specified assertions are guaranteed to be true
Data Validation
Ensuring that a program operates on clean, correct, and useful data
Validation Rules
Algorithmically enforceable constraints on correctness, meaningfulness, and security of input data
Version Control
The task of keeping a system consisting of many versions well organized
Branch
A second distinct development path within the same version control system
Fork
A distinct and independent development path (often by another organization) to create a unique product
Baseline
A reference point in a version control system indicating completion/approval of a product release
Unified Modeling Language (UML)
The standard visual modeling language for describing, specifying, designing, and documenting object-oriented systems
Class Hierarchy
Defines the inheritance relationships between a set of classes
Class Library
A collection of classes designed to be used together efficiently