![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程
文章平均质量分 79
Sssserein
这个作者很懒,什么都没留下…
展开
-
JVM&&线程知识碎片
JVM 线程私有的内存区域 **程序计数器:**一块较小的内存空间(可看作当前线程所执行的字节码的行号指示器) Java虚拟机栈: 1.和线程相关,不同线程内,即使运行同一个方法,也处于不同内存 2.和方法有关,即使是同一个线程,递归调用某个方法,每次调用都会生成该次方法调用的方法栈桢. 每个方法执行的时候,都会创建一个栈帧用于储存局部变量表,操作数栈.每一个方法从调用直至执行完成的过程,就对应一个栈帧在虚拟机栈中入栈和出栈的过程. 会产生的异常: 1.如果线程请求的栈深度大于虚拟机所允许的深度,将会抛出S原创 2021-03-02 20:38:21 · 61 阅读 · 0 评论 -
接口测试及线程知识碎片记录
web项目的接口测试: Java中使用第三方的一些框架完成接口测试: http客户端工具:做请求http服务器的接口(设置请求参数,获取响应数据[状态码,消息,响应体]) JDK:URLConnection 第三方工具: apache httpclient/htmlunit/springboot中restTemplate 数据解析工具:使用json数据时,可以使用jackson,gson,fastjson来进行解析 单元测试工具:junit(@Test + Assert),mockito,j原创 2021-03-01 09:47:57 · 86 阅读 · 0 评论 -
线程安全问题以及synchronized、volatile关键字
synchronized 关键字语法: 1.静态方法 2.实例方法 3.代码块: synchronized(对象) { // new 对象、class对象// TODO } 进入 synchronized 代码行时,需要获取对象锁: 1.获取成功:往下执行 2.获取失败:阻塞在 synchronized 代码行 退出 synchronized 代码块,或 synchronized 方法: 1.退回对象锁 2.通知Java虚拟机及系统,其他线程可以竞争这把锁 注意: 1.原创 2020-07-31 09:49:48 · 226 阅读 · 0 评论 -
线程等待及守护线程问题
线程等待: (1) join (2) 结合activeCount() + yield() 使用 while (Thread.activeCount() > 1) { //用调试的方式运行 Thread.yield();//将当前线程由运行态-->就绪态 } 等待线程死亡 当前线程:代码执行的时候,所在的线程 t 线程:线程引用对象 当前线程进行阻塞(运行态–>阻塞态)等待(满足一定条件),t线程(不做任何处理,让t执行运行) 条件:(哪个条件先执行完原创 2020-07-29 16:29:56 · 188 阅读 · 0 评论