0.1计算机表示为什么会出现0.1000000001?
计算机内部使用二进制,0.1转化成二进制为0.0 0011无限循环的小数。
==和equals的区别:
==比较内存地址,equals比较内存地址的值。
为什么要同时重写hashcode和equals,hashcode有什么作用?
不同环境下hashcode的算法可能不同,导致hashcode值相等,俩对象不相等,此时需要
equals进行判断。单用equals效率太低。
hashcode用于效率的查找,用位置%长度得到hashcode,确定位置。
ArrayList和LinkedList的区别:
ArrayList基于动态数组实现,访问速度快,LinkedList基于链表,内存大,批量增删效果好
在查看增加情况下,ArrayList和LinkedList哪个好?
arraylist的add()可以返回布尔值,添加成功返回true。
linux系统,cpu报警,怎么去排查,怎么去定位
先用top命令找到异常cpu高的PID进程,
再用top -H -p 进程ID查看异常线程
将高cpu占比的线程PID转换成16进制
使用printf “%x\n” 线程PID
Jstack[进程ID] igrep -A 10[线程ID的16进制]