Ich denke, mit den Pointern meine er "richtige" Pointer wie in C. Java kennt keine solchen Pointer, nur Verweise auf Objekte, und diese fallen dem Programmierer eben nicht als "Pointer" auf.
Das ein Java-Programm langsamer ist als ein C Programm ist ganz klar (gleich guter Programmierstil vorrausgesetzt), Java wird eben in einer Virtuellen Maschine ausgeführt und ein C Programm läuft eben direkt auf der Hardware. Die virtuelle Maschine braucht eben auch ihre Rechenzeit, um die Java Anwendung auszuführen. Dieser Rechenaufwand ist zwar in letzter Zeit durch die immer schnelleren Prozessoren etc. immer vernachlässigbarer geworden, aber im Endeffekt braucht es eben doch länger!
Das gilt natürlich nicht nur für C, sondern für jede Programmiersprache, welche direkt zu Maschinencode kompiliert wird.