关于Java面试,我的学员都准备了那些面试题

为什么重写equals方法要重写hashcode方法

final,finally和finalize区别

重载和重写区别

String,StringBuffer,StringBuilder区别

equals方法和==

Object中的方法

Java异常有哪些?

java中的泛型作用

List的实现类

ArrayList,Vector,LinkedList的底层实现,初始大小,是否线程安全,特性

hashmap底层实现,是否可以存空值,初始话大小,put过程,如何扩容

hashmap不安全的原因

说说bio nio和aio

JVM

 

一次编译到处运行是如何实现的

为什么jvm不直接把源码解析成机器码去执行

类加载机制的生命周期

Java的反射机制

说说类加载器

双亲委派机制,优点

loadClass和forName区别

 

JVM内存模型

 

分别介绍程序计数器,方法区,本地方法栈,虚拟机栈,堆

 

元空间和永久的的区别

 

JVM调优参数-Xms,-Xmx,-Xss的含义

 

堆和栈的区别-内存分配策略等方面

 

对象被判定为垃圾的标准,判断算法

 

可作为GCROOt的对象

 

说说垃圾回收算法

 

对象如何晋升老年代

 

常用的调优参数XX:survivorRatio:eden和survivor的比值默认8:1

XX:newRatio 老年代和年轻代内存大小的比值

 

触发FullGC的条件

 

常用的垃圾收集器

 

强引用 软引用 弱引用 虚引用

 

JAVA多线程

 

线程和进程的区别

 

run和start的区别

 

如何实现处理线程的返回值

 

如何给run方法传参

 

线程的状态

 

sleep和wait的区别

 

中断线程的正确方式

 

线程状态间的转换

 

线程池的参数

 

实现线程的方式

 

submit和execute的区别

 

线程同步的方式

 

线程通信的方式

 

守护线程的作用

 

多线程会带来什么问题

 

说一下JMM

 

happens-before原则

 

如何创建线程安全的单例

 

notify和notifyall的区别

 

主内存和工作内存的关系

 

volatile的作用,适用场景

 

单例和并发的关系

 

volatile和synchronized的异同

 

什么是死锁,产生的必要条件,怎么避免死锁

 

JUC

 

线程池增加线程的规则

 

线程池线程数量怎么设定

 

停止线程池的正确方法

 

线程池的状态

 

线程池的拒绝策略

 

使用线程池的注意点

 

ThreadLoacl的作用,原理,get方法过程,应用场景,内存泄露问题,如何避免泄露,空指针异常的原因

 

为什么要lock锁,为什么synchronized不够

 

介绍下面:乐观锁和悲观锁

 

可重入锁和非可重入锁

 

自旋锁和阻塞锁

 

公平锁和非公平锁

 

共享锁和排他锁

 

可中

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

Java之项目解析+八股文 文章被收录于专栏

针对Java简历中项目的功能进行提问,大家可以在评论区中解答/讨论;同时提供八股文

全部评论
点赞 回复
分享
发布于 04-21 15:35 甘肃

相关推荐

3 45 评论
分享
牛客网
牛客企业服务