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

上海做网站优化网页搜索栏下面的记录怎么删

上海做网站优化,网页搜索栏下面的记录怎么删,上什么网站做会计教育,软件后端开发什么是ThreadLocal ThreadLocal 是一种用于实现线程局部变量的工具类。它允许每个线程都拥有自己的独立副本,从而实现线程隔离,避免了线程间的资源共享和同步问题。 使用 ThreadLocal 使用 ThreadLocal 通常分为四步: public class UserH…

什么是ThreadLocal

ThreadLocal 是一种用于实现线程局部变量的工具类。它允许每个线程都拥有自己的独立副本,从而实现线程隔离,避免了线程间的资源共享和同步问题。

使用 ThreadLocal

使用 ThreadLocal 通常分为四步:

public class UserHolder {// 1.创建 ThreadLocalprivate static final ThreadLocal<UserDTO> tl = new ThreadLocal<>();// 2.设置 ThreadLocal 的值public static void saveUser(UserDTO user){tl.set(user);}// 3.获取 ThreadLocal 的值public static UserDTO getUser(){return tl.get();}// 4.删除 ThreadLocal 的值public static void removeUser(){tl.remove();}
}

ThreadLocal 原理

Thread 类中有一个 ThreadLocalMap 类型的属性,也就是说每个线程都有自己的 ThreadLocalMap 实例。

ThreadLocal.ThreadLocalMap threadLocals = null;
  • ThreadLocalMap 是 ThreadLocal 的静态内部类,它内部维护了一个 Entry 数组,key 是 ThreadLocal 对象
  • ThreadLocalMap 的大小是由 ThreadLocal 的数量决定的;
  • Entry 继承了 WeakReference,它限定了 key 是一个弱引用,这样的好处就是当内存不足时,JVM 会回收 ThreadLocal 对象(无外部强引用),这样可以避免 ThreadLocal 对象本身的内存泄漏
  • 当调用 set、get 和 remove 方法时,首先会根据获取当前线程,然后可以得到属性 threadLocals,将 ThreadLocal 作为 key 查询对应的 value

在这里插入图片描述

ThreadLocal 内存泄露

我们前面说过,Entry.key 是弱引用,假设一种情况,ThreadLocal 对象无外部引用(如局部变量 tl 被回收),Entry.key 变为 null,但是ThreadLocalMap 是 Thread 的字段,只要线程不结束,ThreadLocalMap 和 Value 不会被回收。Value 成为“僵尸对象”,占用内存但无法访问。

解决方案:实际应用中需要在使用完ThreadLocal变量后调用 remove() 方法释放资源

ThreadLocal 优化举例

Netty 中的 FastThreadLocal,它是 Netty 对 ThreadLocal 的优化,内部维护了一个索引常量 index,每次创建 FastThreadLocal 中都会自动+1,用来取代 hash 冲突带来的损耗,用空间换时间。

private final int index;public FastThreadLocal() {index = InternalThreadLocalMap.nextVariableIndex();
}
public static int nextVariableIndex() {int index = nextIndex.getAndIncrement();if (index < 0) {nextIndex.decrementAndGet();}return index;
}
http://www.dtcms.com/wzjs/803674.html

相关文章:

  • 网站聊天室怎样做炫彩马甲公司网站免备案
  • 做采集网站的方法wordpress获取当前页面的别名
  • 天津网站建设58网站改版思路
  • 深圳网站建设推广优化seo全球邮企业邮箱登录
  • wordpress下载页面插件seo赚钱方法大揭秘
  • 为什么自己做的网站用QQ打不开如何给自己公司设计logo
  • 炫酷个人网站wordpress网站是什么意思
  • 多语言网站开发设计为什么有些网站看不到百度快照
  • 微网站搭建费用怎样创建网站快捷方式
  • 什么是网站策划书互联网+创业项目计划书
  • 网站建设系统规划方案软件开发网站开发学习
  • gta5网站建设中什么意思有限公司和有限责任的区别在哪里
  • 南昌网站建设公司好么做旅游网站的首页的图片
  • 做一个宣传网站要多少钱户外做爰网站
  • 做网站去哪推广好软文营销实施背景
  • 哈尔滨队网站网页美工电商app软件
  • 安全等级保护每个网站必须做吗网站建设昆山
  • 福州seo网站推广全球十大创意广告
  • 服务器正常网站打不开ui培训机构推荐
  • 网站左侧悬浮代码个人做地方门户网站
  • 建设集团有限公司网站首页网站模版制作
  • 怎么做网上卖菜网站网站文件夹没有权限
  • 买购网中国10大品牌网济南优化网站的哪家好
  • 无锡设计网站建设网站建设幽默
  • 网站页面布局图phpcms企业网站模板
  • 招商局网站建设管理总结明天上海全面封控
  • 南京市公共建设中心网站如何在网站上做网上亮照
  • 河南省住房城乡和建设厅网站微营销的优势
  • 网站需要维护dw网页制作素材下载
  • 南充能够建设网站的公司有做一个网站成本是多少