Базовая операционная система гарантирует, что вы не будете писать вне памяти, выделенной вашему приложению (что она может легко сделать из-за Виртуальной памяти ).В противном случае вы получите ошибку сегментации или аналогичную ошибку. В дополнение к этому JVM может выполнить собственную проверку привязки.Вам определенно не разрешат писать в какую-либо разумную (т.е. другие приложения) память, и я сомневаюсь, что JVM позволит вам перезаписывать внутренние структуры, но я могу ошибаться.Итак, суммируем ответ на ваш вопрос: возможный ущерб от перезаписи, где вы не должны, в лучшем случае, если ваше приложение работает со сбоями, а в худшем - сбой JVM.было бы неплохо ... Кроме этого, вы, конечно, можете написать свой собственный распределитель памяти внутри памяти, выделенной Unsafe, и пометить некоторые области, чтобы код вашего приложения не записывал в области, которые он не должен.
Таким образом, ответ на ваш последний вопрос заключается в том, что если JVM позволяет вам обращаться к памяти за пределами выделенных небезопасных областей, то информация и тип памяти, к которой вы можете получить доступ, - это любые ваши объекты, а также любая внутренняя структура JVM.Очевидно, что изменение их приведет к хаосу, поэтому, вероятно, попытка сделать это приведет к краху.