Day492&493.尚硅谷之高频重点面试题④ -面经
Posted 阿昌喜欢吃黄桃
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day492&493.尚硅谷之高频重点面试题④ -面经相关的知识,希望对你有一定的参考价值。
尚硅谷之高频重点面试题④
一、生产环境服务器变慢了,怎么诊断思路和性能评估?
-
指令
-
top—整机系统性能
3个值相加除以3*100%,如果大于60%表示系统压力大
- vmstat—cpu性能
vmstat -n 2 3 #每2秒采样一次,共计3次
-
- mpstat—cpu性能
mpstat -P ALL 2
#每两秒采样一次所有CPU信息
- pidstat
- free—内存性能
free -m
- df—硬盘性能
df -h
- iostat-磁盘io
iostat -xdk 2 3
二、生产环境CPU突然变高,你的分析思路与定位是什么?
-
先用
top
,找出cpu占用最高的,记录pid -
定位到哪一行java代码,或线程
-
ps -mp 进程pid -o THREAD,tid,time
-
-
将得到的10进制pid转换为16进制小写pid
-
通过
jstack
查看具体代码-
jstack pid十进制 |grep tid(pid十六进制小写英文) -A60
-
三、你用过Github吗?谈一谈
-
常用词
- star
- clone
- fork
- watch
- follow
-
指定含有查找
xxx关键词 in:name或descripton或readme
组合使用:
achang in:name,descripton,readme
- 指定数量查找
xxx关键词 stars:>=5000
forks:>500
forks:100..200 starts:80..100
- 查找精品
用来学习,书籍
awesome 关键词
- 给别人指出高亮代码显示
https://github.com/qq995931576/netty/blob/master/netty-demo/src/main/java/com/achang/netty/codec/NettyClientHandler.java#L14-L39
- 项目内搜索
键盘中小写英文字母t
- 搜索某地区内的大佬
四、intern
- 面试题
在加载启动的时候java就会直接加载到常量池中,str2.intern()返回的是一开始加载的,而str2是执行新建立的
- 知识点
- 原题
五、两数求和
- 面试题
- 暴力解法
- 哈希解法
七、LockSupport
1、是什么?
- 是JUC包中的一个类,名字叫LockSupport。线程等待唤醒机制(wait/notify)的改良加强版
2、能干什么
- park():阻塞线程
- unpark():唤醒线程
3、3种唤醒/阻塞线程的方式
- wait/notify方式
- 必须要在
synchronized代码块
中使用不然会报“IllegalMonitorStateException
” - 先wait后notify,才会被唤醒,不然就无法被唤醒
- 必须要在
- await/signal方式
- 必须在lock和unlock中间才能执行,不然会报“
IllegalMonitorStateException
” - 先await后signal,才会被唤醒,不然也依然无法被唤醒
- 必须在lock和unlock中间才能执行,不然会报“
4、API调用
- pack()
- unpack()
5、演示代码
6、作用
避免了上面两种方式不能满足的要求
- 不要求在
lock和unlock中
或,synchronized块
中 - pack和unpack的顺序没有要求,当先执行unpack,那么后面执行的pack将会直接无效
7、重点说明
8、面试题
八、AQS
1、是什么?
-
字面意思
- AbstractQueuedSynchronizer抽象的队列控制同步器
- 通过队列,对抢不到锁的线程进行管理
-
技术解释
-
简单理解
通过一个资源state,来表示锁的状态,0是自由状态,大于0代表被占用。抢不到资源的线程,就放在FIFO队列中进行管理,争取下次再进行争取获取资源
AQS=资源状态State变量+CLH虚拟双向队列(FIFO)
-------->AQS=变量+队列
2、为什么AQS是JUC内存的基石呢?
-
线程锁、流程控制的底层实现基础
- ReentrantLock
-
CountDownLatch
-
ReentrantReadWriteLock
- Semaphore
-
与AQS有关
3、为什么需要AQS
- 有阻塞就会有排队,有排队就会需要以某种形式的列队进行管理
以上是关于Day492&493.尚硅谷之高频重点面试题④ -面经的主要内容,如果未能解决你的问题,请参考以下文章
Day489&490&491.尚硅谷之高频重点面试题③ -面经
Day489&490&491.尚硅谷之高频重点面试题③ -面经
Day481&482&483&484&485.尚硅谷之高频重点面试题① -面经