Я наблюдаю странное поведение в ящике Linux. Код отлично работает на Win 7. Оскорбительный код зависает на xmlToJavaMap.keySet(). Ни один из двух операторов журнала не зарегистрирован !!! Никакой тупик не обнаружен в куче.Java ConcurrentHashMap.keySet() зависает
ConcurrentHashMap<String,String> xmlToJavaMap = ApplicationContext.getBean("map");
logger.info("before for loop");
for (String key : xmlToJavaMap.keySet()) {
logger.info("key: " + key);
...
}
logger.info("map processed.");
Платформа: Java версии "1.7.0_11" Java (TM) SE Runtime Environment (сборка 1.7.0_11-b21) Java HotSpot (TM) 64-разрядного сервера VM (сборка 23.6-B04, смешанный режим) Red Hat 4.4.7
Вы хотите проверить, действительно ли этот код выполняется вообще или у вас может быть проблема в другом месте. Чтения ConcurrentHashMap должны быть неблокируемыми. – pvg
Вот что озадачивает. Предполагается, что CHM.keySet() не будет заблокирован. Выполнение выполняется до цикла for, тогда ничего не происходит. Проблема началась несколько недель назад в одной из сред. – Prakash