Andremoniy już odpowiedział na java 7
część tego pytania, ale wydaje się, że w tamtym czasie należało zadecydować, java 8
więc uzupełniam odpowiedź, aby opisać tę część:
Cytowanie z jvms :
Fakt, że parametr end_pc jest wyłączny, jest historycznym błędem w projektowaniu wirtualnej maszyny Javy: jeśli kod wirtualnej maszyny języka Java dla metody ma długość dokładnie 65535 bajtów i kończy się instrukcją o długości 1 bajtu, wówczas ta instrukcja nie może być chroniona przez program obsługi wyjątków. Program zapisujący kompilator może obejść ten błąd, ograniczając maksymalny rozmiar generowanego kodu maszyny wirtualnej Java dla dowolnej metody, metody inicjowania instancji lub inicjatora statycznego (rozmiar dowolnej tablicy kodu) do 65534 bajtów.
Jak widać, ten historyczny problem nie wydaje się rozwiązać przynajmniej w tej wersji (java 8).