面试题总结
一、取日志中排名前十的ip
cat qq.log|awk -F" " '{print &1}'|sort|uniq -c|sort -nrt " "|awk -F" " '{print &2}'|head -n
解释:
1、打印文件的第一列(域) : awk '{print $1}' filename
打印文件的前两列(域) : awk '{print $1,$2}' filename
打印完第一列,然后打印第二列 : awk '{print $1 $2}' filename
打印文本文件的总行数 : awk 'END{print NR}' filename
打印文本第一行 :awk 'NR==1{print}' filename
打印文本第x行第y列 :sed -n xp filename | awk '{print $y}'
二、合并链表: https://blog.csdn.net/dongyanwen6036/article/details/85268826
三、类加载器有几种?加载过程?
四、垃圾回收算法有几种?优缺点是什么?
五、mysql数据库的事物隔离级别: read uncommited\ read committed\ repeatable read\ seriable
六、单例设计模式:饿汉涉及模式、懒汉涉及模式、线程安全的懒汉涉及模式、DCL双锁检查锁机制 https://www.cnblogs.com/binaway/p/8889184.html
public class Singleton{
private static Singleton instance;
private Singleton(){}
public static Singleton getInstace(){
if (instance==null){
synchronized(Singleton.calss){
if (instance==null){
instance = new Singleton();
}
}
}
}
}
七、关于synchronized关键字的三种用法:
(1)普通方法 锁定的是实例对象
(2)静态方法 锁定的是当前类的class对象
(3) 同步方法块 锁的是括号里面的对象
八、静态方法 vs 普通方法
静态方法只包含静态成员、普通方法既可以包含静态成员也可以包含其他成员
静态方法类所有,实例化前就可以直接使用,Clss::method()
静态方法效率比较高,缺点是不能自动销毁,实例化的可以做销毁