JavaEE源码
文章平均质量分 60
Java是一种编程语言,被特意设计用于互联网的分布式环境
暴躁屠龙骑士
在人间凑数的日子
展开
-
正确理解ThreadLocal以及简单应用
我们常说,synchronized采取的是“以时间换空间”的策略,本质上是对关键资源上锁,让大家排队操作。ThreadLocal则恰恰相反,采取的是“以空间换时间”的思路,为每个使用该变量的线程提供独立的变量副本,在本线程内部,它相当于一个“全局变量”,可以保证本线程任何时间操纵的都是同一个对象。看了一些理解ThreadLocal的文章,归纳了如下两点:一,ThreadLocal 不是用来解决共享对象的多线程访问问题的,主要是提供了避免参数传递的资源访问方式。每个线程都有一个自己的ThreadL原创 2022-03-08 15:59:24 · 424 阅读 · 0 评论 -
为什么当substring(int index)下标传参等于字符串长度时,不会报索引越界异常?
国外网站的问题字符串abcde的下标范围是从0到4,为什么substring(5)依然可以工作?该下标应该超出范围了呀。/* 01234 abcde */ String foo = "abcde"; System.out.println(foo.substring(0)); System.out.println(foo.substring(1)); System.out.println(foo.substring(2)); System.out.println(foo.substr原创 2022-05-16 17:05:14 · 400 阅读 · 0 评论