736 Begriffe aus IT, Netzwerk, Sicherheit und Programmierung: erst kurz erklärt, dann ausführlicher. Suche nach einem Wort oder wähle einen Buchstaben.
99 Treffer · die ersten 40
Das JVM-Prinzip ermöglicht "Write once, run anywhere" — derselbe Bytecode läuft auf jedem Betriebssystem, für das eine JVM existiert. Wird häufig für große Unternehmensanwendungen, Android-Apps (historisch) und Backend-Systeme genutzt. Kompiliert und ausgeführt wird sie mit Werkzeugen aus dem JDK.
Verwandt: C++ · Garbage Collector · JDK · Kotlin · OOP · Android
Ganzer Artikel im Wiki →Java setzt Abstraktion über zwei Mechanismen um: abstract class (kann sowohl fertige als auch offene, noch zu implementierende Methoden enthalten, aber selbst nicht direkt instanziiert werden) und Interface (reine Vertragsdefinition ohne eigenen Zustand). Beide zwingen Unterklassen, die offenen Methoden konkret zu implementieren.
Verwandt: Encapsulation · Interface · OOP · Java · Classes · List
Ganzer Artikel im Wiki →Java liefert viele Standardalgorithmen bereits fertig mit, z. B. Collections.sort(), Collections.binarySearch() oder Collections.max() — für gängige Aufgaben lohnt es sich selten, sie neu zu implementieren. Für eigene Algorithmen sind Zeit- und Platzkomplexität (Big-O-Notation) die zentralen Bewertungsmaßstäbe.
Verwandt: Data Structures · Recursion · Sorting · DSA (Data Structures & Algorithms) · Java
Ganzer Artikel im Wiki →Apps werden traditionell in Java oder (seit 2019 von Google empfohlen) Kotlin entwickelt, verpackt als APK. Weil viele Hersteller (Samsung, Xiaomi usw.) eigene Android-Varianten mit unterschiedlicher Hardware ausliefern, ist die Gerätefragmentierung bei Android deutlich größer als bei Apples einheitlicherem iOS-Ökosystem.
Verwandt: APK · iOS · Kotlin · Offline-First und Background Sync (PWA) · Smartphones · Tablets
Ganzer Artikel im Wiki →AngularJS führte Konzepte wie Zwei-Wege-Datenbindung und Direktiven im großen Stil ein, wurde aber 2022 offiziell eingestellt (End of Life). Der Nachfolger "Angular" (ohne "JS", ab Version 2) ist ein komplett neues, TypeScript-basiertes Framework ohne Rückwärtskompatibilität.
Ganzer Artikel im Wiki →Häufig genutzt für einmalige Event-Handler oder Callback-Implementierungen, bei denen sich eine separate, benannte Klasse nicht lohnt. Seit Java 8 übernehmen Lambda-Ausdrücke diese Rolle für funktionale Interfaces (Interfaces mit genau einer Methode) meist kompakter.
Verwandt: Inner Classes · Lambda · Interface · Java · Classes · Interface
Ganzer Artikel im Wiki →Zugriff per Index (get(i)) ist sehr schnell (konstante Zeit), Einfügen/Entfernen in der Mitte dagegen langsam, da nachfolgende Elemente verschoben werden müssen. Im Gegensatz zu einem klassischen Array muss die Größe nicht vorher feststehen.
Verwandt: Arrays · LinkedList · List · Java · For-Schleife · Generics
Ganzer Artikel im Wiki →Deklaration z. B. int[] zahlen = new int[5]; oder direkt mit Werten int[] zahlen = {1, 2, 3};. Der Zugriff erfolgt über einen nullbasierten Index. Wird eine variable Größe gebraucht, greift man in Java stattdessen zu ArrayList aus dem Collections-Framework.
Verwandt: ArrayList · For-Schleife · Index · Mehrdimensionale Arrays · Java · JSON
Ganzer Artikel im Wiki →Weil die Größe eines Arrays bei den meisten Sprachen von Anfang an feststehen muss, sind Arrays sehr schnell im Zugriff, aber unflexibel, wenn sich die Anzahl der Elemente zur Laufzeit ändern soll — dafür gibt es dynamisch wachsende Strukturen wie Java's ArrayList (siehe Dynamisches Array). Mehrdimensionale Arrays erweitern das Prinzip auf Tabellen oder Gitter (Array von Arrays).
Verwandt: Index · Data Structures (Datenstrukturen) · ArrayList (Dynamisches Array) · Mehrdimensionale Arrays · Java · Algorithms (Algorithmen)
Ganzer Artikel im Wiki →Eine als async markierte Funktion gibt ein Versprechen zurück (Promise, Future, Task). Mit await hält sie an dieser Stelle an und gibt die Kontrolle ab, bis das Ergebnis da ist – andere Aufgaben laufen in der Zwischenzeit. Das ist bequemer als verschachtelte Callbacks. Unterstützt wird es in JavaScript/TypeScript, Python, C#, Kotlin (Coroutinen), Rust, Swift, Dart und weiteren.
Verwandt: Callback · Event Loop (Ereignisschleife) · Thread (Faden) · Exceptions · Threads (Nebenläufigkeit)
Ganzer Artikel im Wiki →Besteht im Kern aus einer Rendering-Engine (baut aus HTML/CSS das sichtbare Layout) und einer JavaScript-Engine (führt Skripte aus). Bekannte Vertreter: Google Chrome, Mozilla Firefox, Apple Safari, Microsoft Edge.
Verwandt: HTTPS · Apple Safari · Browser-Tab · Browser-Verlauf · Google Chrome · HTML
Ganzer Artikel im Wiki →Die meisten einfachen Browserspiele zeichnen auf ein <canvas>-Element, das eine Pixelfläche bereitstellt. Ein Spiel besteht im Kern aus einer Spielschleife (Game Loop): Sie liest Eingaben, aktualisiert den Spielzustand (Positionen, Punkte, Kollisionen) und zeichnet das Bild neu — im Browser typischerweise über requestAnimationFrame etwa 60-mal pro Sekunde.
Verwandt: Content Security Policy (CSP) · XSS (Cross-Site Scripting) · Browser · CSS · HTML · Caching
Ganzer Artikel im Wiki →Wird selten explizit genutzt außer bei speicherkritischen Anwendungen (z. B. große Arrays) oder beim Verarbeiten roher Binärdaten (z. B. Byte-Streams beim Dateizugriff). Rechenoperationen mit byte-Werten liefern in Java als Zwischenergebnis automatisch int, ein Rückcast ist dann oft nötig.
Verwandt: long · short · Type Casting · Bits · Java · Arrays
Ganzer Artikel im Wiki →Java-Programme werden zu .class-Dateien (JVM-Bytecode), C# zu IL für die CLR, Python zu .pyc-Dateien. Dank Bytecode läuft dasselbe Programm auf jedem System, auf dem die virtuelle Maschine installiert ist („write once, run anywhere“). Die VM führt den Code entweder interpretiert oder über JIT-Compilation aus.
Verwandt: Compiler · Interpreter · JIT-Compiler (Just-in-Time) · Assembly
Ganzer Artikel im Wiki →In C verwaltet man Speicher manuell (Zeiger/Pointer, malloc/free) — es gibt keinen Garbage Collector wie in Java. Das macht C extrem performant und kontrollierbar, aber auch fehleranfällig (Speicherlecks, Buffer Overflows). Bis heute die Sprache der Wahl für Betriebssystemkerne, Treiber und eingebettete Systeme.
Verwandt: C++ · Rust · Assembly · Code · Garbage Collector · Java
Ganzer Artikel im Wiki →Syntaktisch eng an Java und C++ angelehnt (geschweifte Klammern, statische Typisierung), aber mit modernen Spracherweiterungen wie LINQ, async/await und Nullable-Reference-Types. Wird vor allem für Windows-Anwendungen, Unity-Spieleentwicklung und Backend-Dienste mit ASP.NET eingesetzt.
Ganzer Artikel im Wiki →Eine Klasse selbst ist noch kein konkretes Objekt, sondern die Vorlage, aus der über new beliebig viele Objects erzeugt werden können, die jeweils eigene Werte für die Felder tragen. In Java lebt pro Datei üblicherweise genau eine öffentliche Klasse, benannt wie die Datei selbst.
Verwandt: Constructors · Encapsulation · Methods · Modifiers · Objects · OOP
Ganzer Artikel im Wiki →Closures entstehen, wenn eine innere Funktion auf Variablen der äußeren zugreift und zurückgegeben oder weitergereicht wird. Sie sind die Grundlage für Zähler, Fabriken, Callbacks, Teilanwendung (Currying) und das Modul-Muster in JavaScript. Unterstützt werden sie von JavaScript, Python, Java (Lambda-Ausdrücke), C#, Go, Kotlin, Swift, Rust, Haskell und vielen weiteren.
Verwandt: Callback · Currying · Higher-Order-Funktion (Funktion höherer Ordnung) · Decorator-Muster (Dekorierer) · Encapsulation (Kapselung) · Lambda (Lambda-Ausdruck)
Ganzer Artikel im Wiki →Umfasst je nach Kontext unterschiedliche Stufen: Quellcode (von Menschen lesbarer Programmtext), Maschinencode (direkt vom Prozessor ausführbare Bytes) oder Bytecode (Zwischenform, z. B. bei Java). Wird durch einen Compiler oder Interpreter von einer Stufe in die nächste überführt.
Verwandt: Quellcode · Drizzle ORM · Neon Auto-Suspend · next-intl · Cron Job (Vercel) · JSONL (JSON Lines)
Ganzer Artikel im Wiki →Anders als Arrays haben Collections keine feste Größe und bieten fertige Methoden für Sortieren, Suchen und Filtern. Seit Java 5 sind Collections generisch (siehe Generics) — List<String> erzwingt zur Compile-Zeit, dass nur String-Objekte hineinkommen, statt Typfehler erst zur Laufzeit zu entdecken.
Verwandt: Generics · Iterator · List · Set · Java · Advanced Sorting
Ganzer Artikel im Wiki →Wichtige Falle in Java: == vergleicht bei Objekten (z. B. String) die Referenz, nicht den Inhalt — zwei inhaltlich gleiche Strings können mit == trotzdem false liefern, wenn es unterschiedliche Objekte im Speicher sind. Für den Inhaltsvergleich von Objekten gehört stattdessen .equals() genutzt.
Verwandt: if-Statement · Logical Operators · Operatoren · Java · Strings
Ganzer Artikel im Wiki →Dabei prüft er Syntax und (bei statisch typisierten Sprachen) Typen und meldet Fehler schon vor dem Start. Das Ergebnis läuft anschließend ohne weitere Übersetzung. Compiler-Sprachen sind unter anderem C, C++, Rust, Go, Pascal und Fortran; Java und C# kompilieren zu Bytecode (Bytecode), den eine virtuelle Maschine ausführt.
Verwandt: Bytecode · Interpreter · JIT-Compiler (Just-in-Time) · Quellcode · Baum (Datenstruktur) · Makro (Metaprogrammierung)
Ganzer Artikel im Wiki →Konstanten machen Code sicherer und lesbarer: der Compiler verhindert versehentliches Überschreiben, und ein aussagekräftiger Name (z. B. MAX_RETRIES) ersetzt "magische Zahlen" im Code. Konvention in vielen Sprachen: Konstanten komplett in Großbuchstaben mit Unterstrichen schreiben (SCREAMING_SNAKE_CASE).
Verwandt: Declaring Variables (Variablendeklaration) · Code · Identifiers (Bezeichner) · Java · Enum · Modifiers
Ganzer Artikel im Wiki →Der Konstruktor trägt immer denselben Namen wie die Klasse und hat keinen Rückgabetyp (auch nicht void). Definiert eine Klasse keinen eigenen Konstruktor, erzeugt Java automatisch einen leeren Standardkonstruktor. Konstruktoren können, wie normale Methoden, per Overloading mehrfach mit unterschiedlichen Parametern definiert werden.
Verwandt: Classes · Objects · Overloading · this-Keyword · Java · Encapsulation
Ganzer Artikel im Wiki →Da HTTP von Natur aus zustandslos ist (jede Anfrage ist unabhängig, der Server "erinnert" sich nicht), braucht es einen Mechanismus, um einen Nutzer über mehrere Anfragen hinweg wiederzuerkennen — dafür wurden Cookies erfunden. Wichtige Sicherheitsattribute: HttpOnly (nicht per JavaScript auslesbar, schützt vor XSS-Diebstahl), Secure (nur über HTTPS gesendet) und SameSite (schränkt ein, bei welchen websiteübergreifenden Anfragen der Cookie mitgeschickt wird, schützt vor CSRF).
Verwandt: HTTP · Session · Cookie-Einwilligung (TDDDG) · HTTPS · Request · DSGVO
Ganzer Artikel im Wiki →createNewFile() gibt false zurück (statt einer Exception), wenn die Datei bereits existiert — leicht zu übersehen, wenn man nur auf Exceptions prüft. Files.createFile(path) aus java.nio.file wirft dagegen eine FileAlreadyExistsException, was Fehler beim Testen eher auffallen lässt.
Verwandt: Files · Write Files · Exceptions · try-with-resources
Ganzer Artikel im Wiki →Die Wahl der Datenstruktur bestimmt maßgeblich die Performance eines Programms: eine ArrayList erlaubt schnellen Zugriff per Index, eine LinkedList schnelles Einfügen/Entfernen mitten in der Liste, ein HashSet schnelles Prüfen auf Enthaltensein. Java-Arrays (siehe Arrays) sind die einfachste, aber unflexibelste Datenstruktur.
Verwandt: Algorithms · Anwendungsentwicklung · DSA (Data Structures & Algorithms) · Java · Daten · Arrays
Ganzer Artikel im Wiki →java.util.Date hatte grundlegende Designprobleme (u. a. veränderlich/mutable, verwirrende Monatszählung ab 0) — java.time.LocalDate/LocalDateTime sind unveränderlich (immutable) und deutlich weniger fehleranfällig. Für Datumsberechnungen (z. B. "in 7 Tagen") bietet java.time eigene Methoden wie plusDays(7).
Verwandt: Java · Errors · Non-primitive Types
Ganzer Artikel im Wiki →Ein Breakpoint pausiert das Programm an einer bestimmten Zeile, sodass man den aktuellen Zustand aller Variablen einsehen kann, statt blind zu raten. Ergänzend helfen Stacktraces bei Exceptions und gezielte System.out.println-Ausgaben, auch wenn Letzteres bei komplexeren Fehlern schnell an Grenzen stößt.
Verwandt: Errors · Crash-Handler · Code · Java · Exceptions
Ganzer Artikel im Wiki →In statisch typisierten Sprachen (Java, C, C#) muss bei der Deklaration der Datentyp feststehen (z. B. int alter;), in dynamisch typisierten Sprachen (JavaScript, Python) reicht oft ein Schlüsselwort ohne Typ (let alter;). Deklaration (Variable bekanntmachen) und Initialisierung (ihr einen Startwert geben) können in einem Schritt oder getrennt passieren.
Verwandt: Constants (final) · Identifiers (Bezeichner) · var-Keyword · Feature Flags (Kill-Switch) · Java · Assignment Operators
Ganzer Artikel im Wiki →Mehrere Dekoratoren lassen sich ineinander stecken, zum Beispiel Logging, Caching, Berechtigungsprüfung und Zeitmessung um dieselbe Funktion. Python hat dafür eine eigene Syntax (@dekorator), JavaScript/TypeScript kennt Decorators für Klassen, Java nutzt es bei Streams (new BufferedReader(new FileReader(...))).
Verwandt: Annotations (Annotationen) · Closure · Higher-Order-Funktion (Funktion höherer Ordnung) · Strategy-Muster (Strategie) · Inheritance (Vererbung)
Ganzer Artikel im Wiki →Syntaktisch steht die Bedingung am Ende, mit abschließendem Semikolon: do { ... } while (bedingung);. Wird oft für Eingabe-Validierung genutzt, da die Eingabeaufforderung mindestens einmal erscheinen muss, bevor geprüft werden kann, ob sie gültig war.
Verwandt: Fußgesteuerte Schleife · User Input · While-Schleife · Java · Schleifen
Ganzer Artikel im Wiki →double ist in Java der Standard-Typ für Kommazahlen — Literale wie 3.14 werden ohne weiteren Suffix automatisch als double interpretiert (für den kleineren float-Typ braucht es ein f-Suffix: 3.14f). Wegen der binären Gleitkommadarstellung sind exakte Vergleiche mit == riskant (Rundungsfehler); für Geldbeträge ist BigDecimal die sicherere Wahl.
Verwandt: Non-primitive Types · Type Casting · CPU · Java · byte · long
Ganzer Artikel im Wiki →In dynamischen Sprachen wie Python, Ruby und JavaScript genügt es, dass ein Objekt die benötigten Methoden besitzt; eine gemeinsame Basisklasse oder Schnittstelle ist nicht nötig. Passt etwas nicht, fällt das erst zur Laufzeit auf. Go und TypeScript kennen eine statisch geprüfte Variante, die *strukturelle Typisierung*.
Verwandt: Polymorphism (Polymorphie) · Interface (Schnittstelle) · Typinferenz (Typableitung)
Ganzer Artikel im Wiki →Syntaktisch ist else if kein eigenes Java-Schlüsselwort, sondern einfach ein verschachteltes if innerhalb des else-Zweigs des vorherigen if. Die Reihenfolge ist wichtig: die erste zutreffende Bedingung "gewinnt", auch wenn eine spätere ebenfalls zutreffen würde.
Verwandt: if...else · if-Statement · Switch-Statement
Ganzer Artikel im Wiki →Java selbst arbeitet primär mit typisierten Exceptions statt reinen Fehlercodes wie in C — eine eigene Exception-Klasse mit einem Feld für einen Fehlercode kombiniert aber oft beide Ansätze, wenn z. B. eine externe API mit numerischen Codes angebunden wird.
Verwandt: Errors · API · Java · Exceptions · Multiple Exceptions
Ganzer Artikel im Wiki →Java unterscheidet strikt zwischen Error (Problem auf JVM-Ebene, meist nicht sinnvoll behandelbar) und Exceptions (Problem auf Programmebene, das man gezielt abfangen und behandeln kann). Beide erben von der gemeinsamen Oberklasse Throwable.
Verwandt: Debugging · Error Codes · Exceptions · Java · Date · Recursion
Ganzer Artikel im Wiki →Sie ist das Herz von JavaScript im Browser und in Node.js, aber auch von Python (asyncio), Tcl, Qt/GTK-Oberflächen und Spielen. Langsame Operationen laufen nicht im Vordergrund; stattdessen meldet das Betriebssystem ihre Fertigstellung, und die Schleife ruft den passenden Callback auf.
Verwandt: async/await · Callback · Thread (Faden) · Threads (Nebenläufigkeit) · Observer-Muster (Beobachter)
Ganzer Artikel im Wiki →Java unterscheidet geprüfte Exceptions (checked, z. B. IOException — der Compiler zwingt zum Abfangen oder Weiterreichen) und ungeprüfte (unchecked, z. B. NullPointerException — Compiler prüft nichts, meist Programmierfehler statt erwartbarer Zustand). Ein finally-Block läuft immer, egal ob eine Exception geworfen wurde oder nicht — typisch für Aufräumarbeiten.
Verwandt: Errors · Multiple Exceptions · try-with-resources · Crash · Crash-Handler · Go
Ganzer Artikel im Wiki →Die neuere java.nio.file-API (seit Java 7) bietet kompaktere, statische Methoden für gängige Operationen (Files.readAllLines(path), Files.write(...)) und bessere Fehlerbehandlung als die ältere java.io.File-Klasse. Alle Dateioperationen können scheitern (Datei existiert nicht, keine Berechtigung) und werfen deshalb geprüfte Exceptions.
Verwandt: Create Files · Delete Files · I/O Streams · Read Files · Write Files · Java
Ganzer Artikel im Wiki →