Мое ограниченное понимание ThreadLocal заключается в том, что он утечка ресурсов вопросы. Я понимаю, что эта проблема может быть устранена путем правильного использования WeakReferences с помощью ThreadLocal (хотя я, возможно, неправильно понял этот вопрос.) Мне просто понравился шаблон или пример для правильного использования ThreadLocal с WeakReference, если он существует. Например, в этом фрагменте кода, где будет введено значение WeakReference?
static class DateTimeFormatter {
private static final ThreadLocal<SimpleDateFormat> DATE_PARSER_THREAD_LOCAL = new ThreadLocal<SimpleDateFormat>() {
protected SimpleDateFormat initialValue() {
return new SimpleDateFormat("yyyy/MM/dd HH:mmz");
}
};
public String format(final Date date) {
return DATE_PARSER_THREAD_LOCAL.get().format(date);
}
public Date parse(final String date) throws ParseException
{
return DATE_PARSER_THREAD_LOCAL.get().parse(date);
}
}