Terms Flashcards
<p>Primitive Data Types
| </p>
<p>Boolean, char, byte, short, int, long, float, and double.</p>
<p>Fields/Member variables/Instance Variables</p>
<p>A \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ is a variable that is defined outside of any methods but inside of a class.</p>
Belong to each instance of the object.
Held in slots on the heap associated with their instances.
Maintain the state of their object.
<p>Reference Data Types</p>
<p>Reference variables used to access objects.
Declared to be a specific type(Car, Dog, String, Array, ect) which cannot be changed.
Can reference any object of the declared type.</p>
<p>Java</p>
<p>A multithreaded, architecture-neutral, portable, object-oriented, interpreted, dynamic, programming language first developed by Sun Microsystems in 1995.</p>
<p>The four principle concepts of Object Oriented Programming</p>
<p>Abstraction, Polymorphism, Inheritance, and Encapsulation. (A-PIE)</p>
<p>String</p>
<p>A complex type, meaning that is is a class. It has several built in methods that you can use to perform tasks. The difference is that you do not have to use new to build it.</p>
<p>Methods</p>
<p>A collection of statements that are grouped together to perform an operation.</p>
<p>Method Overloading</p>
<p>When a class has two or more methods by the same name but different parameters. Different functionality based on the parameters. </p>
<p>Control Flow/Conditional Statements</p>
<p>Decision making structures have one or more conditions to be evaluated or tested by the program.
If: An if statement consists of a boolean expression followed by one or more statements.
If Else: An if statement can be followed by an optional else statement, which executes when the boolean expression is false.
Nested If: You can use one if or else if statement inside another if or else if statement(s).
Switch: A switch statement allows a variable to be tested for equality against a list of values.</p>
<p>Loop Control</p>
<p>Allows us to execute a statement or group of statements multiple times.
While: Repeats a statement or group of statements while a given condition is true. It tests the condition before executing the loop body.
For: Execute a sequence of statements multiple times and abbreviates the code that manages the loop variable.
Do While: Like a while statement, except that it tests the condition at the end of the loop body.</p>
<p>Break Statement</p>
<p>Terminates the loop or switch statement and transfers execution to the statement immediately following the loop or switch</p>
<p>Class</p>
<p>A template/blueprint that describes the behavior/state that the object of its type supports.</p>
<p>Local Variables</p>
<p>Variables defined inside methods, constructors or blocks. The variable will be declared and initialized within the method and the variable will be destroyed when the method has completed.</p>
<p>Instance Variables</p>
<p>Variables within a class but outside any method. These variables are initialized when the class is instantiated. Can be accessed from inside any method, constructor or blocks of that particular class.</p>
<p>Static Class Variables/Fields</p>
<p>Variables declared within a class, outside any method, with the static keyword. They have the same value in any instance of the class. Static, as in locked down.</p>
<p>Constructors</p>
<p>Each time a new object is created, at least one \_\_\_\_\_\_\_ will be invoked. The main rule of \_\_\_\_\_\_\_\_\_ is that they should have the same name as the class. A class can have more than one \_\_\_\_\_\_\_\_.</p>
<p>Package</p>
<p>A collection of related classes/interfaces.</p>
<p>Import Statements</p>
<p>The \_\_\_\_\_\_\_\_\_\_\_\_ \_\_\_\_\_\_\_\_\_\_\_\_ in Java is used to refer to classes which are declared in other packages to be accessed without referring to the full package name.</p>
<p>Inheritance</p>
<p>The process where one class acquires the properties (methods and fields) of another. With the use of \_\_\_\_\_\_\_\_ the information is made manageable in a hierarchical order.
Denoted by the keywords "extends" for a class and "implements" for an interface".
Creates an IS-A relationship. The class that inherits from another class IS-A type of that other class.
Makes code DRYer.</p>
<p>Polymorphism</p>
<p>The ability of an object to take on many forms. The ability of child classes to define their own behavior while also sharing some functionalities with the parent class by using the "extends" keyword.
Any Java object that can pass more than one IS-A test is considered to be \_\_\_\_\_\_\_\_. In Java, all Java objects are \_\_\_\_\_\_\_\_ since any object will pass the IS-A test for their own type and for the class Object.
Also applies to overloaded methods, since they are methods that have multiple forms.</p>
<p>Composition</p>
<p>When an instance of a class is a field of another.
The class with and instance of another as a field is said to have a HAS-A relationship with that other class.</p>
<p>Encapsulation</p>
<p>One of the four fundamental OOP concepts. The other three are inheritance, polymorphism, and abstraction.
A mechanism of wrapping the data (variables) and code acting on the data (methods) together as a single unit. In \_\_\_\_\_\_\_\_, the variables of a class will be hidden (private) from other classes, and can be ACCESSED only through the methods of their current class. Therefore, it is also known as data hiding.
Requires getters and setters to access the variables.
Helps make code maintainable, flexible, and extensible.</p>
<p>Inner Class</p>
<p>A class within another class. Used when a class only makes sense in the context of another class.</p>
Two Types: Local Inner Classes and Anonymous Inner Classes.
<p>Abstraction</p>
<p>A process of HIDING implementation details, only the functionality will be shown. In other words, we have the information on what the object/method does instead of how it does it.
Makes code easier to read and understand and makes code DRYer. </p>
<p>Abstract Class</p>
<p>1) \_\_\_\_\_\_\_\_\_ \_\_\_\_\_\_\_\_ may or may not contain \_\_\_\_\_\_\_\_ methods, i.e., methods without body ( public void get(); )
2) But, if a class has at least one \_\_\_\_\_\_\_ method, then the class must be declared \_\_\_\_\_\_\_\_.
3) If a class is declared \_\_\_\_\_\_\_, it cannot be instantiated.
4) To use an \_\_\_\_\_\_\_\_ \_\_\_\_\_\_, you have to inherit it from another class, provide implementations to the abstract methods in it.
5) If you inherit an \_\_\_\_\_\_\_\_\_ \_\_\_\_\_\_, you have to provide implementations to all the \_\_\_\_\_\_\_\_ methods in it.</p>
<p>Interfaces</p>
<p>A reference type in Java, it is similar to class. It is a collection of abstract methods. A class implements an \_\_\_\_\_\_\_\_\_\_, thereby inheriting the abstract methods of the \_\_\_\_\_\_\_\_\_\_\_.
Along with abstract methods, an \_\_\_\_\_\_\_\_ may also contain constants, default methods, static methods, and inner classes. Method bodies exist only for default methods and static methods.
Writing an \_\_\_\_\_\_\_ is similar to writing a class. But a class describes the attributes and behaviors of an object. And an \_\_\_\_\_\_\_ contains behaviors that a class implements.
Unless declared abstract, any class that implements an \_\_\_\_\_\_\_\_\_\_\_ must define all of the methods inside that \_\_\_\_\_\_\_\_\_\_\_.</p>
<p>Algorithms</p>
<p>These are the methods that perform useful computations, such as searching and sorting, on objects that implement collection interfaces. The \_\_\_\_\_\_\_\_\_ are said to be polymorphic: that is, the same method can be used on many different implementations of the appropriate collection interface.</p>
<p>Arrays</p>
<p>A data structure which stores a fixed-size sequential collection of elements of the same type. An \_\_\_\_\_\_ is used to store a collection of data, but it is often more useful to think of an \_\_\_\_\_\_\_ as a collection of variables of the same type.</p>
<p>Boxing</p>
<p>Converting primitive data types into object is called \_\_\_\_\_\_\_\_, and this is taken care by the compiler.</p>
<p>Unboxing</p>
<p>Converting objects types into primitive data types is called \_\_\_\_\_\_\_\_\_\_\_, and this is taken care by the compiler.</p>
<p>Generics</p>
When creating a collection generics allow us to insure type safety by adding the diamond operator <> containing the type narrowing the specialization of the collection to only to a certain type.
Generic methods are those methods that are written with a single method declaration and can be called with arguments of different types.
Generic methods have type parameter (the diamond operator enclosing the type) before the return type of the method declaration.
Type parameters can be bounded.
Generic methods can have different type parameters separated by commas in the method signature.
Method body for a generic method is just like a normal method.
<p>Stand-Alone Application</p>
<p>A program that does not require an operating systems services to run.</p>
<p>JavaFx</p>
<p>A set of graphics and media packages that enables developers to design, create, test, debug, and deploy rich client applications that operate consistently across diverse platforms.</p>
<p>I/O Streams</p>
<p>A stream can be defined as a sequence of data. There are two kinds of Streams
\_\_\_\_\_\_\_\_\_\_: Used to read data from a source.
\_\_\_\_\_\_\_\_\_\_: Used for writing data to a destination.</p>
<p>Application Control Interface (API)</p>
<p>A set of routines, protocols, and tools for building software applications.
Specify how software components should interact.
Provide the building blocks of programs.
In Java, this is a set of pre-written packages, classes, and interfaces with their respective methods, fields, and constructors. (JVM)</p>
<p>Exceptions</p>
<p>A problem that arises during the execution of a program. When an \_\_\_\_\_\_\_\_ occurs the normal flow of the program is disrupted and the program/Application terminates abnormally, which is not recommended, therefore, these exceptions are to be handled.</p>
<p>Databases</p>
<p>A repository of information managed by a \_\_\_\_\_\_\_\_ engine which ensures integrity of data and fast access to the data.</p>
<p>Regular Expressions</p>
<p>A special sequence of characters that helps you match or find other strings or sets of strings, using a specialized syntax held in a pattern. They can be used to search, edit, or manipulate text and data.</p>
<p>Object</p>
<p>An instance of a Class, with states and behaviors.</p>
<p>Three steps of object creation</p>
<p>1. Declaration with a object type and name
2. Instantiation with the "new" keyword
3. Initialization with a call to a constructor.</p>
<p>Object Oriented Programming (OOP)</p>
<p>Instead of a procedural list of actions, \_\_\_ is modeled around objects that interact with each other. Classes generate objects and define their structure, like a blueprint. The objects interact with each other to carry out the intent of the computer program.</p>
<p>Platform Independent</p>
<p>When Java is compiled, it is not compiled into platform specific machine, rather into \_\_\_\_\_\_\_\_\_\_\_\_\_ \_\_\_\_\_\_\_\_\_\_\_\_ byte code. This byte code is distributed over the web and interpreted by the Virtual Machine (JVM) on whichever platform it is being run on.</p>
<p>Architecture-Neutral</p>
<p>Java compiler generates an \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ object file format, which makes the compiled code executable on many processors, with the presence of Java runtime system.</p>
<p>Portable</p>
<p>Being architecture-neutral and having no implementation dependent aspects of the specification makes Java \_\_\_\_\_\_\_\_\_\_.</p>
<p>Multi-Threaded</p>
<p>A program contains two or more parts that can run concurrently and each part can handle a different task at the same time making optimal use of the available resources specially when your computer has multiple CPUs.
By definition, multitasking is when multiple processes share common processing resources such as a CPU. \_\_\_\_\_\_\_\_\_\_\_ extends the idea of multitasking into applications where you can subdivide specific operations within a single application into individual threads. Each of the threads can run in parallel. The OS divides processing time not only among different applications, but also among each thread within an application.
\_\_\_\_\_\_\_\_\_\_\_ enables you to write in a way where multiple activities can proceed concurrently in the same program.</p>
<p>Interpreted</p>
<p>Java byte code is translated on the fly to native machine instructions and is not stored anywhere. The development process is more rapid and analytical since the linking is an incremental and light-weight process.</p>
<p>Dynamic</p>
<p>Java programs can carry extensive amount of run-time information that can be used to verify and resolve accesses to objects on run-time.</p>
<p>Modifiers</p>
<p>Keywords used during declaration that can change the variable/method/class behavior.
Two types:
- Access modifiers
- Non-access modifiers</p>
<p>Model-View-Controller (MVC)</p>
<p>An architecture used to develop flexible web applications.
The \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ pattern results in separating the different aspects of the application (input logic, business logic, and UI logic), while providing a loose coupling between these elements.
The \_\_\_\_\_ Encapsulates the application data (generally POJOs).
The \_\_\_\_ renders the model data and generates HTML output.
The \_\_\_\_\_\_\_\_\_ processes user requests before building a model and passing it to the \_\_\_\_ to be rendered.</p>
<p>Structured Query Language (SQL)</p>
<p>A domain specific language used for designing and managing data in a Relational Database.</p>
<p>RDBMS</p>
<p>Relational Database Management System</p>
<p>Representational State Transfer Application Programming Interface (REST API)</p>
<p>A \_\_\_\_ \_\_\_ is one built on the \_\_\_\_ architecture which uses HTTP requests to GET, PUT, POST, and DELETE data.</p>
<p>Java Database Connectivity (JDBC)</p>
<p>An API for Java that specifies how a client may access a database.</p>
<p>H2</p>
<p>An RDBMS written in Java that can support both in-memory (temporary during runtime) and persistent databases.</p>
<p>Java Persistence API (JPA)</p>
<p>A Java specification for accessing, persisting, and managing data between Java objects/classes and Relational Databases.</p>
<p>CRUD Repository</p>
<p>Create, Read, Update, Delete</p>
<p>Document Object Model (DOM)</p>
<p>A platform and language neutral interface that allows programs and scripts to dynamically access and update the content, structure, and style of a document.</p>
<p>Content Delivery Network (CDN)</p>
<p>A geographically distributed network of proxy servers and their data centers. The goal is to distribute service spatially relative to end-users to provide high availability and high performance.</p>
<p>Data Warehouse (DW or DWH)</p>
<p>A central repository of integrated data from one or more disparate sources.
Store current and historical data in one place.
Used for reporting and data analysis.</p>
<p>Lean Managment</p>
<p>An approach to running an organization that supports the concept of continuous improvement, a long-term approach to work that systematically seeks to achieve small, incremental changes in processes in order to improve efficiency and quality.
More and more value, less and less waste.</p>
<p>Thymeleaf</p>
<p>A modern server-side Java Template Engine for both web and standalone environments, capable of processing HTML, XML, JavaScript, CSS, and even plain text.</p>
<p>"private" Modifier</p>
<p>An access modifier which makes the class/method/ variable only visible to the class it's in.
The most restrictive access modifier.
Helps with encapsulation.
\_\_\_\_\_\_\_ variables need getters and setters to access them.</p>
<p>"public" Modifier</p>
<p>An access modifier which makes the class/method/ variable visible to every class, even ones outside the package via an import.</p>
<p>"protected" Modifier</p>
<p>An access modifier which makes the class/method/ variable only visible to its class, other classes in its package, and any subclasses of its class in other packages.</p>