\begin{slide}{Speicherverwaltung in JVM}

Speicheraufteilung:
\begin{itemize} \itemsep 0pt
\item Generation 0: 
  \begin{itemize} \itemsep 0pt
  \item Eden, Survivor 1, Survivor 2
  \end{itemize}
\item Generation 1: Tenured
\end{itemize}
Ablauf
\begin{itemize} \itemsep 0pt
\item minor collection (Eden voll):

  kompaktierend: Eden $+$ Survivor 1/2 $\to$ Survivor 2/1 \dots

  \dots falls dabei Überlauf $\to$ Tenured

\item major collection (Tenured voll):

  alles nach Survivor 1 ($+$ Tenured)
\end{itemize}


\end{slide}

\begin{slide}{Speicherverwaltung in JVM (II)}

  \begin{itemize}
  \item richtige Benutzung der Generationen:
  \begin{itemize}
  \item bei minor collection (in Gen. 0)
    gelten Zellen in Tenured (Gen. 1)
    als lebend (und werden nicht besucht)
  \item Spezialbehandlung für Zeiger von Gen. 1
    nach Gen. 0 nötig (wie können die überhaupt entstehen?)
  \end{itemize}
  \item Literatur: \url{http://www.imn.htwk-leipzig.de/~waldmann/edu/ws09/pps/folien/main/node78.html}
  \item Aufgabe: \url{http://www.imn.htwk-leipzig.de/~waldmann/edu/ws09/pps/folien/main/node79.html}
  \end{itemize}


\end{slide}
