我对
ThreadLocal的有限的理解是它有
resource leak issues.我收集这个问题可以通过正确使用
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); } }