加入收藏 | 设为首页 | 会员中心 | 我要投稿 唐山站长网 (https://www.0315zz.com.cn/)- 数据安全、数据开发、文字识别、图像处理、媒体智能!
当前位置: 首页 > 站长资讯 > 动态 > 正文

到2030年人工智能将在网络安全领域取代人类

发布时间:2021-01-29 11:56:31 所属栏目:动态 来源:互联网
导读:离散对数 ECDHE 密钥协商算法是 DH 算法演进过来的,所以我们先从 DH 算法说起。 DH 算法是非对称加密算法, 因此它可以用于密钥交换,该算法的核心数学思想是离散对数。 是不是听到这个数学概念就怂了?不怕,这次不会说离散对数推到的过程,只简单提一下它

离散对数

ECDHE 密钥协商算法是 DH 算法演进过来的,所以我们先从 DH 算法说起。

DH 算法是非对称加密算法, 因此它可以用于密钥交换,该算法的核心数学思想是离散对数。

是不是听到这个数学概念就怂了?不怕,这次不会说离散对数推到的过程,只简单提一下它的数学公式。

离散对数是「离散 + 对数」的两个数学概念的组合,所以我们先来复习一遍对数。

要说起对数,必然要说指数,因为它们是互为反函数,指数就是幂运算,对数是指数的逆运算。

举个栗子,如果以 2 作为底数,那么指数和对数运算公式,如下图所示:
 

阅读本文需要首先大体了解ThreadLocal。不啰嗦,直接进入正题。

标签:【各种级别】【Java】【源码】

1. 问

连环四问:

  • ThreadLocal的原理?
  • 内存泄漏的原因?
  • InheritableThreadLocal用过吗?
  • Netty的FastThreadLocal是什么?

2. 分析

ThreadLocal作为实现“线程封闭”的最主要的编程手段,经常被使用。比如,比如,传统的SimpleDateFormat,不是线程安全的。如果你声明成全局变量,在并发环境下就会产生时间错乱。一种好的解决方式,就是使用ThreadLocal。

ThreadLocal使用非常广泛。比如,Spring的事务管理,就是通过它实现的。但它的弱点也是有的,不能透传(不能被子线程获取),所以催生了InheritableThreadLocal,甚至更高级的封装库。

3. 答

3.1 ThreadLocal的原理?

看过源码就不难回答。如下图(这张图最易懂),ThreadLocal的get和remove方法,只不过是一个使用的快捷方式。它的真正数据,是存在于线程中的一个叫做ThreadLocalMap的结构里。

一个ThreadLocal的值,会根据线程的不同,分散在N个线程中。所以获取ThreadLocal的Value,有两个步骤。

  • 第一步,根据线程获取Map
  • 第二部,根据自身从Map中获取值,所以它的this就是Map的Key

(编辑:唐山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读