2017年11月22日
摘要: as-if-seral的语义是:不管怎么重排序(编译器和处理器为了提高并行度),(单线程)程序的执行结果不能被改变。 为了遵守as-if-seral语义,编译器和处理器不会对存在数据依赖关系的操作做重排序,因为这种重排序会改变执行结果。 在单线程程序中,对存在控制依赖的操作重排序,不会改变执行结果( 阅读全文
posted @ 2017-11-22 20:24 飞奔的菜鸟 阅读(177) 评论(0) 推荐(0)
  2017年11月21日
摘要: 每个处理器上的写缓冲区,仅仅对它所在的处理器可见。 Java语言中有一个“先行发生”(happens—before)的规则,它是Java内存模型中定义的两项操作之间的偏序关系,如果操作A先行发生于操作B,其意思就是说,在发生操作B之前,操作A产生的影响都能被操作B观察到,“影响”包括修改了内存中共享 阅读全文
posted @ 2017-11-21 23:07 飞奔的菜鸟 阅读(202) 评论(0) 推荐(0)
摘要: 为了提高性能,编译器和处理器通常会对指令做重排序。重排序分为3中类型: 1:编译器优化的重排序。编译器在不改变单线程程序语义的前提下,可以重新安排语句的执行顺序。 2:指令级优化的重排序。 3:内存系统的重排序。 阅读全文
posted @ 2017-11-21 22:48 飞奔的菜鸟 阅读(171) 评论(0) 推荐(0)
摘要: 线程之间的通信机制有两种:共享内存和消息传递。 同步是指程序中用于控制不同线程间操作发生相对顺序的机制。 在共享内存的并发模型里,通信是隐式进行的,同步时显式进行的。程序员必须显式指定某个方法或某段代码需要在线程之间互斥执行。 在消息传递的并发模型里,由于消息的发送必须在消息的接收之前,因此同步是隐 阅读全文
posted @ 2017-11-21 22:43 飞奔的菜鸟 阅读(227) 评论(0) 推荐(0)
  2017年11月20日
摘要: 总线锁:就是使用处理器提供的一个LOCK#信号,当一个处理器在总线上输此信号时,其他处理器的请求将被阻塞住,那么该处理器可以独占共享内存。 缓存锁:所谓“缓存锁定”是指内存区域如果被缓存在处理器的缓存行中,并且在Lock操作期间被锁定,那么当它执行锁操作回写到内存时,处理器不在总线上声言LOCK#信 阅读全文
posted @ 2017-11-20 22:52 飞奔的菜鸟 阅读(4779) 评论(0) 推荐(0)
摘要: 大多数情况下,锁不仅不存在多线程竞争,而且总是由同一线程多次获得,为了让线程获得锁的代价更低而引入偏向锁。 当一个线程访问同步代码块并获取锁时,会在对象头和栈帧中的锁记录里存储锁偏向的线程ID,以后该线程再进入和退出同步块时不需要进行CAS操作来加锁和解锁,只需要简单地测试一下对象头的Mark Wo 阅读全文
posted @ 2017-11-20 22:31 飞奔的菜鸟 阅读(2463) 评论(0) 推荐(0)
摘要: Java中的每一个对象都可以作为锁,具体表现为一下三种形式: 1:对于普通同步方法,锁是当前实例对象。 2:对于静态同步方法,锁是当前类的Class对象。 3:对于同步方法块,锁是Synchronized括号里配置的对象。 阅读全文
posted @ 2017-11-20 22:11 飞奔的菜鸟 阅读(180) 评论(0) 推荐(0)
摘要: 一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。 然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性 阅读全文
posted @ 2017-11-20 21:44 飞奔的菜鸟 阅读(156) 评论(0) 推荐(0)
  2017年10月16日
摘要: 嵌套类是指被定义在另一个类内部的类。嵌套类存在的目的应该只是为他的外部类提供服务。如果嵌套类将来可能会用于其他的某个环境中,它就应该是顶层类。 嵌套类又四种:静态成员类,非静态成员类,匿名类和局部类。 除了第一种之外,其他三种都被称为内部类。 静态成员类是最简单的一种嵌套类。最好把他看作是普通的类, 阅读全文
posted @ 2017-10-16 16:08 飞奔的菜鸟 阅读(122) 评论(0) 推荐(0)
摘要: 对于为了继承而设计的类,唯一的测试方法就是编写子类。为了继承,类还必须遵守其他一些约束。构造器绝不能调用可被覆盖的方法,无论是直接调用还是间接调用。无论是clone还是readObject,都不可以调用可覆盖的方法,不管是以直接还是间接的方式。为了继承而设计的类,对这个类会有一些实质性的限制。对于那 阅读全文
posted @ 2017-10-16 10:23 飞奔的菜鸟 阅读(330) 评论(0) 推荐(0)