java培训 第十二天 笔记

java培训 第十二天 笔记

ID:38112869

大小:122.50 KB

页数:4页

时间:2019-05-25

java培训 第十二天 笔记_第1页
java培训 第十二天 笔记_第2页
java培训 第十二天 笔记_第3页
java培训 第十二天 笔记_第4页
资源描述:

《java培训 第十二天 笔记》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1.同步(synchronized)和异步(asynchronized)同步:在某个线程执行某段代码(关键代码区)时,其他线程只能等待,直到第一个线程执行完毕,其他线程才能继续执行Java中,任意一个Object对象,都有且只有一个互斥锁(lock)/监视器(monitor),任意线程都可以通过synchronized关键字来试图获取该锁。如果能获得锁,则进入synchronized控制的关键代码区域;否则,只能停止在synchronized代码区域外,直到其他线程释放了对象的锁。由于任一对象的锁只有一把,故同步代码块最多只能有一个线

2、程进入,在同步代码块中的线程仍然可能失去CPU,但并不放弃互斥锁,所以其他线程虽然可能获得CPU,但由于无法取得互斥锁,只能被迫马上放弃CPU,继续等待2.synchronized关键字的用法(1)同步代码块(2)同步方法:可以实现某个对象的多个方法在某一个时刻只能被一个线程进入(3)注意:(1)同步的多个线程使用synchronized关键字时必须保证使用的是同一个互斥对象,不能是多个互斥对象。(1)同步在保证数据安全操作的同时,会额外增加系统的开销——不是必要的情况下,不要轻易使用synchronized关键字面试题:几个类的异同

3、?所有的方法都是同步的所有的方法都不是同步的VectorArrayListHashtableHashMapStringBufferStringBuilder3.生产者-消费者问题生产者消费者联系的纽带:产品仓库(假设最多只能有3件你商品)(1)首先需要保证生产者和消费者是同步的,即生产者生产时消费者不能消费;消费者消费时生产者不能生产。(2)当产品数量大于3时,生产者应该等待,当消费者消费完成时,应该通知生产者可以继续生产了;当产品数量小于1时,消费者应该等待,当生产者生产完成时,应该通知消费者可以继续消费了。Object类的wait

4、()和notify()方法:(1)当线程1获得对象obj1身上的互斥锁后,若发现自己需要的条件没满足,调用obj1.wait()可以将自己置于对象obj1的“等待线程队列”中,然后释放obj1身上的锁,线程进入阻塞状态。obj1.wait():使执行该行代码的线程进入obj1对象的等待队列中,并自动释放占有的obj1的互斥锁(2)当线程2获得对象obj1身上的互斥锁后,假设满足了线程1的需要,可以使用obj1.notify()方法唤醒处于“等待线程队列”中的线程,此后,线程2可以释放互斥锁,之后线程1就有可能被CPU调度而继续执行。o

5、bj1.notify():执行该行代码的线程通知处于obj1对象的等待队列中的其他线程,进入就绪状态。使用了wait-notify的线程的状态的转换:运行态à调用wait()à阻塞à等待被notify()à就绪态à运行态第二阶段数据库设计项目中永久保存数据的方式:1.使用IO将数据写出到文件中,可以使用PrintWriter、Properties(ps.load())2.将数据写出到Excel文件中(将Java数据写出到.xls文件或从.xls中到处)3.将数据保存到一个几乎不是数据库的数据库——Access,几乎所有的托管虚拟主机服

6、务器都提供对Access文件数据的访问且几乎免费,而且数据的备份会恢复简单4.使用中小型数据库:开源的MySQL或者PostgreSQL5.使用中型数据库:MicrosoftSQLServer只能运行于Windows系统6.使用大型数据库:Oracle11g或者IBMDB2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。