内部类、线程和并发的个人总结
来源:互联网 发布:java applet实例 编辑:程序博客网 时间:2024/06/06 05:55
内部类
内部类分为:普通内部类、程序块中的内部类、静态内部类、匿名内部类。
普通内部类必须在宿主构造实例时才能构造,普通内部类保有宿主的引用可以不受限制的访问宿主的任何成员。
常见用法:
1:利用内部类隐藏实现接口
当程序中某些逻辑要开发新的类来实现,而这时内部类是最方便时,使用内部类来实现逻辑。
2:方法中的内部类和匿名内部类
在程序块中也可以定义内部类,有时甚至是没有名称的内部类(匿名内部类)。
3:静态内部类(嵌套类)
无需宿主的实例即可创建,因此静态内部类不能访问宿主类的非静态成员。
线程和并发
线程使得一个程序可以处理多个请求。
常用方法:
1、实现线程的两种方法
一.继承java.lang.Thread类,重写run( )方法,在run方法中完成线程功能。
二.通过Runnable接口实现。
实现Runnable接口必须实现run方法,在run方法中完成功能处理,在创建线程时要以实现Runnable接口的实例为参数构造Thread,调用其start方法启动线程。
2、匿名内部类中的线程
可以使用匿名内部类实现线程。
如:
方法名 {
//方法体中
new Thread(){
public void run () {
//实现功能
}
} .start();
}
3、共享资源的竞争
引入synchronized 程序段来控制竞争程序段的运行
可以给程序段和方法加同步“锁”。
在java中任何对象都能作为同步锁(Object已经具有次功能)
用synchronized限定方法时,别的线程不能调用同一对象(一定是同一实例)的synchronized方法。即不能调用同一对象的synchronized方法。
4、线程间协作
线程间的协作靠wait(),notify(),synchronized方法来完成。
如:一个线程或的同步锁执行到一半时把锁让出,wait()一下,使另一个线程获得同步锁,当其执行完时notify()打醒它。
wait()和notify()会影响效率。
5、线程池 后续
- 内部类、线程和并发的个人总结
- 个人总结--内部类
- 关于内部类的个人总结
- 接口和内部类的总结
- 内部类的总结
- 内部类的总结
- 内部类的总结
- 《黑马程序员》java内部类个人总结
- 嵌套类(静态内部类)和普通内部类的用法和总结
- java内部类的可见性总结和java内部类的创建
- Java基础----其他类的总结(二) 以及内部类和匿名内部类
- 002-支持并发的内部类饿汉单例
- java内部类的总结
- 内部类的特点总结
- java内部类的总结!
- 内部类的知识点总结
- 内部类的学习总结
- java--内部类的总结
- Ubuntu下,SVN服务器安装与配置
- 应用Yii1.1和PHP5进行敏捷Web开发05
- 【Node.js】实现一个最简单的HTTP服务器
- 应用Yii1.1和PHP5进行敏捷Web开发06
- hdu 1085 Holding Bin-Laden Captive!
- 内部类、线程和并发的个人总结
- 应用Yii1.1和PHP5进行敏捷Web开发07
- angularjs--module
- hdu Lovekey
- JDK5.0垃圾收集优化之--Don't Pause
- 应用Yii1.1和PHP5进行敏捷Web开发08
- 注解版spring aop设置
- c# global::
- 应用Yii1.1和PHP5进行敏捷Web开发09