您的位置:首页 > 职场人生

黑马程序员——java基础之薄弱点总结(二)

2014-12-04 16:56 381 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

11. 多态的特点

成员函数
编译时:要查看引用变量所属的类中是否有所调用的成员。看左
在运行时:要查看对象所属的类中是否有所调用的成员。看右
成员变量:只看引用变量所属的类。都看左
12.throws与throw的区别:
thorws用在函数上,后面跟异常类名。
throw用在函数内,后面跟异常对象。

13.异常细节

1.RuntimeException以及其子类如果在函数中被throw抛出,可以不用在函数上声明。
2.一个方法被覆盖时,覆盖它的方法必须抛出相同的异常或异常的子类。
3.如果父类抛出多个异常,那么重写(覆盖)方法必须抛出那些异常的一个子集,不能抛出新的异常。
14.包之间的访问

1.被访问的包中的类权限必须是public的。
2.类中的成员权限:public或者protected
3.protected是为其他包中的子类提供的一种权限
15. 四种权限
public    protected   default  private
同一类中   √         √          √       √
同一包中   √         √          √
子类       √         √
不同包中   √
16. Jar包的操作: 通过jar.exe工具对jar的操作。
创建jar包  jar  -cvf  mypack.jar  packa  packb

查看jar包  jar  -tvf  mypack.jar [>定向文件]

解压缩    jar  -xvf  mypack.jar

自定义jar包的清单文件:

jar  –cvfm  mypack.jar mf.txt  packa  packb

17. 同步的特点

同步的前提:同步需要两个或者两个以上的线程。
多个线程使用的是同一个锁。
未满足这两个条件,不能称其为同步。
同步的弊端
当线程相当多时,因为每个线程都会去判断同步上的锁,这是很耗费资源的,无形中会降低程序的运行效率。

18.

思考1:wait(),notify(),notifyAll(),用来操作线程为什么定义在了Object类中?

1,这些方法存在与同步中。

2,使用这些方法时必须要标识所属的同步的锁。

3,锁可以是任意对象,所以任意对象调用的方法一定定义Object类中。

思考2:wait(),sleep()有什么区别?

wait():释放cpu执行权,释放锁。

sleep():释放cpu执行权,不释放锁

19.停止线程

1.定义循环结束标记因为线程运行代码一般都是循环,只要控制了循环即可。
2.使用interrupt(中断)方法。该方法是结束线程的冻结状态,使线程回到 运行状态中来。
注:stop方法已经过时不再使用。
20. StringBuffer特有方法

StringBufferappend(int x);

StringBufferdelete(int start, int end );

StringBufferinsert(int index,String str);插入

StringBufferreverse();反转

JDK1.5出现一个StringBuilder,区别是StringBuffer是同步的,StringBuilder是非同步的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: