Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
88 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,099

Выявление ошибок на этапе написания исходного кода

28.01.2017, 20:17. Показов 1885. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Если в IDE пишешь какой-то абсурдный код, то она тебе подчеркивает место, где ошибка, например как в строке
Java
1
int = "String";
Я часто слышу, как говорят что подобные ошибки "не пропускает компилятор", поэтому они подсвечиваются. Скажите, так ли это? Допустим если писать не в IDE, а в блокноте, то компилятор мы будем использовать, когда это будет нам нужно:
Code
1
javac MyClass.java
Подсветка таких ошибок это работа самой IDE или она как-то постоянно использует java компилятор, который проверяет каждое написаное выражение?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.01.2017, 20:17
Ответы с готовыми решениями:

Обработка ошибок в процессе написания кода
Допустим есть большая программа. Десяток(ки) файлов, файлы эти в папках. Часто используется проверка в функциях на адекватные...

Существует ли проверка на наличие ошибок на уровне написания кода
Здравствуйте. Всех с наступающим. Подскажите, начал работать с JavaScript в Visual Studio и столкнулся с тем, что среда при написании кода...

После написания кода для кнопки не происходит ничего, ни ошибок, ни прописанных действий
Не понимаю что не так с формой, та часть кода что работает на других формах на данной не приводит ни к чему. Такое происходит не со всеми...

13
4 / 4 / 2
Регистрация: 18.01.2017
Сообщений: 14
28.01.2017, 21:39
В IDE ошибки выявляются на этапе компиляции, т.е. за этим следит сама IDE, она их анализирует, это зашито. Когда ты запускаешь программу, твой код компилируется в файлик .class, после чего его выполняет сама jvm
0
88 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,099
28.01.2017, 21:44  [ТС]
Цитата Сообщение от Kar349mar34bar Посмотреть сообщение
на этапе компиляции
Вы имели ввиду до компиляции?
0
4 / 4 / 2
Регистрация: 18.01.2017
Сообщений: 14
28.01.2017, 21:51
Лучший ответ Сообщение было отмечено Artmal как решение

Решение

Имеется ввиду, что IDE выполняет анализ кода, до того как вы будете его компилировать В этом и суть IDE, а в блокноте вы пишите просто текст, а потом говорите джаве, что скомпилируй этот файл, где она проверит его на ошибки, а потом уже запускаете, если все ок.
1
88 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,099
28.01.2017, 21:53  [ТС]
То есть, когда я еще ничего не компилировал самостоятельно и мои ошибки в исходном коде подсвечиваются, то java компилятор здесь никак не замешан и работает только IDE, так?
0
4 / 4 / 2
Регистрация: 18.01.2017
Сообщений: 14
28.01.2017, 21:57
Именно!Можете проверить это все самостоятельно и убедиться в этом
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
28.01.2017, 22:46
Цитата Сообщение от Kar349mar34bar Посмотреть сообщение
Имеется ввиду, что IDE выполняет анализ кода, до того как вы будете его компилировать
неужели?

Как же тогда вы можете объяснить что если я поставлю JDK 8 и эклипс, который был выпущен до выходна 8ой джавы, то ситнаксис 8ки все равно будет поддерживаться и ошибки так же будут подчеркнуты?
0
4 / 4 / 2
Регистрация: 18.01.2017
Сообщений: 14
28.01.2017, 22:50
эммм, вы же ide укажите jdk и на основании этого, хавая ее библиотеки он и будет анализировать))
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
28.01.2017, 22:54
Kar349mar34bar, причем тут библиотеки JDK? Там что указано как можно код писать, а как нет?
0
4 / 4 / 2
Регистрация: 18.01.2017
Сообщений: 14
28.01.2017, 22:59
И так, IDE сама анализирует код. Вопрос был в том, постоянно ли она перекомпилирует текущий файл в .class для проверки или нет?Я ответил что нет, это все механизмы IDE. Каков ваш ответ?
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
28.01.2017, 23:09
Kar349mar34bar, class файл создается постоянно. Для этого используется Java Builder. Каждый раз когда вы сохраняете файл, происходит компиляция измененного файла и его зависимостей (если они имеются). Автоматический билд можно отключить т.к в больших проектах такой билд может занимать много времени и тогда ошибки не будут подсвечиваться пока вы не соберете проект.
0
4 / 4 / 2
Регистрация: 18.01.2017
Сообщений: 14
28.01.2017, 23:15
Нееет. У себя на проекте, я выключил опцию автобилда, т.к. слишком ресурсозатратно и лишнее время тратится. Вот запустите, к примеру, intellij idea. Удалите папку out вместе со скомпиленными файлами и измените текущий файл и посмотрите, перекомпилируется ли!?Создастся ли папка со скомпиленными файлами - нет (просто будет ide подсвечивать синтаксис без перекомпиляции), хоть и по умолчанию работает автосохранение, а вот когда вы выполните программу, тогда и получите свой результат, где в отдельном класспасе лежит out
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
28.01.2017, 23:23
Kar349mar34bar, я не использую intellij. К тому же вы пытаетесь ответить на вопрос методом тыка. Это неверный путь. Если вам интерестно как происходит компиляция в IDE, поищите в гугле. Незнаю как у идеи, а у эклипса код открыт.

Я был неправ насчет старого эклипса и джава 8. Эклипс билдер действительно выгружает модель языка (http://grepcode.com/file/repo1... #JavaModel)

Эклипс использует свой компилятор чтобы дать возможность навигации по коду и даже запускать код в котором есть ошибки (до некоторых пределов) http://grepcode.com/file/repo1... a#JavaCore
Тут можно смотреть имплементацию если интересно.

Вобщем короткий ответ на сообщение ТС - эклипс компилирует код, но делает это своим встроенным компилятором полагаю для лучшей интеграции.
1
4 / 4 / 2
Регистрация: 18.01.2017
Сообщений: 14
28.01.2017, 23:42
Спасибо за приведенные ссылки. Для ознакомления будет полезно. Метода тыка здесь не было. Свой ответ я подкрепил проверкой и заявил что свои инструменты использует ide, что выше вы сами и подтвердили. Спасибо за дисскуссию
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.01.2017, 23:42
Помогаю со студенческими работами здесь

Выявление ошибок
Подскажите,что это за ошибка : {Документ.РасходнаяНакладная.Модуль Документа(21)}: Ожидается ключевое слово КонецПроцедуры...

Выявление ошибок в приложении
Для чего нужно писать Unit тесты для приложения почему не достаточно просто исправить ошибки выявленные отладчиком Android Studio? Почему...

Выявление кода .exe приложения
У меня тут такой вопрос: Можно ли просмотреть код .exe программы? Программа не сложная, простая. Если можно, то помогите пожалуйста (если...

Уменьшение исполняемого кода на этапе компиляции
Существует набор регистров (переменных), которые нужно заполнять. Например есть набор Reg1...Reg10 В зависимости от режима работы,...

Очистка кода от мертвых процедур на этапе компиляции
Здравствуйте! С таким вопросом столкнулся. Если в Делфи создать обработчик нажатия кнопки (например) и оставить его пустым, то при...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru