Java 笔记?

面向对象的三个特征:继承 封装和多态

  • 继承:可以使用现有类已有的所有方法,无需重新编写即可对现有类进* 行扩展。可以通过继承和组合来实现
  • 封装:向外提供接口,隐藏了内部的具体实现
  • 多态:同一消息可以根据发送对象的不同采用不同的行为方式

多线程


死锁的四个必要条件:
从以上分析可见,如果在计算机系统中同时具备下面四个必要条件时,那麽会发生死锁。换句话说,只要下面四个条件有一个不具备,系统就不会出现死锁。

  • 互斥条件。即某个资源在一段时间内只能由一个进程占有,不能同时被两个或两个以上的进程占有。这种独占资源如CD-ROM驱动器,打印机等等,必须在占有该资源的进程主动释放它之后,其它进程才能占有该资源。这是由资源本身的属性所决定的。如独木桥就是一种独占资源,两方的人不能同时过桥。

  • 不可抢占条件。进程所获得的资源在未使用完毕之前,资源申请者不能强行地从资源占有者手中夺取资源,而只能由该资源的占有者进程自行释放。如过独木桥的人不能强迫对方后退,也不能非法地将对方推下桥,必须是桥上的人自己过桥后空出桥面(即主动释放占有资源),对方的人才能过桥。

  • 占有且申请条件。进程至少已经占有一个资源,但又申请新的资源;由于该资源已被另外进程占有,此时该进程阻塞;但是,它在等待新资源之时,仍继续占用已占有的资源。还以过独木桥为例,甲乙两人在桥上相遇。甲走过一段桥面(即占有了一些资源),还需要走其余的桥面(申请新的资源),但那部分桥面被乙占有(乙走过一段桥面)。甲过不去,前进不能,又不后退;乙也处于同样的状况。

  • 循环等待条件。存在一个进程等待序列{P1,P2,...,Pn},其中P1等待P2所占有的某一资源,P2等待P3所占有的某一源,......,而Pn等待P1所占有的的某一资源,形成一个进程循环等待环。就像前面的过独木桥问题,甲等待乙占有的桥面,而乙又等待甲占有的桥面,从而彼此循环等待。

上面我们提到的这四个条件在死锁时会同时发生。也就是说,只要有一个必要条件不满足,则死锁就可以排除。
来自:http://blog.csdn.net/hijiankang/article/details/9157365

不要调用Thread类或Runnable对象的run方法。直接调用run方法只会在当前线程中执行任务,并不会启动新的线程,正确的做法是调用Thread.start方法,它会创建一个新的线程来执行run方法

final关键字:

向编译器告知一块数据是恒定不变的(一个永不改变的编译期常量)
在对这个常量进行定义的时候,必须对其进行赋值

final方法:使用final方法的原因有两个,第一个是把方法锁定,以防止任何继承类修改它的含义。
第二个原因是效率
类中的所有private方法都是被隐式被指定为final的

final类
当将某个类的整体定义为final时,就表明了你不打算继承该类,也不允许别人这样做。

this关键字:


public class BananaPeel{
public static void main(String[] args)
Banana a = new Banana();
Banana b = new Banana();
a.peel(1);
}

编译器做了一些幕后工作,他暗自把“所操作的对象的引用”作为第一个参数传递给peel()。所以上述两个方法调用就变成了这样:
Banana.peel(a,1);
Banana.peel(b,2);
这是内部的表示形式,我们并不能这样书写代码,并尝试通过编译。

  • this关键字只能在方法的内部使用,表示对“调用方法的那个对象”的引用
  • 在构造器中,如果为this添加了参数列表,那么久有了不同的含义,这将对符合此参数列表的某个构造器明确调用,这样,调用其它构造器就有了直接的途径。但是this只能用于调用一个构造器,不能调用两个,并且用this关键字调用构造器时,必须将构造器调用置于最起始位置,否则会报错

static 方法就是没有this的方法,在static方法的内部不能调用非静态方法,反过来可以

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.import static是Java 5增加的功能,就是将Import类中的静态方法,可以作为本类的静态方法来...
    XLsn0w阅读 5,027评论 0 2
  • Whatever 是什么? Placeholder for unspecified value/parameter...
    焉知非鱼阅读 2,656评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,773评论 19 139
  • word直接复制来了,格式就不改了。至于这门课怎么复习,只要平时实验都认真完成、报告认真写,平时分都很高;考试的话...
    Jozhn阅读 10,167评论 0 8
  • 一一观某村民感悟 醉里引火烧秸杄 老李今天放大胆 左躲躲 右闪闪 火机拿出赶紧点 点东边 点西边 酷似地下游击员 ...
    旖旎i阅读 1,488评论 0 7