- 博客(2)
- 收藏
- 关注
原创 java虚拟机
JVM被分为3个主要的子系统,类加载器子系统、运行时数据区、执行引擎。Java内存区域运行时数据区:(线程隔离)栈、PC、本地方法栈;(线程共享)方法区、堆PC:线程私有,用于记录指向当前线程执行到的指令的地址(虚拟机字节码地址),分支、循环、跳转、异常处理、线程恢复等都依赖PC。栈:栈帧(Stack Frame),描述Java方法执行的内存模型,每个方法执行时都会创建一个栈帧,用于存储 局部变量、操作数栈、动态链接、方法出口等信息,每一个方法从调用到结束,都对于一个栈帧从入栈到出栈的过程。——
2020-08-23 16:41:41
148
原创 记一次项目中CountDownLatch的坑
项目背景1、Android项目;2、依赖httpclient请求中的异步返回数据;2、countDownLatch用来构造一个同步场景,返回httpclient请求的response数据,await超时时间10s;3、线程池数量:4;问题现象在网络比较慢的场景下,多次在前端触发该业务流程,大概率复现每一次的click事件触发的线程countDownLatch 10s超时;关键词多线程、countDownLatch、线程池耗尽、超时定位过程通过增加日志可发现,httpclient的接口耗时
2020-08-23 01:04:01
1903
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅