Почему адреса виртуальной памяти для бинарных файлов Linux начинаются с 0x8048000?

Под «анонимным классом», я полагаю, вы имеете в виду анонимный внутренний класс .

Анонимный внутренний класс может пригодиться при создании экземпляра объекта с определенным " extras ", например методы перегрузки, без фактического подкласса класса.

Я использую его как ярлык для присоединения слушателя событий:

button.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        // do something
    }
});

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

Я использую это техника для «быстрых и грязных» задач, когда создание целого класса кажется ненужным. Наличие нескольких анонимных внутренних классов, которые выполняют точно то же самое, должны быть реорганизованы в фактический класс, будь то внутренний класс или отдельный класс.

30
задан aks 3 June 2010 в 13:35
поделиться

1 ответ

Из книги Компоновщики и загрузчики :

В системах 386 базовый адрес текста - 0x08048000, что позволяет размещать достаточно большой стек под текстом, оставаясь при этом выше адреса 0x08000000, что позволяет большинству программ выполнять используйте единую таблицу страниц второго уровня. (Напомним, что на модели 386 каждая таблица второго уровня отображает адреса 0x00400000.)

25
ответ дан 28 November 2019 в 00:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: