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

网站建设属于什么资产网站建设的基本技术

网站建设属于什么资产,网站建设的基本技术,北京好的网站建设公司,网站建设 可以吗ThreadLocal ThreadLocal表示线程的“局部变量”#xff0c;它确保每个线程的ThreadLocal变量都是各自独立的#xff0c;它提供了一种方法来创建只能被当前线程访问的变量。这意味着如果有两个不同的线程访问同一个ThreadLocal变量#xff0c;那么这两个线程将不能看到彼此…ThreadLocal ThreadLocal表示线程的“局部变量”它确保每个线程的ThreadLocal变量都是各自独立的它提供了一种方法来创建只能被当前线程访问的变量。这意味着如果有两个不同的线程访问同一个ThreadLocal变量那么这两个线程将不能看到彼此的值这就是“线程本地”的含义。 ThreadLocal适合在一个线程的处理流程中保持上下文避免了同一参数在所有方法中传递 使用ThreadLocal要用try … finally结构并在finally中清除。 首先看一个线程不安全的实例 private static SimpleDateFormat f new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);public static void main(String[] args) {while (true) {new Thread(() - {String dateStr f.format(new Date());try {Date parseDate f.parse(dateStr);String dateStrCheck f.format(parseDate);boolean equals dateStr.equals(dateStrCheck);if (!equals) {System.out.println(equals dateStr dateStrCheck);} else {System.out.println(equals);}} catch (ParseException e) {System.out.println(e.getMessage());}}).start();}}在代码中每个线程都会 对f进行操作会导致f这个对象发生变化由于f这个对象是共享变量各个线程之间互相影响由此产生了三种情况 输出结果如下正常情况为true如果两个线程分别修改了数据那么可能是false当然由于还处在中间过程还会导致异常情况那么该如何解决这个问题呢就需要ThreadLocal了。 true true false 2024-01-31 10:09:52 0000-01-31 10:09:52 false 2024-01-31 10:09:52 0052-01-31 10:09:52 true true Exception in thread Thread-1766 java.lang.NumberFormatException: For input string: at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)at java.lang.Long.parseLong(Long.java:601)at java.lang.Long.parseLong(Long.java:631)at java.text.DigitList.getLong(DigitList.java:195)at java.text.DecimalFormat.parse(DecimalFormat.java:2084)at java.text.SimpleDateFormat.subParse(SimpleDateFormat.java:1869)at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1514)at java.text.DateFormat.parse(DateFormat.java:364)at shujujiegou.testThreadLocal.lambda$main$0(testThreadLocal.java:16)at java.lang.Thread.run(Thread.java:748)现在已经知道ThreadLocal是本地变量的意思相当于把共享变量与本地进行了隔离每个线程复制一份因此在操作过程中互不干扰 写法如下 private static ThreadLocalSimpleDateFormat threadLocal ThreadLocal.withInitial(() - new SimpleDateFormat(yyyy-MM-dd HH:mm:ss)); public static void main(String[] args) {while (true) {new Thread(() - {String dateStr threadLocal.get().format(new Date());try {Date parseDate threadLocal.get().parse(dateStr);String dateStrCheck threadLocal.get().format(parseDate);boolean equals dateStr.equals(dateStrCheck);if (!equals) {System.out.println(equals dateStr dateStrCheck);} else {System.out.println(equals);}} catch (ParseException e) {System.out.println(e.getMessage());}}).start();} } ThreadLocal数据结构 1、它是一个数组结构。 3、Entry这里没用再打开其实它是一个弱引用实现static class Entry extends WeakReferenceThreadLocal?。这说明只要没用强引用存在发生GC时就会被垃圾回收。 3、数据元素采用哈希散列方式进行存储不过这里的散列使用的是 斐波那契Fibonacci散列法后面会具体分析。 4、另外由于这里不同于HashMap的数据结构发生哈希碰撞不会存成链表或红黑树而是使用开放寻址进行存储。也就是同一个下标位置发生冲突时则1向后寻址直到找到空位置或垃圾回收位置进行存储。 6、大于2/3就会扩容 7、探测式清理其实这也是非常耗时。为此我们在使用 ThreadLocal 一定要记得 new ThreadLocal().remove(); 操作。避免弱引用发生GC后导致内存泄漏的问题。
http://www.zqtcl.cn/news/785888/

相关文章:

  • 沭阳哪里有做网站推广的二手车网站源码下载
  • 网站建设添加视频教程wordpress做阿里巴巴国际站
  • 四川网站建设哪家专业辽宁招投标工程信息网
  • 小语种网站建设wordpress 上传图片不显示
  • 建网站什么网最好重庆制作网站公司简介
  • 中国建站平台邯郸现代建设集团网站
  • 爱站seo排名可以做哪些网站宁波网站怎么建设
  • 洛阳市伊滨区建设局网站企业集团网站源码
  • 做修图网站电脑配置wordpress后台登录页面美化
  • 中国十大物联网公司广州网站快速排名优化
  • 发帖网站有哪些wordpress提请审批
  • 网页设计网站导航怎么弄红色字体的内蒙古住房与建设厅网站
  • 微信网站什么做百度官网认证
  • 怎么提升网站流量做五金建材市场的网站
  • 网站合作流程h5网站怎么做api对接
  • asp.net 网站 结构手机客户端网站建设
  • 图片网站怎么做SEO参与网站建设注意
  • 网站界面设计案例教程wordpress更新报错
  • Dw做网站怎么加logo如何申请小程序店铺
  • 官方网站下载官方版本wordpress文字可以动的插件
  • 企业网站模板 免费下载网站建设服务采购方案模板下载
  • 在万网申请的域名_需要把万网的账户密码给做网站的吗做鱫视频网站
  • 网站建设360wordpress 音乐下载主题
  • 站群推广wordpress换logo
  • 苏州网站建设丶好先生科技电脑怎样做幻灯片的网站
  • 什么网站可以做线上邀请函大米网络营销推广方案
  • .net做网站实例 贴吧软件开发前景和发展
  • 合肥快速建站模板软件开发文档编制
  • 深圳免费网站设计平板做网站服务器
  • 注册或者浏览社交类网站时不恰当威宁做网站