Я обдумывал это и читал, но могу найти абсолютный авторитетный ответ.
У меня есть несколько глубоких структур данных, состоящих из объектов, содержащих ArrayLists, Strings и примитивные значения. Я могу гарантировать, что данные в этих структурах не изменятся (нить никогда не будет выполнять структурные изменения в списках, изменять ссылки, изменять примитивы).
Мне интересно, если чтение данных в этих структурах является потокобезопасным; то есть безопасно ли рекурсивно читать переменные из объектов, перебирать ArrayLists и т.д. для извлечения информации из структур в нескольких потоках без синхронизации?