1/123
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
Binary files
A file that contains data stored in raw binary format, which is more efficient for storage and processing than text but cannot be opened in a text editor.
Text files
A file containing human-readable data stored as formatted text rather than binary data.
File Pointer
A marker or position indicator in a file that tracks where the next read or write operation will occur
PrintWriter class
A Java class for writing formatted, human-readable text to a file, with methods identical to System.out like print(), println(), and printf().
FileOutputStream class
A low-level stream that connects to a file and allows writing raw bytes to it; overwrites the file by default if it already exists.
DataOutputStream class
A wrapper stream that provides methods to write Java primitive data types (int, double, boolean, String) as binary data to a file.
EOFException
An exception thrown when attempting to read past the end of a file using DataInputStream.
CIA Triad
The three fundamental security goals: Confidentiality, Integrity, and Availability.
Symmetric Cryptosystem
An encryption system where the same key is used for both encryption and decryption; also called single key or secret key cryptosystem.
DES
Data Encryption Standard; a symmetric cryptographic algorithm with 56-bit keys and 64-bit block size, accepted as a cryptographic standard in 1976.
AES
Advanced Encryption Standard; a symmetric block cipher selected by NIST in 2001 using block sizes of 128 bits and key sizes of 128, 192, or 256 bits.
Asymmetric Cryptosystem
An encryption system that uses a pair of keys (public and private) for encryption and decryption, where one key encrypts and the other decrypts.
Stream Ciphers
Encryption that converts one symbol of plaintext to a symbol of ciphertext at a time; advantage is speed of transformation.
Block Ciphers
Encryption that processes a group of plaintext symbols as one block; advantage is high diffusion.
Single key encryption
An encryption method where the same key is shared between parties for both encryption and decryption (same as Symmetric Cryptosystem).
Public Key Encryption
An asymmetric encryption system where each user has a public key (for encryption) and a private key (for decryption), proposed by Diffie and Hellman in 1976.
GUI
Graphical User Interface; a graphical window or windows that provide interaction with the user.
Event
An action or occurrence (like a button click, mouse movement, or key press) that happens in a JavaFX application.
Event listener
An object that waits for and responds to specific events by executing designated code
JavaFX
A Java framework for creating graphical user interfaces that uses a theater metaphor to describe GUI structure.
Application of JavaFX
The base class extended when creating a JavaFX application, providing lifecycle methods
Theater metaphor
The conceptual model used by JavaFX where a GUI is described like a theater production with a stage, scene, and actors.
stage
In JavaFX, represents the window; automatically created and passed as an argument to the start() method.
scene
In JavaFX, a collection of controls and other objects displayed on the stage; created by adding a layout container.
actors/controls
In JavaFX theater metaphor, the GUI components (like buttons and labels) that perform in the scene.
scene graph
The hierarchical structure of nodes in a JavaFX scene, with a root node and child nodes.
Application class
The foundation of all JavaFX applications; must be extended by JavaFX applications and contains an abstract start() method.
launch() method
A static method called in main() that launches a standalone JavaFX application.
start() method
The abstract method in Application class that serves as the main entry point for JavaFX applications; must be overridden.
Creating controls (Button, labels)
The process of instantiating visual components like Button and Label objects for user interaction
Layout containers
JavaFX components used to arrange the positions of controls on the screen, such as HBox, VBox, and GridPane.
Four steps for creating a scene
1) Create controls, 2) Create layout container and add controls, 3) Create scene with layout, 4) Set stage scene
Event class/object
An object containing information about an event that occurred, such as source and type
EventHandler interface
A functional interface with a handle() method that defines code to execute when an event occurs
Registering an Event Handler
The process of attaching an event handler to a control so it responds to specific events
Procedural programming
A programming approach where code is organized into functions that operate on data items that are separate from the procedures, with data often being global to the program.
Object-oriented programming
A programming approach centered on creating entities that combine data (attributes) and the procedures (methods) that manipulate that data into single units.
Abstraction
The process of hiding implementation details and showing only functionality to the user, like having a single "Make coffee" button instead of separate buttons for each individual step.
Encapsulation
The mechanism of binding data and procedures together within a single unit, where only that unit's methods can directly manipulate its attributes.
Inheritance (OOP pillar)
The process of acquiring properties from another entity, supporting hierarchical classification where a child gains general attributes from its parents.
Polymorphism (OOP pillar)
A concept meaning "many forms" where the same method name can have different implementations through overloading, overriding, or interfaces.
Application
A stand-alone program that runs on your computer, like a word processor or spreadsheet.
Applet
A small program designed to be transmitted over the Internet from a Web server and executed in a Web browser.
Compiler
A program that translates source code files into files containing instructions for execution.
Java Virtual Machine (JVM)
A program that emulates a microprocessor and executes instructions, acting as an interpreter with execution engine, memory, and network connection.
JDK (Java Development Kit)
Software that includes development tools like javac and java, along with JRE components, used for developing Java programs.
JRE (Java Runtime Environment)
Software that implements the JVM and includes libraries and other files needed to run Java programs.
Byte code file
Instructions produced by the Java compiler that end with .class file extension and cannot be directly executed by the CPU.
Primitive Data Types
Built-in data types in the Java language that are not derived from classes, including byte, short, int, long, float, double, boolean, and char.
Unicode
A character set that can consist of 65,536 individual characters where each character takes up 2 bytes in memory.
Single-line comment
Text in code that starts with // and is ignored by the compiler.
Block comment
Text in code enclosed between / and / that is ignored by the compiler.
Javadoc comment
A special comment enclosed between /* and / that can be built into HTML documentation using the javadoc program.
The String Class and Objects
A reference type representing sequences of characters; immutable objects containing text
Primitive vs. Reference Variables
Primitives hold actual values directly; reference variables store memory addresses pointing to objects
The Scanner Class
A Java class (java.util.Scanner) used to read input from various sources including keyboard input, providing methods like nextInt(), nextDouble(), and nextLine()
Class
A template used to define a new type of data, containing variables and methods as its members.
Object
An instance of a template that is obtained through a two-step process: declaring a variable of that type and acquiring an actual physical copy using the new operator.
new Operator
An operator that dynamically allocates memory for an instance during runtime and returns a reference (address) to that instance.
Passing Object References to a Method
Sending an object's memory address to a method, allowing the method to access and modify the original object
@param Tag in Documentation Comments
A Javadoc documentation element describing a method parameter's purpose and expected values
UML diagram
A standardized visual representation showing a class's name, fields, and methods in three compartments
Setter methods/Mutator methods
A method (typically named setVariableName) that modifies the value of a private field
Getter methods/Accessor methods
A method (typically named getVariableName) that returns the value of a private field
Stale data
Data that becomes outdated when dependent values change; avoided by calculating values dynamically rather than storing them
Shadowing
When a local variable has the same name as an instance field, hiding the field's value within that method's scope
Converting the UML Diagram to Code
The process of translating a UML class diagram into actual Java class structure with fields and methods
Default Constructor
An automatically provided parameterless constructor that initializes numeric fields to 0, booleans to false, and references to null
No-Arg constructor
A user-defined constructor without parameters, typically used for custom field initialization
Copy Constructor
A constructor that accepts an object of the same class type as a parameter to create a duplicate object
Method overloading
Using multiple methods with the same name but different parameter types or counts within a single class
Method Signature and Binding
The unique identifier consisting of a method's name and the data types of its parameters (excludes return type); binding is the process of matching a method call with the correct method implementation based on its signature
Packages
A container that organizes related classes and keeps the class namespace compartmentalized
static variables
A class-level field shared by all instances; only one copy exists in memory regardless of how many objects are created
static methods
A class-level method that can be called without creating an object instance; belongs to the class rather than any specific object
this keyword
A Java keyword that an object uses to refer to itself, commonly used to overcome shadowing when a parameter has the same name as an instance field
Garbage collection
An automatic process in the Java Virtual Machine that reclaims memory from objects that no longer have valid references pointing to them
Array declaration
The process of creating a reference to an array in two steps: first declaring the reference variable, then creating the array object with the new keyword and size declarator
Array initialization
Using an initialization list with values in curly braces to populate array elements when the array is created
Array length
A public final field that contains the number of elements in an array and can be accessed using the .length field
Enhanced for loop
A simplified loop structure for array processing that automatically goes through all elements without requiring index management, used for read-only access
Reassigning Array References
Assigning an array reference variable to point to a different array object, which may cause the original array to be marked for garbage collection
Copying arrays
The process of copying individual elements from one array to another using a loop, rather than just copying the reference
String arrays
An array of references to String objects where each element must be initialized separately if not using an initialization list
Object array
An array that contains references to objects rather than primitive values, where each element needs to be initialized with the new keyword
Multidimensional array
An array of arrays that can be thought of as having rows and columns, requiring two sets of brackets and two size declarators
Ragged array
A two-dimensional array where the rows are of different lengths, created by declaring specific number of rows but no columns initially
The ArrayList Class and its use
A resizable collection class that automatically expands when items are added and shrinks when items are removed, requiring import java.util.ArrayList
Object aggregation
Creating an instance of one class as a reference in another class, establishing a "has a" relationship between objects
Object aggregation in UML diagram
Shown by connecting two classes with a line that has an open diamond at one end, where the diamond is closest to the aggregate class
Method chaining
A programming technique where methods return a reference to the current object (this), allowing multiple method calls to be chained together in a single statement.
Mutable class
A class that allows its fields to be changed after the object is created, meaning the internal state can be modified.
Immutable class
A class that does not allow its fields to be changed once they are initialized with values; the internal state cannot be changed after object creation.
"has a" relationship
A relationship between objects created when one class contains an instance of another class as a member
"is a" relationship
The relationship between a superclass and an inherited class where a specialized object has all characteristics of the general object plus additional characteristics.
Inheritance (Superclass, Subclass)
An object-oriented programming mechanism where one class acquires the non-private fields and methods from another class, allowing code reuse and creating hierarchical relationships.
Superclass Constructor
The constructor of a parent class that initializes inherited members
Subclass Constructor
A constructor in a child class that must call a superclass constructor (explicitly or implicitly)
super keyword
A reference to an object's superclass, used to access superclass members or call superclass constructors.
Overriding Superclass Methods
A feature that allows a subclass to provide a specific implementation of a method that is already provided by one of its superclasses.