Das ist so schon richtig. Komponenten sind lediglich gewisse Vorlagen zur Datenhaltung.
Das bietet sich eher nicht an. Für diesen sehr limitierten Nutzen wäre es zwar auch möglich, aber aus meiner Sicht nicht sinnvoll soetwas zu tun. Nicht nur wegen dem überproportionalen Overhead, sondern vor allem auch wegen gängigen Design Paradigmen.
Die Daten werden auf andere Art und Weise verarbeitet.
Java verwendet einen Compiler. Meistens sogar zwei: Einen um den Java-Code zu Java-Byte-Code zu kompillieren, und dann in der JVM einen Just-In-Time Compiler um den Java-Byte-Code in Maschinen-Code zu kompillieren. Der zweite ist zwar gängig aber optional da der Java-Byte-Code auch interpretiert werden kann.