当前位置: 首页 > wzjs >正文

jquery 开发网站用dw做的网站怎样弄上网上

jquery 开发网站,用dw做的网站怎样弄上网上,怎么查域名有没有备案,程序员接私活要达到什么水平目录 1.说明 2.弱引用的说明 3.最佳实践 4.方法说明 1.说明 在每个Thread中包含一个threadlocalmap对象,ThreadLocalMap是TheadLocal的静态内部类 threadLocalMap内部是一个entry数组 每个entry的key是TheadLoca实例,key是一个弱引用 每个entry的va…

目录

1.说明

2.弱引用的说明

3.最佳实践

4.方法说明


1.说明

在每个Thread中包含一个threadlocalmap对象,ThreadLocalMap是TheadLocal的静态内部类

threadLocalMap内部是一个entry数组
每个entry的key是TheadLoca实例,key是一个弱引用
每个entry的value是设置的内容,是强引用

如果在方法中new 一个threadlocal实例时,内存占用如下:

+------------------+     +-------------------+     +-----------------------+
|  方法栈帧         |     |  堆内存           |     |  线程的 ThreadLocalMap |
|                  |     |                   |     |                       |
| threadLocal 引用 ──────> ThreadLocal实例    |     | +-------------------+ |
+------------------+     +-------------------+     | | Entry:            | || | Key:  弱引用ThreadLocal || | Value:强引用"value"  | || +-------------------+ |+-----------------------+

当方法结束后,方法栈帧弹出,这时ThreadLocal对象的引用消失,ThreadLocalMap中的Key(ThreadLocal对象)是弱引用(WeakReference)。

当外部对ThreadLocal的强引用消失后,GC回收时发现无强引用指定,

仅有 Entry 的弱引用指向
→ 立即回收 Key 对象,并将 Entry 的 Key 置为 null(弱引用自动被清除)。
虽然 Key 被回收,但 Entry 中的 value 仍是强引用,此时会形成:
Entry { key=null, value="SomeValue" } // Value 无法被访问,存在内存泄漏风险

2.弱引用的说明

弱引用特性:当 JVM 进行垃圾回收时,如果 Key 仅被弱引用指向(没有强引用),无论内存是否充足,都会回收该 Key 对象。 

为什么设计为弱引用?

主要目的:防止开发者忘记调用 remove() 时,ThreadLocal 对象本身无法被回收。

    如果 Key 是强引用:即使开发者不再使用 ThreadLocal,由于线程的 ThreadLocalMap 持有强引用,ThreadLocal 对象和 Value 会永远无法回收。

    弱引用设计是一种兜底机制,至少能回收 Key,但需配合 remove() 彻底清理。

3.最佳实践

①使用static + final 定义threadlocal实例

// 推荐:static + final 修饰
private static final ThreadLocal CONTEXT_HOLDER = new ThreadLocal<>();

static 确保全局唯一实例,避免重复创建,不是对象属性,而是类的属性,一直持有引用,除非类被卸载,final 防止意外修改引用

②使用完成后执行remove处理

try {
CONTEXT_HOLDER.set(value);
} finally {
CONTEXT_HOLDER.remove(); // 必须清理
}

remove处理会清楚key和value,确保可以被回收

4.方法说明

get方法:

    public T get() {Thread t = Thread.currentThread();ThreadLocalMap map = getMap(t);if (map != null) {ThreadLocalMap.Entry e = map.getEntry(this);if (e != null) {@SuppressWarnings("unchecked")T result = (T)e.value;return result;}}return setInitialValue();}
  1. 获取当前线程
  2. 根据线程获取线程的threadlocalmap变量
  3. 如果为空,代表首次赋值,会创建一个threadlocalmap实例,key设置为threadlocal实例,并将值保存为null
  4. 如果不为空,则根据threadlocal实例获取对应的内容

set方法:

    public void set(T value) {Thread t = Thread.currentThread();ThreadLocalMap map = getMap(t);if (map != null)map.set(this, value);elsecreateMap(t, value);}
  1. 获取当前线程
  2. 获取线程的threadlocalmap变量
  3. 如果不为空,key设置为threadlocal实例,并将值保存为参数中传递的内容
  4. 如果为空,会创建一个threadlocalmap实例,key设置为threadlocal实例,并将值保存为参数中传递的内容

remove方法:

    public void remove() {ThreadLocalMap m = getMap(Thread.currentThread());if (m != null)m.remove(this);}

 会清除key及value,并且无效Entry被清理


文章转载自:

http://lea4PkpT.jbhhj.cn
http://jrYj04Is.jbhhj.cn
http://3J4MJ27E.jbhhj.cn
http://YVzgkHmr.jbhhj.cn
http://iMHOLS1q.jbhhj.cn
http://LXt00xJw.jbhhj.cn
http://HL0VooGG.jbhhj.cn
http://gj8hxRjv.jbhhj.cn
http://JMeF30mh.jbhhj.cn
http://xN4bylH0.jbhhj.cn
http://dyHxgUsq.jbhhj.cn
http://hKLPfNIh.jbhhj.cn
http://9RPMv99d.jbhhj.cn
http://VIww7YiP.jbhhj.cn
http://2IKnlhZi.jbhhj.cn
http://ssdafwLk.jbhhj.cn
http://F0eMwRJy.jbhhj.cn
http://WlJIZsIF.jbhhj.cn
http://FJM1QAUb.jbhhj.cn
http://ckzo6eKX.jbhhj.cn
http://5gKeEpoW.jbhhj.cn
http://naJaYnIl.jbhhj.cn
http://2LWovcZw.jbhhj.cn
http://eOj7XXHS.jbhhj.cn
http://pg1zeQPL.jbhhj.cn
http://cSXgiFpf.jbhhj.cn
http://0OhYihWO.jbhhj.cn
http://27xOZFkk.jbhhj.cn
http://HUEAWQ95.jbhhj.cn
http://AvU9WBtv.jbhhj.cn
http://www.dtcms.com/wzjs/630528.html

相关文章:

  • 温州企业网站建设公司毕业作品是做网站的答辩会问什么
  • iis 网站权限h5网站需要哪些技术
  • 四川遂宁做网站的公司Wordpress 插件购买
  • 网站页面设计和结构的技巧黄国外网站
  • 织梦php网站模板美食网页设计模板素材
  • 展示中心网站建设如何创建网页快捷方式
  • 由音乐学院做的网站苏州兼职网站开发
  • 影响网站权重北京网页制作公司物美价廉
  • 怎么撤销网站备案健康网站可以做推广吗
  • 比较出名的网站域名百度首页快速排名系统
  • 湘潭网站建设 h磐石网络服务器没有安装wordpress
  • 购物网站主页设计图马云是做网站的
  • 东莞网站建设代理商网站建设软件免费
  • 如何处理网站死链网站流量如何转化为钱
  • 举报个人备案网站做经营性无锡建设管理服务中心
  • 网站开发的经验微信营销课
  • 免费做网站表白网站开发怎么找客户
  • wordpress网站案例产品介绍网站模板下载地址
  • 厦门网站建设 软件园网站页面设计公司电话
  • wap版网站建设方案做征婚网站有哪些
  • 东阿做网站多少钱做威士忌的网站
  • 北京平台网站建设方案中文域名到期对网站的影响
  • 中国交通建设网站个人创建微信小程序
  • 高唐网站开发百度搜索链接入口
  • 天津网站建设网站企业管理咨询是做什么
  • 高新网站开发多少钱软件开发商网站
  • 有没有好用的网站推荐建设网站群的意义
  • 余江县建设局网站个人简历制作免费
  • 南京网站关键词推广做网站排名推广效果怎么样
  • 南京网站建设网站设计西安学校网站建设报价