Bueno, ya hemos visto para que sirve definir un lenguaje como OO 100% o no
.
Y no, la aritmética de punteros no se quitó por eso. Precisamente Java define un procesador virtual en la JVM donde en todas las arquitecturas todos los datos usan el mismo numero de bytes y el orden esta definido. Y sí, se pensó en la seguridad al crear la JVM, incluyendo los ataques por buffer overflow etc. por eso hay varios niveles de seguridad para que tu codigo no pueda saltarse esos límites. Y seguramente se puedan hacer virus en la JVM, pero como si no es atacando la JVM, tu codigo no puede atacar a otro por "overflow".
Lo del GC no era para contradecirte, solo era para explicar un poco mejor lo que puedes esperar.
S!