码迷,mamicode.com
首页 > 编程语言 > 详细

Java面试题(五)线程及集合补充

时间:2018-09-07 19:19:07      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:run方法   java面试题   代码块   线程池   启动   build   哈希   执行   优先   

1,一个进程就是一个应用程序。一个线程就是一个进程中运行的最小单元。
 一个进程可以包括多线程。
 餐馆(进程)。
 主线程。
 服务员(线程)
 服务员(线程)
 服务员(线程)
 服务员(线程)
 加塞,让步,守护,睡觉,打断,设置优先级。。
2,线程的生命周期?
新建,就绪,运行,阻塞,死亡

3,线程创建有几种方式?
答:三种。extends Thread,implements Runnable,线程池。
继承是否要满足一种关系?is-a关系?
子类 is a 父类。
4,不同线程创建对应的start方法。
  a继承Thread,再直接start.
 
  b实现Runnable时一定在类中编写了run方法.简单说就是定义线程要执行的任务
  将这个任务放在Thread的构造中。再start
 
 场景:服务器,游戏。

5,java中wait和sleep方法的不同?
答:等待时wait会释放锁,而sleep一直持有锁。
 Wait通常被用于线程间交互,sleep通常被用于暂停执行
6,对象.run是否会启动线程?
   线程的start方法,才可以启动线程,让线程就绪状态。
7,synchronized关键字。
用来给对象和方法或者代码块加锁,同一时刻最多只有一个线程执行这段代码。
8,final。三不。
9,StringBuilder,StringBuffer[synchronized],区别?
StringBuilder效率更高,线程不安全。
10,HashMap就是一个哈希表或者散列表,
散列表其实就是一个数组。数组中的每一个元素是一个单链表
--可以理解索引就是key计算的哈希值
11,对象的hashcode相同,equals相同吗?不一定。
     equals相同,hashcode肯定相同。
12,用过哪些数组?3 普通定义数组,ArrayList,(HashMap的数组结构)

Java面试题(五)线程及集合补充

标签:run方法   java面试题   代码块   线程池   启动   build   哈希   执行   优先   

原文地址:https://www.cnblogs.com/lovejoying/p/9606530.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!