How is Java's ThreadLocal implemented under the hood? How is Java's ThreadLocal implemented under the hood? multithreading multithreading