没有合适的资源?快使用搜索试试~ 我知道了~
java基础面试题,自己搜集java信息。大家需要就下载吧。20190912
资源推荐
资源详情
资源评论
一、java 基础
线程和进程区别
进程
进程是操作系统中运行的一个任务;
进程有私有的虚拟地址空间,该空间仅能被它所包含的线程访问;
一个进程可以包含多个线程;
进程执行过程中拥有独立的内存单元;
线程
多个线程是共享内存;
进程所包含的一个执行单元成为线程;
创建线程的三种方法
继承
类并重写
方法
重写 方法目的?
定义改线程要执行的逻辑;
启动线程调用 方法
方法将当前线程纳入线程调度 默认抢占式调度,使当前线程可以
开始并发运行,当线程获取时间片段后会自动开始执行 方法中的逻辑。
实现
接口并重写
方法
在创建线程的时候将 的实例传入并启动线程。
定义类实现 接口好处
接口是多继承;还可以去实现其他父类;
匿名内部类创建线程
好处
简化编写代码的复杂度;
解决线程安全的三种方法
同步代码块
同步中的线程没有执行完不会释放锁,同步外的线程没有锁就进不去同步中
锁对象
线程安全问题的代码
)代码块中的锁对象,可以使用任意的对象;
)多个线程使用的锁对象必须是同一个;
)锁对象的作用:把同步代码块锁住,只让一个线程在代码块中执行;
同步方法
解决线程安全问题的第二种方法:同步方法
)把访问了共享数据的代码抽取出来,放到一个方法中。
)在方法上添加 修饰符。
)定义方法的格式。
修饰符 返回值类型 方法名参数列表
线程安全问题的代码
)同步方法也会把方法内容的代码锁住,只让一个线程执行。
)同步方法的锁对象是谁?就是类对象,也就是
静态的同步方法
)锁对象是谁?
不能是 , 是创建对象之后产生的,静态方法优先于对象,静态方法的
锁对象是本类的 属性。
锁机制
机制
提供了更广泛的锁定操作,比同步代码块和同步方法更强大。
)在成员位置创建一个 对象。
)在可能出现安全问题的代码前调用 接口中的方法 获取锁。
)在可能出现安全问题的代码后调用 接口中的方法 释放锁。
线程的六种状态
、!"(新建)
、(可运行)
、# (被阻塞)
、$%(等待)
、&"%(计时等待)
'、&(被终止)
、线程中 、(、" 区别
方法
()不会释放锁,让线程进入就绪状态
()()
这是一个静态方法,一旦执行,它会让当前线程让出 *+,,但是,需要注意的
是,让出的 *+, 并不是代表当前线程不再运行了,如果在下一次竞争中,又获
得了 *+, 时间片当前线程依然会继续运行。另外,让出的时间片只会分配给当
前线程相同优先级的线程。
()如果一个线程实例 - 执行了 #.其含义是:当前线程 - 会等
待 # 线程终止后 - 才会继续执行。
(
方法
()它会让出 ( 的使用权不会释放掉对象锁,(方法可以在任何地
方种使用。
()( 结束以后,线程进入就绪状态,而不是运行状态。
()(方法在休眠时间达到后如果再次获得 *+, 时间片就会继续执行。
()(方法是 的静态方法。
"
方法
()"方法会释放占有的对象锁,如果调用的是不带时间参数的 "则
需要 /或 /-这两个方法来唤醒它然后进入锁池状态。进入锁池
状态以后继续参与锁的竞争。
()" 是 0 实例方法。
()"方法必须要在同步方法或者同步块中调用,也就是必须已经获得对
剩余38页未读,继续阅读
资源评论
zhrmghgwsrmws
- 粉丝: 235
- 资源: 59
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功