2014-03-10 16:18:58 +01:00
|
|
|
%!TEX root = Programmierparadigmen.tex
|
|
|
|
\chapter{Java Bytecode}
|
|
|
|
\index{Java Bytecode|(}
|
|
|
|
\begin{definition}[Bytecode]\xindex{Bytecode}%
|
|
|
|
Der Bytecode ist eine Sammlung von Befehlen für eine virtuelle Maschine.
|
|
|
|
\end{definition}
|
|
|
|
|
|
|
|
Bytecode ist unabhängig von realer Hardware.
|
|
|
|
|
|
|
|
\begin{definition}[Heap]\xindex{Heap}\xindex{Speicher!dynamischer}%
|
|
|
|
Der dynamische Speicher, auch Heap genannt, ist ein Speicherbereich, aus dem
|
|
|
|
zur Laufzeit eines Programms zusammenhängende Speicherabschnitte angefordert
|
|
|
|
und in beliebiger Reihenfolge wieder freigegeben werden können.
|
|
|
|
\end{definition}
|
|
|
|
|
2014-03-11 18:46:43 +01:00
|
|
|
|
|
|
|
|
|
|
|
\textit{Activation Record} ist ein \textit{Stackframe}.\index{Activation Record|see{Stackframe}}
|
|
|
|
\section{Instruktionen}
|
|
|
|
\begin{table}[h]
|
|
|
|
\begin{tabular}{p{6cm}|ll}
|
|
|
|
\textbf{Beschreibung} & \textbf{int} & \textbf{float} \\ \hline
|
|
|
|
Addition & iadd & fadd \\
|
|
|
|
Element aus Array auf Stack packen & iaload & faload \\
|
|
|
|
Element aus Stack in Array speichern & iastore & fastore \\
|
|
|
|
Konstante auf Stack legen & iconst\_<i> & fconst\_<f> \\
|
|
|
|
Divide second-from top by top & idiv & fdiv \\
|
|
|
|
Multipliziere die obersten beiden Zahlen des Stacks & imul & fmul \\
|
|
|
|
\end{tabular}
|
|
|
|
\end{table}
|
|
|
|
|
|
|
|
\section{Weitere Informationen}
|
|
|
|
\begin{itemize}
|
|
|
|
\item \url{http://cs.au.dk/~mis/dOvs/jvmspec/ref-Java.html}
|
|
|
|
\end{itemize}
|
2014-03-10 16:18:58 +01:00
|
|
|
\index{Java Bytecode|)}
|