秋过冬漫长

没有比脚更长的路,走过去,前面是个天!


  • 首页

  • 归档

  • 标签

  • 搜索

线程锁技术

发表于 2017-04-30 | 分类于 Java |

笔记摘要

这里介绍了java5中的线程锁技术:Lock和Condition,实现线程间的通信,其中的读锁和写锁的使用通过一个缓存系统进行了演示,对于Condition的应用通过一个阻塞队列进行演示。

线程锁技术:Lock & Condition 实现线程同步通信所属包:java.util.concurrent.locks

线程锁 说明
Synchronized 同步方法,锁对象是this;静态同步方法,锁对象是字节码.class;同步代码块,锁对象是任意对象,但必须是同一个对象
Lock 同步锁接口
ReentrantLock lock(),unlock(),newCondition()
ReadWriteLock 读写锁接口
ReentrantReadWriteLock readLock()获取读锁,writeLock()获取写锁
Condition 线程间通信 await()等待 signal()唤醒
阅读全文 »

多个线程之间共享数据的方式探讨

发表于 2017-04-30 | 分类于 Java |

内容摘要

多个线程之间共享数据,按照每个线程执行代码是否相同,我们可以采取不同的处理方式,这里通过简单的卖票示例说明了当每个线程执行相同代码的情况,对于多个线程执行不同代码的情况,处理方式比较灵活,这里主要介绍了2种方式,通过2种方式的对比和归纳,我们可以总结出在多个线程执行不同的代码情况下,如何进行代码的设计

阅读全文 »

多线程

发表于 2017-04-30 | 分类于 Java |

1. 多线程概述

1.1 多线程引入

由上图中程序的调用流程可知,这个程序只有一个执行流程,所以这样的程序就是单线程程序。假如一个程序有多条执行流程,那么,该程序就是多线程程序。

阅读全文 »

volatile关键字解析

发表于 2017-04-30 | 分类于 Java |

原文链接:http://www.cnblogs.com/dolphin0520/p/3920373.html

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。

volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知识,然后分析了volatile关键字的实现原理,最后给出了几个使用volatile关键字的场景。

目录大纲

  • 内存模型的相关概念
  • 并发编程中的三个概念
  • Java内存模型
  • 深入剖析volatile关键字
  • 使用volatile关键字的场景
阅读全文 »

泛型

发表于 2017-04-30 | 分类于 Java |

1. 泛型概述

泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。

泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。

在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。

泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,以提高代码的重用率。

可以在集合框架(Collection framework)中看到泛型的动机。例如,Map 类允许您向一个 Map添加任意类的对象,即使最常见的情况是在给定映射(map)中保存某个特定类型(比如 String)的对象。

阅读全文 »
1…14151617
JackChan

JackChan

生活不止眼前的苟且,还有诗和远方!

84 日志
11 分类
49 标签
GitHub GitBook 微博 CSDN
友情链接
  • 郭霖
  • 鸿洋
  • 张帅
  • 极客导航
© 2017 JackChan
由 Hexo 强力驱动
主题 - NexT.Pisces