Ответ 1
В версии 6 javac генерируются дополнительные атрибуты "Stack Map" в файлах классов, чтобы упростить и ускорить проверку jvm. Я сомневаюсь, что это слишком большая разница в размерах, вы всегда можете использовать параметр -target 1.5
, чтобы он сгенерировал тот же байт-код, что и раньше в версиях.
Изменить: Сведения об этом новом атрибуте можно найти в разделе 4.8.4 jsr 202
4.8.4 Атрибут StackMapTable
Атрибут карты стека является атрибутом переменной длины в таблице атрибутов кода атрибут. Имя атрибута - StackMapTable. Этот атрибут используется во время процесс проверки путем проверки типов (§4.11.1).
Атрибут карты стека состоит из нулевого или большего количества кадров карты кадров. Каждая карта стека frame указывает (явно или неявно) смещение байт-кода, проверку типы (§4.11.1) для локальных переменных и типы верификации для операнда стек.