Существуют различные виды точек останова. Некоторые точки останова основаны на строках, некоторые - нет. Как это повлияет на вашу отладку, зависит от того, что на самом деле делает ваша IDE. Например, в Eclipse, если вы добавите точку останова в середине метода, это будет точка останова на основе строки. Если вы добавите точку останова в строку, содержащую сигнатуру метода, это будет точка останова входа метода.
Если исходный код, который вы просматриваете, не является точным источником класса, который работает, точка останова строки, конечно же, не будет отображаться на правильной строке. Так что java может не останавливаться на той строке, которую вы намеревались, и ваша IDE действительно может показывать вам неправильный метод или даже неправильный класс.
Но точка останова входа в метод все равно будет работать (остановится в нужный момент), даже если изменилась строка, на которой был определен метод; но снова IDE может показывать неправильную строку в отладчике.
(И есть и другие виды событий / точек останова, такие как загрузка классов, ... Вы можете взглянуть на подинтерфейсы EventRequest , если хотите узнать больше о внутренностях).
Чтобы ответить на ваш другой вопрос: точки останова применяются ко всем загрузчикам классов в JVM.