您当前的位置:网站首页>JAVA>2020全新Java面试题——多线程(三) 找Java教程就上ki4.cc (>^ω^<),java,面试题,多线程

2020全新Java面试题——多线程(三) 找Java教程就上ki4.cc (>^ω^<),java,面试题,多线程

2020年05月15日 投稿作者: 围观人数:37

如何优化Java代码的执行效率 找Java教程就上ki4.cc (>^ω^<)

优化Java代码的执行效率的方法:1、尽量指定类的final修饰符,带有final修饰符的类是不可派生的;2、在使用同步机制时,应尽量使用方法同步代替代码块同步;3、不要在循环中进行异常捕获。

一、线程池都有哪些状态?

线程池有5种状态:Running、ShutDown、Stop、Tidying、Terminated。

线程池各个状态切换框架图:

(视频教程推荐:java视频)

二、线程池中 submit()和 execute()方法有什么区别?

接收的参数不一样

submit有返回值,而execute没有

submit方便Exception处理

三、在 java 程序中怎么保证多线程的运行安全?

线程安全在三个方面体现:

java线程的几种状态分别是什么 找Java教程就上ki4.cc (>^ω^<)

java线程的几种状态分别是:1、NEW;2、RUNNABLE;3、BLOCKED;4、WAITING;5、TIMED_WAITING;6、TERMINATED。

原子性:提供互斥访问,同一时刻只能有一个线程对数据进行操作,(atomic,synchronized);

可见性:一个线程对主内存的修改可以及时地被其他线程看到,(synchronized,volatile);

有序性:一个线程观察其他线程中的指令执行顺序,由于指令重排序,该观察结果一般杂乱无序,(happens-before原则)。

(相关教程推荐:java入门程序)

四、多线程锁的升级原理是什么?

在Java中,锁共有4种状态,级别从低到高依次为:无状态锁,偏向锁,轻量级锁和重量级锁状态,这几个状态会随着竞争情况逐渐升级。锁可以升级但不能降级。

锁升级的图示过程:

五、什么是死锁?

死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。

推荐教程:java面试题

以上就是2020全新Java面试题——多线程(三)的详细内容,更多请关注ki4导航其它相关文章!

java如何判断今天是星期几 找Java教程就上ki4.cc (>^ω^<)

java判断今天是星期几的方法:可以使用Calendar类来判断。Calendar类是一个抽象类,Calendar类中的常量DAY_OF_WEEK描述了当前日期是星期几。

标签

版权说明
免责声明:本文文章内容由ki4导航网发布,但不代表本站的观点和立场,具体内容可自行甄别.