Tech Archive Help

Glossar

Begriff

Abkürzung

Bedeutung / Beschreibung

Application Programming Interface

API

Eine API (Application Programming Interface) ist eine Schnittstelle, die es Softwareanwendungen ermöglicht, miteinander zu kommunizieren. APIs legen fest, wie verschiedene Softwarekomponenten miteinander interagieren sollen, indem sie eine Reihe von Funktionen, Methoden oder Endpunkten bereitstellen. Diese können von einer Anwendung genutzt werden, um auf bestimmte Funktionen einer anderen Anwendung zuzugreifen.

Binary Digit

Bit

Ein Bit (eng. Abkürzung für binary digit) ist die Bezeichnung für eine Binärziffer, welche als Maßeinheit für eine Datenmenge dient. Dabei ist ein Bit die kleinste darstellbare Datenmenge. Ein Bit kann nur den Zuständen 0 oder 1 entsprechen.

Boilerplate-Code

-

Boilerplate-Code bezeichnet den sich wiederholenden, standardisierten Code, der oft notwendig ist, um eine bestimmte Funktionalität zu implementieren, aber keinen unmittelbaren Mehrwert für die spezifische Logik der Anwendung bietet. Dieser Code ist oft repetitiv und kann die Lesbarkeit und Wartbarkeit des Programms beeinträchtigen.

Bytecode

-

Ein Bytecode ist eine Art Programmcode, der von einer höheren Programmiersprache in einen maschinenlesbaren Code kompiliert wurde. Dieser wird nicht von der zugrundeliegenden Hardware, sondern durch eine VM (virtuelle Maschine) ausgeführt.

Cache

-

Ein Cache ist ein spezieller Speicherbereich, der dazu dient, häufig verwendete Daten oder Berechnungen zu speichern, um schnelleren Zugriff darauf zu ermöglichen.

CamelCase-Notation

-

Die CamelCase-Notation bezeichnet eine Schreibweise, wobei der Anfangsbuchstabe mit einem Kleinbuchstaben und jedes weitere Wort mit einem Großbuchstaben geschrieben wird.

Command-Line Interface

CLI

Ein Command-Line Interface (CLI) ist eine Benutzerschnittstelle, bei der der Nutzer durch direkte Eingaben von Textbefehlen mit einer Konsole oder einem Terminal interagiert.

Compiler

-

Ein Compiler ist ein spezielles Programm, welches den Quellcode einer Programmiersprache in Maschinencode, Bytecode oder eine andere Programmiersprache übersetzt.

Constants-Notation

-

Die Konstanten-Notation oder auch SCREAMING_SNAKE_CASE-Notation bezeichnet eine Schreibweise, wobei nur Großbuchstaben und Unterstriche verwendet werden, um die Bedeutung als "unveränderlichen Wert" hervorzuheben.

Data Transfer Object

DTO

DTOs sind einfache Objekte, die dazu dienen, Daten zwischen verschiedenen Schichten oder Systemen zu transportieren. Sie enthalten meist nur Felder mit Getter- und Setter-Methoden, aber keine Geschäftslogik.

Dependency Inversion Principle

DIP

Dependency Inversion Principle (DIP): High-Level-Module sollten nicht von Low-Level-Modulen abhängig sein. Beide sollten auf Abstraktionen basieren. Dies fördert die Entkopplung von Komponenten durch Abstraktionen und Schnittstellen.

Entity

-

Entities sind Klassen, die direkt eine Datenbanktabelle abbilden. Jede Instanz einer Entity-Klasse entspricht einem Datensatz (Row) in der Tabelle. Sie enthalten typischerweise Felder für Spalten und sind oft mit JPA - oder Hibernate-Annotationen versehen, um die Zuordnung zu steuern.

Garbage Collector

GC

Ein Garbage Collector (GC) ist eine automatische Speicherverwaltung, die in vielen Programmiersprachen und Laufzeitumgebungen implementiert ist. Der Hauptzweck eines Garbage Collectors besteht darin, nicht mehr benötigte Objekte oder Datenstrukturen, die von einem Programm erstellt wurden, aus dem Speicher zu entfernen, um Speicherplatz freizugeben und Speicherlecks zu vermeiden.

Integrated Development Environment

IDE

Eine Integrated Development Environment (IDE) stellt eine Reihe von Programmierwerkzeugen wie einen Compiler oder Debugger zur Verfügung. Diese erleichtern deutlich das Schreiben und Entwickeln von Software.

IEEE-754

-

Die Norm IEEE 754 definiert Standarddarstellungen für binäre und dezimale Fließkommazahlen in Computern und legt genaue Verfahren für die Durchführung mathematischer Operationen, insbesondere für Rundungen, fest.

Interface Segregation Principle

ISP

Interface Segregation Principle (ISP): Clients sollten nicht gezwungen sein, sich auf Schnittstellen zu verlassen, die sie nicht verwenden. Dieses Prinzip fördert die Erstellung kleinerer, fokussierter Schnittstellen.

Java Bean

-

Java Beans sind wiederverwendbare Java-Klassen, die bestimmte Konventionen befolgen. Sie besitzen einen öffentlichen, parameterlosen Konstruktor, private Felder sowie öffentliche Getter- und Setter-Methoden.

Java-Heap

-

Der Java-Heap ist ein Speicherbereich, der für die dynamische Allokation von Speicherplatz während der Laufzeit reserviert ist. Der Heap wird verwendet, um Daten zuzuweisen, die während der Programmausführung dynamisch erstellt werden.

Java-Stack

-

Der Java-Stack ist ein Speicherbereich, der von der JVM verwendet wird, um die Ausführung von Java-Methoden zu verwalten. Jeder Thread, der in einer Java-Anwendung erstellt wird, hat seinen eigenen Java-Stack.

Just-In-Time

JIT

Just-In-Time (JIT) bezieht sich auf eine Art von Compiler, der verwendet wird, um Programmcode während der Laufzeit eines Programms zu kompilieren. In Programmiersprachen, wie Java oder .NET-Sprachen die Bytecode verwenden, wird JIT-Kompilierung verwendet, um Bytecode in nativen Maschinencode zu übersetzen, der direkt von der zugrunde liegenden Hardware ausgeführt werden kann.

Java Development Kit

JDK

Das Java Development Kit (JDK) ist ein Softwarepaket, welches eine Vielzahl von Werkzeugen und Dienstprogrammen enthält, die das Entwickeln, das Paketieren, das Überwachen und das Bereitstellen von Anwendungen ermöglicht. Die JRE ist Bestandteil des JDK.

Java Native Interface

JNI

Das Java Native Interface (JNI) ist eine Schnittstelle, die es dem Java-Code ermöglicht, nativen Code zu verwenden und mit ihm zu interagieren. Es fungiert als Bindeglied zwischen dem Java-Code, der in der JVM läuft und nativem Code, der in Sprachen wie C oder C++ geschrieben wurde.

Java Persistence API

JPA

JPA ist eine standardisierte Java-Schnittstelle zur objektrelationalen Abbildung (ORM). Sie erlaubt es, Java-Objekte (Entities) auf Datenbanktabellen zu mappen, Abfragen durchzuführen und Daten zu speichern oder zu aktualisieren, ohne direkt SQL schreiben zu müssen. JPA definiert die Regeln und Annotations für Entities, Beziehungen und Transaktionen, während Frameworks wie Hibernate die eigentliche Umsetzung übernehmen.

Java Runtime Environment

JRE

Die Java Runtime Environment (JRE) ist eine Softwareschicht, die auf der Betriebssystemsoftware eines Computers ausgeführt wird und die Klassenbibliotheken, sowieso andere Ressourcen bereitstellt, die ein Java-Programm zur Ausführung benötigt. Die JVM ist Bestandteil der JRE.

Java Virtual Machine

JVM

Die Java Virtual Machine (JVM) ist eine virtuelle Maschine, die verwendet wird, um Java-Bytecode auszuführen. Sie interpretiert oder kompiliert den Java-Bytecode in Maschinenbefehle, die von der zugrunde liegenden Hardware ausgeführt werden können.

Liskov Substitution Principle

LSP

Liskov Substitution Principle (LSP): Untertypen (abgeleitete Klassen) müssen durch ihre Basistypen (übergeordnete Klassen) ersetzt werden können, ohne die Korrektheit des Programms zu verändern.

Memoization

-

Memoization bezeichnet eine Technik zur Optimierung, bei der Ergebnisse von teuren Funktionsaufrufen (meist rekursive oder häufig aufgerufene Funktionen) gespeichert werden, um wiederholte Berechnungen zu vermeiden. Die gespeicherten Ergebnisse werden in einer Datenstruktur abgelegt, sodass bei erneutem Auftreten derselben Eingabewerte bereits berechnete Ergebnisse direkt zurückgegeben werden können.

Object-Oriented Programming

OOP

OOP ist ein Programmierparadigma, das Software in Form von Objekten organisiert, welche Daten (Attribute) und Verhalten (Methoden / Funktionen) kombinieren.

Object-Relational Mapping

ORM

ORM bezeichnet ein Programmierkonzept, bei dem Objekte einer Programmiersprache auf Datenbanktabellen abgebildet werden. Es ermöglicht Entwicklern, mit Objekten zu arbeiten, statt direkt SQL-Abfragen zu schreiben. Dadurch wird die Arbeit mit Datenbanken in objektorientierten Sprachen wie Java einfacher, konsistenter und weniger fehleranfällig. Beispiele für ORM-Frameworks in Java sind Hibernate oder EclipseLink.

Open/Closed Principle

OCP

Open/Closed Principle (OCP): Software-Entitäten (z. B. Klassen, Module etc.) sollten für Erweiterungen offen, aber für Änderungen geschlossen sein. Dies fördert die Idee, die Funktionalität zu erweitern, ohne den vorhandenen Code zu ändern.

Orthogonalität

-

Orthogonalität ist ein Begriff, der ursprünglich aus der Geometrie stammt und „Rechtwinkligkeit“ bedeutet. Zwei Vektoren sind orthogonal zueinander, wenn sie einen Winkel von 90° bilden. Orthogonalität wird aber auch in anderen Bereichen verwendet, wie z. B. der Statistik, Informatik und Signalverarbeitung. Hier beschreibt Orthogonalität im Allgemeinen Unabhängigkeit oder Nicht-Korrelation.

Overhead

-

Overhead bezeichnet den zusätzlichen Aufwand oder die zusätzlichen Ressourcen, die für die Ausführung eines Programms, einer Methode oder eines Systems benötigt werden, ohne dass direkt produktive Arbeit geleistet wird. Darunter können Speicherverbrauch, zusätzliche Berechnungen, Verwaltungslogik oder Kommunikationsaufwand fallen.

PascalCase-Notation

-

Die PascalCase-Notation bezeichnet eine Schreibweise, wobei der Anfangsbuchstabe mit einem Großbuchstaben und jedes weitere Wort ebenfalls mit einem Großbuchstaben geschrieben wird.

Plain Old Java Object

POJO

POJOs sind einfache Java-Klassen ohne spezielle Vorgaben oder Abhängigkeiten von Frameworks. Sie dienen als „reine“ Daten- oder Logikträger und stellen das Grundkonzept dar, auf dem DTOs oder Java Beans aufbauen können.

Serialization

-

Unter Serialisierung wird das Konvertieren des Zustands eines Objekts in eine Form verstanden, die erhalten oder transportiert werden kann. Das Gegenstück zur Serialisierung ist die Deserialisierung, die einen Stream in ein Objekt konvertiert.

Single Responsibility Principle

SRP

Single Responsibility Principle (SRP): Eine Klasse sollte nur einen Grund haben, sich zu ändern. D. h. sie sollte eine einzige, klar definierte Verantwortung haben.

SOLID

-

Das SOLID-Prinzip bezieht sich auf eine Reihe von (5) Designprinzipien, bestehend aus dem Single Responsibility Principle (SRP), Open/Closed Principle (OCP), Liskov Substitution Principle (JVM), Interface Segregation Principle (ISP) und dem Dependency Inversion Principle (DIP). Sie werden in der objektorientierten Programmierung (OOP) angewendet.

String-Pool

-

Der String-Pool stellt sicher, dass identische Zeichenketten im Speicher nur einmal existieren.

Top Level Class

-

Top-Level-Klassen sind Klassen, die direkt innerhalb einer Datei definiert werden und nicht innerhalb einer anderen Klasse verschachtelt existieren.

Utility Class

-

Eine Utility-Klasse ist eine Hilfsklasse, die eine Sammlung von statischen Methoden und/oder Konstanten bietet, welche allgemein nützliche Funktionen bereitstellt.

Wrapper Class

-

In Java kapselt eine Wrapper-Klasse primitive Datentypen in eine objektorientierte Hülle und stellt eine Reihe von Hilfsmethoden und -konstanten für diese zur Verfügung.

21 November 2025