自考招生工商学院类网站织梦模板
织梦最新内核开发的模板,该模板属于自考招生、工商学院类企业,
dedecms最新版内核开发,原创设计、手工书写DIV+CSS,
首页图片带滚动特效,完美兼容IE7+、Firefox、Chrome、360浏览器等;主流浏览器;页面简洁简单,容易管理,DEDE内核都可以使用;附带测试数据!
文件:590m.com/f/25127180-497768882-e078d3(访问密码:551685)
以下内容无关:
-------------------------------------------分割线---------------------------------------------
该类主要用于不同线程存储自己的线程本地变量。本文先通过一个示例简单介绍该类的使用方法,然后从ThreadLocal类的初始化、存储结构、增删数据和hash值计算等几个方面,分析对应源码。采用的版本为jdk1.8。
ThreadLocal-使用方法
ThreadLocal对象可以在多个线程中被使用,通过set()方法设置线程本地变量,通过get()方法获取设置的线程本地变量。我们先通过一个示例简单了解下使用方法:
public static void main(String[] args){
ThreadLocal threadLocal = new ThreadLocal<>();
// 线程1
new Thread(()->{
// 查看是否有初始值
System.out.println(“线程1的初始值:”+threadLocal.get());
// 设置线程1的值
threadLocal.set(“V1”);
// 输出
System.out.println(“线程1的值:”+threadLocal.get());
// 等待一段时间,等线程2设置值后再查看线程1的值
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(“线程1的值:”+threadLocal.get());
}).start();
// 线程2
new Thread(()->{
// 等待线程1设置初始值
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 查看线程2的初始值
System.out.println(“线程2的值:”+threadLocal.get());
// 设置线程2的值
threadLocal.set(“V2”);
// 查看线程2的值
System.out.println(“线程2的值:”+threadLocal.get());
}).start();
}
由于threadlocal设置的值是在每个线程中都有一个副本的,线程之间不会互相影响。代码运行的结果如下所示:
线程1的初始值:null
线程1的值:V1
线程2的值:null
线程2的值:V2
线程1的值:V1
ThreadLocal-初始化
ThreadLocal类只有一个无参的构造方法,如下所示:
/**
- Creates a thread local variable.
- @see #withInitial(java.util.function.Supplier)
*/
public ThreadLocal() {
}
但其实还有一个带参数的构造方法,不过是它的子类。ThreadLocal中定义了一个内部类SuppliedThreadLocal,为继承自ThreadLocal类的子类。可以通过该类进行给定初始值的初始化,其定义如下:
static final class SuppliedThreadLocal extends ThreadLocal {
private final Supplier<? extends T> supplier;SuppliedThreadLocal(Supplier<? extends T> supplier) {this.supplier = Objects.requireNonNull(supplier);}@Overrideprotected T initialValue() {return supplier.get();}
}
通过TheadLocal threadLocal = Thread.withInitial(supplier);这样的语句可以进行给定初始值的初始化。在某个线程第一次调用get()方法时,会执行initialValue()方法设置线程变量为传入supplier中的值。
public static ThreadLocal withInitial(Supplier<? extends S> supplier) {
return new SuppliedThreadLocal<>(supplier);
}
ThreadLocal-存储结构
在jdk1.8版本中,使用的是TheadLocalMap这一个容器存储线程本地变量。
该容器的设计思想和HashMap有很多共同之处。比如:内部定义了Entry节点存储键值对(使用ThreadLocal对象作为键);使用一个数组存储entry节点;设定一个阈值,超过阈值时进行扩容;通过键的hash值与数组长度进行&操作确定下标索引等。但也有很多不同之处,具体我们在后续介绍ThreadLocalMap类时再详细分析。
自考招生工商学院类网站织梦模板相关推荐
- 工商注册资质代办类网站源码 公司注册类网站织梦模板
介绍: 工商注册资质代办类网站织梦模板公司注册类网站源码下载 本套织梦模板采用织梦内核开发的模板,这款模板使用范围极广,不仅仅局限于一类型的企业,你只需要把图片和产品内容换成你的即可,颜色都可以修改, ...
- 传智书城首页设计代码_(自适应手机版)响应式创意餐饮酒店装饰设计类网站织梦模板 html5蓝色餐饮酒店设计网站源码下载...
模板名称:(自适应手机版)响应式创意餐饮酒店装饰设计类网站织梦模板 html5蓝色餐饮酒店设计网站源码下载 本套织梦模板采用织梦最新内核开发的模板,这款模板使用范围广,不仅仅局限于一类型的企业,创意设 ...
- 织梦自适应php源码,DEDE织梦PHP源码响应式建筑设计类网站织梦模板(自适应手机端)...
模板名称: 响应式建筑设计类网站织梦模板(自适应移动端) 利于SEO优化 模板详情: 织梦最新内核开发的模板,该模板属于企业通用.HTML5响应式.建筑设计类企业使用,一款适用性很强的模板,基本可以适 ...
- 移动端点击保存图片_财经理财新闻资讯类网站织梦模板(带手机端)
模板名称:财经理财新闻资讯类网站织梦模板(带手机端)+PC+移动端+利于SEO优化模板介绍: 织梦最新内核开发的模板,该模板属于财经.理财.投资.新闻.资讯料类企业使用, 自带最新的手机移动端,同一个 ...
- 织梦网站调用变量失败_(自适应手机版)响应式精密机械模具类网站织梦模板 织梦仪器模具加工设备网站模板下载...
模板名称:(自适应手机版)响应式精密机械模具类网站织梦模板 织梦仪器模具加工设备网站模板下载 本套织梦模板采用织梦最新内核开发的模板,这款模板使用范围广,不仅仅局限于一类型的企业,矿山钻机设备.矿机网 ...
- HTML5响应式企业集团织梦模板,(自适应手机版)响应式企业集团通用类网站织梦模板 HTML5响应式大气通用企业织梦源码+PC+wap+利于SEO优化...
名称:(自适应手机版)响应式企业集团通用类网站织梦模板 HTML5响应式大气通用企业织梦源码+PC+wap+利于SEO优化 该模板是非常容易存活的,这样的网站很容易吸引访客点击,提升ip流量和pv是非 ...
- 织梦响应式精密机械模具类网站织梦模板(自适应手机端)
介绍: 织梦响应式精密机械模具类网站织梦模板(自适应手机端)+PC+wap+利于SEO优化 织梦最新内核开发的模板,该模板属于企业通用.半导体.电子类企业都可使用, 这款模板使用范围极广,不仅仅局限于 ...
- QQ空间日志说说类网站织梦模板(带手机端)
QQ空间日志说说类网站织梦模板(带手机端) PC wap 利于SEO优化 带原站采集规则 模板介绍: 织梦最新内核开发的模板,该模板属于QQ说说.空间日志类企业都可使用, 这款模板使用范围极广,不仅仅 ...
- DJ音乐培训展示类网站织梦模板
DJ音乐培训展示类网站织梦模板介绍: DJ音乐培训展示类网站织梦模板免费分享 ,黑色风格,该模板可作为音乐培训展示类.音乐学校展示类网站使用,比较不错的一套网站模板.一套织梦PC网站模板,很适合需要做 ...
- 响应式在线教育培训类网站织梦模板(自适应手机端)
模板介绍: 在线教育培训类网站织梦模板(自适应),自适应网站结构,安装简单,优化快捷. dedecms响应式在线教育培训类网站织梦模板(自适应)(亲测可用) 运行环境:整站织梦程序采用PHP+MYSQ ...
最新文章
- 简介QTP中的Active Screen
- 【学术相关】揭秘2020年度百篇最具国际影响力论文-信息科学篇
- svn , github工作流
- php版本栈的应用中缀表达式求值
- 我的世界服务器显示fps,我的世界提升fps的方法 低配玩家必备秘籍
- mysql like 匹配排序,MySQL 基于like的模糊查询 并根据查询的匹配度排序
- HSQL之窗口-聚合-分析函数
- origin8.0快速实现多X,Y绘制
- mysql服务状态一直是启动解决方案
- linux暂停命令 pause_linux操作命令:暂停进程
- IPTVOTT,未来谁更香——关于新媒股份的一点思考
- 淘宝/天猫按图搜索商品API接口,以图搜商品API接口,图片搜索API接口
- iOS图形编辑之Core Graphics
- python代码画樱花主要特色,手机python代码画樱花
- 工程师的18个梦想,你有几个?
- 生物信息中的Python 05 | 从 Genbank 文件中提取 CDS 等其他特征序列
- C语言实验——时间间隔(java)
- python电影情感评论分析_python--电影评论文本情感分类
- 渠道广告联盟SDK接入思路总结
- 区块链技术指北社区(Chain One Community)规划