Подтвердить что ты не робот

Что означает знак доллара в кадрах стека при отладке?

В стеке, использующем Eclipse, иногда я видел

Управляющая строка $2.run(): 278

Что означает $2?

4b9b3361

Ответ 1

Это анонимный класс.

Анонимный класс - это локальный класс без имени. Анонимный класс определяется и создается в одном сжатом выражении, используя новый оператор.

Из имени метода это может быть метод Runnable.run().

public class Manager {
    
    public static void main(String[] args) {
        new Manager();
    }
    
    public Manager() {
        //                         this is anonymous class
        //                              |
        //                              V
        Thread thread = new Thread(new Runnable() {
            
            @Override
            public void run() {
                System.out.println("hi");
            }
        });
        thread.start();
    }
}

См