安琪拉教百里守约学并发编程
文章平均质量分 91
安琪拉的博客
这个作者很懒,什么都没留下…
展开
-
几道高频面试题解
安琪拉的博客 喜欢蹲草的纯粹技术人,用心分享一些互联网的技术 40篇原创内容 ...原创 2021-04-26 01:58:42 · 1228 阅读 · 2 评论 -
双12压测引出的线上Full GC排查
这个Full GC问题是去年双12压测的时候触发的,中间排查的过程和踩的坑给大家借鉴一下。线上问题双12之前压测的时候起了很小的量,直接触发了Full GC,吓尿了,因为马上双12大促预热就要开始了,这搞不好妥妥的3.25啦。赶紧拉群,把相关同学拉在一起排查问题。第一时间查看GC日志:可以看到原因是超过了Metadata GC的阈值,触发了Full GC,Metaspace从243M 回收到231M,基本没怎么回收掉,所以稍微再来点量,很容易再次触发Metaspace 的回收。知识储备GC问题排查需要很多储原创 2021-04-13 03:20:59 · 739 阅读 · 0 评论 -
面试被问线程池,真香
这篇是并发编程系列文章第五篇了,说到并发编程,怎么少的了线程池,在阿里线程池使用场景非常多,用好线程池这个利器也算是日常开发必须掌握的了,下面讲讲2019年的那一夜,就线程池和某位面试官鏖战了半个小时。面试官 : 看你简历上写了对系统性能做了优化,能简单给我介绍一下吗? 都有哪些优化,你是怎么衡量优化效果的?我 : 巴拉巴拉。。。例如我们系统之前要查询用户的个人身份信息、联系人信息、订单状态信息、积分信息,之前系统是单线程串行处理的,我用线程池对四个任务并行处理,然后对处理结果合并。面试官 .原创 2021-02-05 22:14:22 · 981 阅读 · 4 评论 -
阿里面试官问我Java线程和操作系统线程什么关系
这个问题是安琪拉之前面试被问到的一个问题,正好顺着上一篇文章介绍完线程调用时的用户态和内核态的切换,后续把Java 并发的都一起讲了。面试官:听前一个面试官说你Java并发这块掌握的不错,我们深入的交流一下;我: 看了看面试官头部稀疏的结缔组织,已然觉得这场面试不简单,不过好在事前把安琪拉的博客看了个遍,有所准备,我回答说:咳咳,掌握的还算可以。面试官:Java线程用过的吧?我:用过。面试官:那你给我讲讲Java线程和操作系统的?我:啊!!!剧情不应该这样的啊,开场不应该先是 sync.原创 2021-01-17 11:00:06 · 2199 阅读 · 2 评论 -
用户空间和内核空间的区别
用户空间和内核空间最近在重新梳理Java 并发的知识,这篇文章是为了后面讲ReentrantLock做准备的,先热个身,随着研究的深入,就来到了这里,要把一件事情讲清楚,可以无限下钻,就像物体->原子->分子->夸克,直到超出自己能理解的知识范畴。前言我们知道操作系统采用的是虚拟地址空间,以32位操作系统举例,它的寻址空间为4G(2的32次方),这里解释二个概念:寻址: 是指操作系统能找到的地址范围,32位指的是地址总线的位数,你就想象32位的二进制数,每一位可以是0,可以是原创 2021-01-12 03:09:38 · 8353 阅读 · 0 评论 -
一个volatile跟面试官扯了半个小时
本文是《安琪拉与面试官的二三事》的第三篇,前二篇分别是《一个HashMap面试官扯了半个小时》《一个synchronized跟面试官扯了半个小时》欢迎关注Wx公众号:【安琪拉的博客】, 持续关注有态度的技术分享前言volatile 应该算是Java 后端面试的必考题,因为多线程编程基本绕不开它,很适合作为并发编程的入门题。开场面试官:你先自我介绍一下吧!安琪拉: 我是安琪拉,草丛三婊之一,最强中单(钟馗不服)!哦,不对,串场了,我是**,目前在–公司做–系统开发。面试官: 看你.原创 2020-05-11 19:04:30 · 7749 阅读 · 23 评论 -
安琪拉教百里守约学并发编程之多线程基础
《安琪拉与面试官二三事》系列文章一个HashMap能跟面试官扯上半个小时一个synchronized跟面试官扯了半个小时《安琪拉教鲁班学算法》系列文章安琪拉教鲁班学算法之动态规划安琪拉教鲁班学算法之BFS和DFS安琪拉教鲁班学算法之堆排序《安琪拉教妲己学分布式》系列文章安琪拉教妲己分布式限流《安琪拉教百里守约学并发编程》系列文章安琪拉教百里守约学并发编程之多线程基础本文...原创 2020-04-20 00:06:59 · 6126 阅读 · 9 评论