介绍
这篇文章主要介绍了java中ThreadLocal对象存储和获取的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。
java的特点有哪些
java的特点有哪些 1. java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 2. java具有简单性,面向对象,分布式、安全性,平台独立与可移植性,动态性等特点。 3。使用Java可以编写桌面应用程序,网络应用程序,分布式系统和嵌入式系统应用程序等。
对象的保存问题,一直是我们在做程序研究时所关心的。在ThreadLocal中也有着同样的操作,我们可以将对象进行存储和获取。这需要对ThreadLocal的知识有一定的了解,而且用到了其中设置的方法。
<强> 1,ThreadLocal的设置方法强>
<>之前,,,,public void 设置(T 价值),{ ,,,,,,,Thread t =, Thread.currentThread (); ,,,,,,,ThreadLocalMap map =, getMap (t); ,,,,,,,if (map !=, null) ,,,,,,,,,,,map.set(,,值); ,,,,,,, ,,,,,,,,,,,createMap (t),价值); ,,,}通过ThreadLocal的设置方法看出,ThreadLocalMap的& lt; k, v>结构中,关键的存储的是ThreadLocal本身,而价值则是实际存储的值,也就是说,在ThreadLocalMap里存储了当前ThreadLocal所复制的变量副本。
<强> 2,ThreadLocal本身不存储值,在使用中,ThreadLocal是作为一个键,从ThreadLocalMap获取值,从ThreadLocal的得到方法中也可以看出来:强>
<>之前,,,,public T 得到(),{ ,,,,,,,Thread t =, Thread.currentThread (); ,,,,,,,ThreadLocalMap map =, getMap (t); ,,,,,,,if (map !=, null), { ,,,,,,,,,,,ThreadLocalMap.Entry e =, map.getEntry(这个); ,,,,,,,,,,,if (e !=, null), { ,,,,,,,,,,,,,,,@SuppressWarnings (“unchecked") ,,,,,,,,,,,,,,,T result =, (T) e.value; ,,,,,,,,,,,,,,,return 结果; ,,,,,,,,,,,} ,,,,,,,} ,,,,,,,return setInitialValue (); }感谢你能够认真阅读完这篇文章,希望小编分享的“java中ThreadLocal对象存储和获取的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!