да, пользователь увидит объект Context, потому что ссылка на него была сохранена в HttpSession.Даже если ссылка в ThreadLocal была обнулена, она все равно будет найдена в сеансе во время второго запроса.
РЕДАКТИРОВАТЬ: В исходном коде OpenJDK ThreadLocal (из строки 410) вы можетеувидеть разницу между setLoid и методами удаления.Вызов set (null) оставит запись ThreadLocalMap на месте с нулевым значением, тогда как remove () удалит ее полностью.Это не повлияет на ваш вопрос, в сеансе все равно будет ссылка на ваш объект Context.
Когда я впервые прочитал заголовок вашего вопроса, я интерпретировал его по-другому, потому что не было упоминанияHttpSession или очистка ThreadLocal.Может быть, это смутило некоторых респондентов.Похоже, вы хотели знать, будет ли переменная ThreadLocal, установленная в первом запросе (и не очищена), по-прежнему доступна во втором запросе.Я думаю, что ответ заключается в том, что это зависит от того, как ваш веб-сервер обрабатывает потоки.Если есть пул потоков из 10 потоков, которые используются случайным образом, у вас будет 10% шанс найти ту же переменную ThreadLocal во втором запросе.