首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/4115134/blog/3213009

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

探秘 ThreadLocal 的实现机制与小地雷

Java 多线程类库对于共享数据的读写访问主要采用同步机制来保证线程安全,而本文所要探究的 ThreadLocal 则采用了一种完全不同的策略,它不是用来解决共享数据的并发访问问题的,ThreadLocal 让每个线程都将目标数据复制一份作为线程私有,后续对于该数据的操作都是在各自私有的副本上进行,线程之间彼此相互隔离,也就不存在竞争问题。 下面的例子演示了 ThreadLocal 的典型应用场景。在 jdk 1.8 之前,如果我们希望对日期和时间进行格式化操作,则需要使用 SimpleDateFormat 类,而我们知道它是是线程不安全的,在多线程并发执行时会出现一些奇怪的问题。对于该类使用的最佳实践则是采用 ThreadLocal 进行包装,以保证每个线程都有一份属于自己的 SimpleDateFormat 对象,如下所示: ThreadLocal<SimpleDateFormat> sdf = new ThreadLocal<SimpleDateFormat>() { @Override protected SimpleDateFormat initial...

深度学习中的信息论

本文首发自公众号:RAIS,期待你的关注。 前言 本系列文章为 《Deep Learning》 读书笔记,可以参看原书一起阅读,效果更佳。 ​信息论 信息论是数学上一个分支,非常重要,包括你能看到这篇文章信息的传输信息论在其中都发挥了极其重要的作用,我就不赘述了,我们还是讨论更学术更专业性的知识。 量化信息 非常可能的事情包含较少的信息; 较不可能的事情包含更高的信息; 独立的事件具有增量的信息。 自信息 香农熵 本是热力学中的概念,被香农引入到信息论中,因此也被称为信息熵或香农熵。不准确点说,熵是用来衡量混乱程度的。越混乱,熵越大,要弄清楚情况所需要的信息越多。 其中 P 为 X 的概率质量函数,上一篇文章中介绍过。其中的 b 不同时对应的结果单位不同(机器学习中,用自然对数 e 为底,单位为 奈特)。对于连续变量则被称为 微分熵。 相对熵 也叫 KL 散度,具有非负的特性。可以用来衡量两个分布之间的差异,用 p 分布近似 q 的分布,相对熵可以计算这个中间的损失,但是不对称(p 对 q 和 q 对 p 不相等),因此不能表示两个分布之间的距离。 交叉熵 用来度量两个概率分布之间的差...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。