Затмение, безусловно, делает это. Также он делает это во время сохранения, если у вас включена эта опция (и это по умолчанию). Похоже, что Sun также не делает этого (это очень легко проверить, просто создайте небольшой проект, где A является основным классом, который использует класс B, но B не использует класс A. Затем измените A и скомпилируйте проект еще раз, посмотрите, изменилась ли временная метка для b.class
.
Так работают многие компиляторы (например, gcc). Вы можете использовать такие инструменты, как ant и make, чтобы компилировать только ту часть проекта, которая изменилась. Также обратите внимание, что эти инструменты не идеальны, иногда Eclipse просто теряет отслеживание изменений, и вам необходимо выполнить полную перестройку.