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

做商业网站没有注册公司在哪个网站可以免费制作简历

做商业网站没有注册公司,在哪个网站可以免费制作简历,怎么优化网站源代码,怎样用ps做电子商务网站系列文章目录 深入解析Java字符串#xff1a;常量池、内存管理与StringBuilder、StringBuffer操作类指南 文章目录 系列文章目录前言一、ThreadLocal简介二、工作原理1.实现2.最佳实践3.常见用途场景4、Web中常用清理方式5、注意事项高级使用 总结 前言 在多线程编程的世界里…系列文章目录 深入解析Java字符串常量池、内存管理与StringBuilder、StringBuffer操作类指南 文章目录 系列文章目录前言一、ThreadLocal简介二、工作原理1.实现2.最佳实践3.常见用途场景4、Web中常用清理方式5、注意事项高级使用 总结 前言 在多线程编程的世界里确保数据的正确性和线程安全是开发者们面临的最大挑战之一。 Java 中提供了多种工具和机制来帮助我们应对这些挑战其中 ThreadLocal 类是一个非常强大的工具。在SpringSecurity安全框架中 SecurityContextHolder类默认使用ThreadLocal保证不同线程之间的安全、上下文相互隔离。 本文将深入探讨 ThreadLocal 的工作原理、典型应用场景以及使用时需要注意的事项。 一、ThreadLocal简介 ThreadLocal 是 Java 中用于创建线程局部变量的一个类。 每个线程都可以独立地访问其自己的变量副本而无需担心与其他线程发生冲突。即使多个线程同时修改它们各自的 ThreadLocal 变量副本也不会影响其他线程的副本。 二、工作原理 1.实现 ThreadLocal 实现的关键在于它利用了 Java 的 ThreadLocalMap 数据结构ThreadLocalMap 一种特殊的哈希表每个线程都拥有一个与之关联的 ThreadLocalMap 实例。 使用开放寻址法解决哈希冲突。当线程调用 ThreadLocal 对象的 get() 或 set(T value) 方法时实际上是操作该线程私有的 ThreadLocalMap 中的数据。这样就保证了不同线程间的数据隔离性。 2.最佳实践 使用 private static final 声明 ThreadLocal 变量 确保 ThreadLocal 实例是静态的、不可变的引用减少意外修改或重复创建。 代码如下示例 Component //spring Bean 声明 public class Context {private static final ThreadLocalString context new ThreadLocal();public void setCurrentContext(String context ) {context.set(context );}public String getCurrentContext() {return context.get();}public void clear() {context.remove();} }该处使用单例模式饿汉式确保整个应用程序生命周期中只有一个ThreadLocal实例。 单例模式饿汉式 当类被加载时ThreadLocal实例初始化。节省系统资源避免重复创建对象。 3.常见用途场景 用户上下文信息传递在 Web 请求中保存用户身份信息。数据库连接管理确保每个线程使用自己的数据库连接日志追踪 IDMDCMapped Diagnostic Context日志跟踪工具类封装日期格式化工具类SimpleDateFormat 不是线程安全的 4、Web中常用清理方式 在过滤器/拦截器中设置和清理 Autowired prinvate Context context;Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {//从请求中获取token信息String token extractUser(request);context.setCurrentUser(token);return true; }Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {context.clear(); }5、注意事项 不要将 ThreadLocal 用于跨请求共享数据禁止。 ThreadLocal 只适合一个请求生命周期内的上下文传递。不能替代全局缓存、Session、Redis 等持久化或 **跨线程。 内存泄漏问题重点 ThreadLocalMap 中的 Entry 是弱引用WeakReferencekey 是 ThreadLocal 实例。如果没有调用 .remove()即使 ThreadLocal 被回收value 仍然存在于线程的 ThreadLocalMap 中导致内存泄漏。特别是在使用线程池时线程不会结束value 一直存在。 ✅ 解决方法 显式调用 .remove()。使用 try-finally 确保清理。 高级使用 可以了解一下TransmittableThreadLocal 是阿里巴巴开源的一个增强版 ThreadLocal解决了线程池中 ThreadLocal 无法传递的问题。 总结 在web开发中合理使用 ThreadLocal 可以显著提升代码的简洁性和性能。但如果使用不当也容易引入 bug 和内存泄漏。 各位再见这里是 鳄鱼杆的空间钓……鳄鱼的杆儿 期待下次再会 愿你的每一次垂钓之旅都能满载而归。
http://www.hkea.cn/news/14343857/

相关文章:

  • 海口市做网站的公司网站推广烟台公司电话
  • 创做网站sql与网站开发
  • 网站前台做好以后用什么生成后台管理系统抖音代运营报价单
  • 汕头企业网站建设流程建设造价信息网站
  • 青岛福瀛建设集团有限公司网站凡客网站的域名怎么做
  • 怎么做淘宝客采集网站自动免费设计logo
  • 做网盟的网站必须备案深圳优秀网站设计
  • 制作网站主要包括哪些步骤响应式网站素材
  • 深圳专业网站建设企湖北田源建设工程有限公司网站
  • 拓之朴 做网站多少钱长沙手机网站开发
  • 江西省工程建设信息官方网站广州网站建设高端网
  • 顺德网站优化建站 报价
  • 网站内容建设需要哪些策略呢南京营销型网站制作
  • 公司如何做网站一般多少钱网站建设公众号开发
  • 江苏建设网站二十个优化
  • 有没有一种app类似网站建设网站的栏目设计怎么做
  • 淘宝客网站建设要注意什么地址 上海石门二路 网站建设
  • 有什么网站可以做外贸出口信息网站建设兼容性
  • 天津企业网站微信模板怎么制作
  • 医院建设网站要求分析 amp万众城网站建设
  • 加强部门网站建设wordpress 同步到微博
  • 代做电大网站ui作业优化营商环境的措施建议
  • 网站建设找哪家公司中小企业网站建设流程
  • 阿里网站建设App开发wordpress faq
  • 建立销售型网站平面设计大师
  • 关于大棚建设的网站个人电脑做外网网站
  • 做证券考试的网站门户网站产品设计方案
  • 做seo网站 公司贺兰县住房城乡建设局网站
  • 51网站空间还有吗WordPress新的页面
  • 网站栏目内容做网站开发要安装哪些软件