Java系列0 面试题

2019-02-27  本文已影响0人  莫小归

参考:
https://blog.csdn.net/linzhiqiang0316/article/details/80473906

一.Java相关概念

1.面向对象的三个特征?
2.代码中如何实现多态?
3.虚拟机如何实现多态?

4.抽象类和接口的区别

抽象类 接口
方法实现 可以有方法实现 仅有方法定义
实现方式 extends,如果子类不是抽象类,则需实现抽象类声明的所有方法 implements,接口实现类需实现接口定义的所有方法
访问控制符 public/protected/default 默认public,不能使用其他访问控制符
5.Java创建对象有哪些方式?
6.Switch支持的参数类型
7.object类有哪些共有方法?
8.Java中有哪几种引用,有什么区别?
9.什么叫深拷贝和浅拷贝?

10.equals()和==的区别
11.equals()和hashCode()的联系
12.&与&&的区别
13.static的用法
14.String、StringBuffer和StringBuilder的区别

二.垃圾回收

1.常用垃圾回收算法有哪些?
2.判断对象是否被回收的方法有?
3.调用System.gc()方法是否会立刻进行垃圾回收?

三.多线程和锁

1.进程和线程有哪些区别?
进程 线程
基本单位 程序运行和资源分配的基本单位 CPU调度和分派的基本单位
内存共享 拥有独立的内存单元 多个线程共享内存资源
关系 一个进程至少有一个线程 同一进程的多个线程可并发执行
2.什么叫守护线程?常见的守护进程有哪些?
3.创建线程的方法有哪些?
4.Thread类的start()和run()有什么区别?
5.线程阻塞的相关方法?
5.1怎样唤醒一个阻塞的线程
6.产生死锁的条件?

7.wait()和sleep()的区别
8.什么是多线程的上下文切换?
9.Synchronized和ReentrantLock的区别?

10.Java中有哪些锁?
11.什么是线程局部变量ThreadLocal?
12.什么是CAS?
13.什么是悲观锁和乐观锁?
14.多线程开发的良好实践有哪些?

待续内容

四.一些实例

1.String s1="ab", String s2="a"+"b", String s3="a", String s4="b", String s5=s3+s4。那么s2==s5返回什么?
2. 3*0.1==0.3?
3.short s=1;s=s+1;和short s=1;s+=1;两条语句是否会报错错?

待续...

上一篇下一篇

猜你喜欢

热点阅读