发奋忘食,乐以忘优,不知老之将至。———《论语》前面几篇已经介绍了关于线程安全和同步的相关知识,那么有了这些概念,我们就可以开始着手设计线程安全的类。本文将介绍构建线程安全类的几个方法,并说明他的区别。我要讲的这几个构建线程安全类的方式是:实例封闭。线程安全性的委托。现有的线程安全类添加功能。另外,在设计线程安全类的过程中,我们需要考虑下面三个基本要素,遵循这三个步骤:找出构成对象状态的所有变量。
分类:
编程语言 时间:
2018-06-02 11:27:25
阅读次数:
158
hibernate实体规则,hibernate对象状态,hibernate一级缓存 ...
分类:
其他好文 时间:
2018-06-02 11:23:31
阅读次数:
109
像Hibernate这种ORM框架,相较于JDBC操作,需要有更复杂的机制来实现映射、对象状态管理等,因此在性能和效率上有一定的损耗。 在保证避免映射产生低效的SQL操作外,缓存是提升Hibernate的关键之一。 加入缓存可以避免数据库调用带来的连接创建与销毁、数据打包拆包、SQL执行、网络传输, ...
分类:
Web程序 时间:
2018-05-28 11:49:26
阅读次数:
251
我们已经知道同步代码块和同步方法可以保证以原子的方式执行,其实,同步还有另外一个重要概念:内存可见性。换句话说,我们不仅希望防止某个线程正在使用对象状态而另一个线程同时在修改状态,而且希望确保当一个线程修改了对象的状态后,其他线程能够看到修改后的状态。
分类:
编程语言 时间:
2018-05-26 11:41:18
阅读次数:
217
在Java5.0之前,只有synchronized(内置锁)和volatile. Java5.0后引入了显示锁ReentrantLock. ReentrantLock概况 ReentrantLock是可重入的锁,它不同于内置锁, 它在每次使用都需要显示的加锁和解锁, 而且提供了更高级的特性:公平锁, ...
分类:
其他好文 时间:
2018-05-25 22:47:29
阅读次数:
175
一:Promise 含义:是异步编程的一种解决方案,比回调函数和事件更合理和强大,原生提供了promise对象 状态:pending(进行中)、fulfilled(已成功)和rejected(已失败) 注意:将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数 (1)一旦创建,立即执行,无法 ...
分类:
其他好文 时间:
2018-05-22 18:31:35
阅读次数:
146
## Hibernate第二天 ## ### 回顾与反馈 ### Hibernate第一天 1)一种思想 : ORM OM(数据库表与实体类之间的映射) RM 2)一个项目 : CRM 客户关系管理系统 客户公司表 3)一个框架 : Hibernate 简化JDBC 面向对象的数据库操作 注意问题 ...
分类:
Web程序 时间:
2018-05-18 23:34:29
阅读次数:
401
一、什么是观察者模式 Observer模式是行为模式之一,它的作用是当 一个对象的状态发生变化时,能够自动通知其他 关联对象,自动刷新对象状态。 Observer模式提供给关联对象一种同步通信的 手段,使某个对象与依赖它的其他对象之间保持 状态同步。 二、观察者模式的结构 三、观察者模式的角色和职责 ...
分类:
其他好文 时间:
2018-05-13 19:54:28
阅读次数:
100
1 /// 2 /// 条件变量模式 3 /// 让线程根据条件执行 4 /// 5 public sealed class ConditionVariablePattern 6 { 7 //两个线程使用同一个锁 8 private readonly object m_lock = new obj.... ...
分类:
编程语言 时间:
2018-05-12 11:55:37
阅读次数:
208
一、设计线程安全的类 找出构造对象状态的所有变量(若变量为引用类型,还包括引用对象中的域) 约束状态变量的不变性条件 建立对象状态的并发访问管理策略(规定了如何维护线程安全性) 1、收集同步需求(找出复合操作、多个变量遵循原子性的操作等) 2、依赖状态的操作(找出操作是否基于先验条件,例:取出当队列 ...
分类:
编程语言 时间:
2018-05-11 17:18:58
阅读次数:
212