面试题总结

文章目录

Java中Object类的常用方法有哪些?

clone 方法
保护方法,实现对象的浅复制,只有实现了 Cloneable 接口才可以调用该方法,否则抛出CloneNotSupportedException 异常,深拷贝也需要实现 Cloneable,同时其成员变量为引用类型的也需要实现 Cloneable,然后重写 clone 方法。
finalize 方法
该方法和垃圾收集器有关系,判断一个对象是否可以被回收的最后一步就是判断是否重写了此方法。
equals方法
该方法使用频率非常高。一般 equals 和 == 是不一样的,但是在 Object 中两者是一样的。子类一般都要重写这个方法。
hashCode 方法
该方法用于哈希查找,重写了 equals 方法一般都要重写 hashCode 方法,这个方法在一些具有哈希功能的 Collection 中用到。
一般必须满足 obj1.equals(obj2)==true 。可以推出 obj1.hashCode()==obj2.hashCode() ,但是 hashCode 相等不一定就满足 equals。不过为了提高效率,应该尽量使上面两个条件接近等价。
JDK 1.6、1.7 默认是返回随机数; JDK 1.8 默认是通过和当前线程有关的一个随机数 + 三个确定值,运用 Marsaglia’s xorshift scheme 随机数算法得到的一个随机数。
wait 方法
配合 synchronized 使用,wait 方法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥 有者,也就是具有该对象的锁。wait() 方法一直等待,直到获得锁或者被中断。wait(long timeout) 设定一个超时间隔,如果在规定时间内没有获得锁就返回。

调用该方法后当前线程进入睡眠状态,直到以下事件发生。
1/ 其他线程调用了该对象的 notify 方法;
2/ 其他线程调用了该对象的 notifyAll 方法;
3/ 其他线程调用了 interrupt 中断该线程;
4/ 时间间隔到了。
此时该线程就可以被调度了,如果是被中断的话就抛出一个 InterruptedException 异常。

notify 方法
配合 synchronized 使用,该方法唤醒在该对象上等待队列中的某个线程(同步队列中的线程是给 抢占 CPU 的线程,等待队列中的线程指的是等待唤醒的线程)。

notifyAll 方法
配合 synchronized 使用,该方法唤醒在该对象上等待队列中的所有线程。

根据回答情况追问:equals、hashcode、equals关系、特点是什么?
根据回答情况追问:重写xxx方法需要注意哪些点?

HashMap的实现原理是怎样的?

根据回答情况追问:HashMap是线程安全的吗?
不是,HashMap是多线程不安全的
追问:Java中的线程安全的Map有哪些类?
ConcurrentHashMap
根据回答情况追问:ConcurrentHashMap是怎样实现线程安全的?
分段锁

JVM的内存模型是什么样的?JVM有哪些GC算法?

根据回答情况追问:CMS算法的实现原理?

JVM中堆和栈的区别?

怎样解决Full GC时间比较长的问题?

Java类加载机制是什么样的?

Java中Exception、Error、Throwable有什么区别?

ThreadLocal的实现原理是什么?

==和equals的区别?

StringBuilder和StringBuffer的区别?

反射的原理是什么?

Volatile的原理?

操作系统

1、谈谈你对操作系统的认识?解决哪些问题?

2、操作系统主要管理哪几类资源?

3、进程和线程有什么区别?

4、进程的同步和互斥的区别?

5、进程同步有哪些方式?

6、操作系统中的锁有哪些?

7、分段、分页的区别以及优缺点?

计算机网络

1、UDP,TCP是网络七层协议中哪一层的协议,区别是什么,分别适用于什么场景?

2、TCP三次握手,能否改为5次握手?

3、TCP的可靠性如何保证?

ACK和重传

4、cookie和session的区别?

5、TCP的流量控制是怎样的?

数据库

1、数据库的四大特性和隔离级别?

2、索引的优缺点?

3、数据库的索引一般用什么数据结构?为什么不用hash索引?

4、MySQL为什么用B+树作为索引?

linux工具

1、查看进程日志,一般可以用哪些命令?

2、使用shell命令,分析一个文本,找到含有meituan的行,保存到result.txt中?

语言Java:

1、类的加载顺序?

2、Java中有哪些保证线程安全的机制?

3、java的类加载器体系结构和双亲委托机制

4、Java常用的容器有哪些?Set的实现机制是什么?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值