科大讯飞Java 2面经

#软件开发笔面经#

6.5北京时间上午10点2面

简单自我介绍,项目介绍

-----------------------------开始问些简单八股(面试题精选)--------------------------

1. 线程池都有哪些状态?

线程池有5种状态:Running、ShutDown、Stop、Tidying、Terminated。(还有就绪,阻塞等)

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

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

  • 接收的参数不一样
  • submit有返回值,而execute没有
  • submit方便Exception处理

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

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

  • 原子性:提供互斥访问,同一时刻只能有一个线程对数据进行操作,(atomic,synchronized);
  • 可见性:一个线程对主内存的修改可以及时地被其他线程看到,(synchronized,volatile-读写线程);
  • 有序性:一个线程观察其他线程中的指令执行顺序,由于指令重排序,该观察结果一般杂乱无序,(happens-before原则)。

------------------结束面试------华丽的分割线-----------------

#软件开发笔面经#
全部评论
二面是指HR面吗还是
点赞 回复 分享
发布于 07-29 16:28 辽宁

相关推荐

4 20 评论
分享
牛客网
牛客企业服务