Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
3 / 3 / 1
Регистрация: 06.07.2014
Сообщений: 145

Ошибка в байт-коде файла .class

13.06.2016, 21:40. Показов 1799. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Я пытаюсь разобраться в структуре .class файлов. В одном из файлов в constant_pool указано число 21(то есть всего 20 констант), а далее из всех 20 констант указываются только 19 констант. Почему так, не могу понять. Вроде бы рассортировал всё правильно. Буду очень благодарен тому, кто разъяснит ситуацию.

ca fe ba be
00 00
00 34
00 15 - 21 константа

Тег Значение
1. 0a 00 07 00 0f
2. 07 00 10
3. 06 40 24 00 00 00 00 00 00
4. 0a 00 02 00 11
5. 07 00 12
6. 07 00 13
7. 01 00 06 3c 69 6e 69 74 3e
8. 01 00 03 28 29 56
9. 01 00 04 43 6f 64 65
10. 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65
11. 01 00 0d 6d 65 74 68 6f 64 4d 61 6e 61 67 65 72
12. 01 00 0a 53 6f 75 72 63 65 46 69 6c 65
13. 01 00 0c 4d 61 6e 61 67 65 72 2e 6a 61 76 61
14. 0c 00 08 00 09
15. 01 00 18 6a 61 76 61 66 78 2f 73 63 65 6e 65 2f 6c 61 79 6f 75 74 2f 56 42 6f 78
16. 0c 00 08 00 14
17. 01 00 07 4d 61 6e 61 67 65 72
18. 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74
19. 01 00 04 28 44 29 56

00 20 - access flag
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.06.2016, 21:40
Ответы с готовыми решениями:

Программа, которая считывает 8 байт из созданного файла MyFile.dat, начиная с 7-го байта, относительно начала, и 10 байт от конца файла
Привет, вот задание собсно Напишите программу, которая считывает 8 байт из созданного ранее файла MyFile.dat, начиная с 7-го байта,...

Ошибка в коде: raised exception class EOverflow with message Floating point overflow
Ошибка: raised exception class EOverflow with message Floating point overflow Выскакивает ошибка на строчке: x1:=x0-(Dx/J); procedure...

Постоянная ошибка запуска class файла
Приветствую, сейчас я попытался запустить class-файл через командную строку, но в результате я получаю ошибку. Компиляция проходит без...

7
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
14.06.2016, 11:36
Попробуйте открыть ваш class файл в этой программе - http://www.codeproject.com/Art... ass-Viewer
Скорее всего всё сразу встанет на свои места. Она покажет какие значения и за что отвечают
0
3 / 3 / 1
Регистрация: 06.07.2014
Сообщений: 145
14.06.2016, 11:53  [ТС]
Скорее нет. Для разбора структуры .class файлов я как раз таки и пользуюсь этой программой. Она никак не открывает этот файл, то есть скорее всего она помечает этот .class файл как ошибочный.
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
14.06.2016, 14:25
marick0073, так может class-файл и правда битый? Можете выложить его на форум?
0
3 / 3 / 1
Регистрация: 06.07.2014
Сообщений: 145
14.06.2016, 15:25  [ТС]
Прикрепил и исходник и сам класс.
Вложения
Тип файла: zip Manager.zip (611 байт, 1 просмотров)
0
3 / 3 / 1
Регистрация: 06.07.2014
Сообщений: 145
14.06.2016, 15:29  [ТС]
Если вдруг нужна будет версия Jav'ы:
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b15, mixed mode)
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
14.06.2016, 22:54
Лучший ответ Сообщение было отмечено marick0073 как решение

Решение

У меня открыло class-file без проблем

Double/Long в констант пуле занимают сразу две записи - https://docs.oracle.com/javase... jvms-4.4.5
All 8-byte constants take up two entries in the constant_pool table of the class file. If a CONSTANT_Long_info or CONSTANT_Double_info structure is the item in the constant_pool table at index n, then the next usable item in the pool is located at index n+2. The constant_pool index n+1 must be valid but is considered unusable.
1
3 / 3 / 1
Регистрация: 06.07.2014
Сообщений: 145
16.06.2016, 00:34  [ТС]
Огромное спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.06.2016, 00:34
Помогаю со студенческими работами здесь

Считывание из входного файла байт с N1 по N2 и с N3 по N4 и запись этих байт в выходной файл
Здравствуйте!Помогите пожалуйста написать программу, которая бы считывала из входного файла байты с N1 по N2 и с N3 по N4 и записывала эти...

Как вывести 10 байт после определенных байт из файла
Здравствуйте. Есть к примеру файл с расширением *.bin, подскажите как реализовать вывод на экран 12 байт после определенных найденных в...

Ошибка в компиляции файла из формата .java в формат .class
Здравствуйте формучане. Сразу скажу, здесь я новичек, в программировании так себе, можно сказать на Вы. А теперь к теме. Столкнулся с...

Непонятная ошибка: Exception class EClassNotFound with message 'Class TLabeledEdit not found'
Когда написал среду в Делфи для БД Access то при запуске выдает такую ошибку. project Project.exe raised exception class...

Ошибка: exception class EClassNotFound with message 'Class TADOTable not found'
Аааа...Дело было так. Хотела сохранить проект,нажала save as,и только потом поняла что я дебил.Билдер закрыла,программу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru