У меня есть метод в перечислении, который вызывается многими потоками, запущенными в одно и то же время.Оптимизация потоков и перечислений
Поскольку JVM позволяет выделять только один экземпляр перечисления в памяти, я предполагаю, что какая-то оптимизация выполняется где-то либо компилятором, либо самим JVM, чтобы избежать потоков, ожидающих, когда процессор получит доступ то же место в памяти, что методы, снова и снова, чтобы выполнить метод для каждого потока, создавая узкое место.
Когда я изменяю количество потоков от 5 до 300 (я выполняю их через ScheduledExecutorService), я не вижу разницы в общей пропускной способности системы.
Действительно ли выполняется оптимизация или что-то отличается от того, что я себе представляю?
«JVM позволяет выделять только один экземпляр перечисления в памяти». Откуда у вас эта идея? – EJP
Пункт 3 «Эффективная Ява» Джошуа Блоха. (У меня есть второе издание) – Luiz
Вы имеете в виду «Enum»? – EJP