vlambda博客
学习文章列表

女研究生Java面试,题目和答案


1、怎么判断一个对象是不是要回收?
一般有2种方法。一个是引用计数法,一个是可达性分析算法。
引用计数法的缺点是,对于相互引用的对象,没法进行清除,所以JVM一般是使用可达性分析算法来判断对象是不是应该被回收。

2、复制算法有什么缺点?
复制算法由于需要将存活的对象复制到另一块空白的区域,所以对内存的使用率比较低,这是它的缺点。

3、线程池原理

4、倒排索引原理


5、Zookeeper里面有哪些节点类型


6、Zookeeper怎么实现分布式锁


7、synchronized加在静态方法跟非静态方法上有什么区别?
加在静态方法上,锁的是Class对象。
加在非静态方法上,锁的是this对象,也就是当前对象。

8、事务的ACID属性
原子性(Atomicity)
原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。
一致性(Consistency)
事务前后数据的完整性必须保持一致。
隔离性(Isolation)
事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。
持久性(Durability)
持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响。

9、事务的隔离级别

10、TCP三次握手的过程