Ответы пользователя по тегу JVM
  • Как можно намеренно уронить JVM?

    vlad20012
    @vlad20012
    Ну-ну, все ваши примеры - всего лишь необработанные исключения. Обычно под "уронить" подразумевают более веселые вещи. Давайте возьмем Unsafe и прочтем байт по нулевому адресу.
    import sun.misc.Unsafe;
    
    public class CrashTheJVM
    {
        private static final Unsafe UNSAFE = createUnsafe();
    
        private static Unsafe createUnsafe()
        {
            try
            {
                Field uf = Unsafe.class.getDeclaredField("theUnsafe");
                uf.setAccessible(true);
                return (Unsafe) uf.get(null);
            }
            catch (Exception e)
            {
                throw new RuntimeException(e);
            }
        }
    	
        public static void main(String[] args)
        {
            UNSAFE.getByte(0);
        }
    }

    Сегфолт! 100% падение. Ну, и если это запрещает делать SecurityManager или реализация JVM не поддерживает Unsafe, мы таки получим необработанное исключение.
    Ответ написан