- 博客(7)
- 收藏
- 关注

原创 一段代码让你彻底搞懂HashMap死循环
在多线程环境下,使用HashMap进行put操作会引起死循环,导致CPU利用率接近100%,HashMap在并发执行put操作时会引起死循环,是因为多线程会导致HashMap的Entry链表形成环形数据结构,一旦形成环形数据结构,Entry的next节点永远不为空,在get操作时遍历链表就会产生死循环。那么这个死循环是如何生成的呢?我们来具体分析下。HashMap扩容流程引发死循环,是在HashMap的扩容操作中,正常的扩容操作是这个流程。HashMap的扩容在put操作中会触发扩容,主要是三个方法:
2020-05-16 13:57:39
919
1
原创 一段代码搞懂ThreadLocal
引言ThreadLocal的官方API解释为:“该类提供了线程局部 (thread-local) 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。ThreadLocal 实例通常是类中的 private static 字段,它们希望将状态与某一个线程(例如,用户 ID 或事务 ID)相关联。”ThreadLocal 的作用ThreadLocal是解决线程安全问题一个很好的思路,它通过为每个线程提供一个独
2020-05-22 21:40:15
220
原创 微信小程序 onLaunch onLoad onShow异步
小程序初始化时触发App里的onLaunch,后面再执行页面Page里的onLoad,但是在onLaunch里执行用户登录,等待返回值的时候Page里的onLoad事件就已经执行了。原代码段app.js代码片. globalData = { userInfo: null, token:'' } onLaunch() { this.$interceptors ...
2018-10-19 16:15:54
7129
原创 java 微信小程序码的生成及保存到阿里云oss
官方文档:获取二维码这里使用其中的接口B:适用于需要的码数量极多的业务场景(无限次数) 参数按照接口说明来传,请求成功的话接口会返回输入流,这里将输入流上传至阿里云OSS,以下是部分JAVA代码(有问题可以留言):public class UploadTest { @Test public void upload(){ ...
2018-09-06 10:12:20
3206
3
原创 spring boot 启动报错 Unsupported major.minor version 52.0
问题描述:如图spring-boot 2.0.4 版本的启动报错解决方法:spring-boot 2.0版本以后的很多东西依赖jdk1.8,将jdk版本升至1.8以上即可下面附上spring-boot 和 jdk版本兼容图: ...
2018-08-27 17:41:45
580
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人