JDK源码学习系列06----Vector
1.Vector简介
Vector的内部是数组实现的,它和ArrayList非常相似,最大的不同就是 Vector 是线程安全(同步)的。
public class Vector
extends AbstractList
implements List, RandomAccess, Cloneable, java.io.Se...
分类:
其他好文 时间:
2014-06-20 12:49:01
阅读次数:
298
Java内存模型是保障多线程安全的根基,这里仅仅是认识型的理解总结并未深入研究。
一、什么是内存模型,为什么需要它
Java内存模型(Java Memory Model)并发相关的安全发布,同步策略的规范、一致性等都来自于JMM。
1 平台的内存模型
在架构定义的内存模型中将告诉应用程序可以从内存系统中获得怎样的保证,此外还定义了一些特殊的指令(称为内存栅栏或栅栏),当...
分类:
编程语言 时间:
2014-06-20 11:36:41
阅读次数:
289
可见性Java内存模型(JMM)规定了jvm有主内存,主内存是多个线程共享的。当new一个对象的时候,也是被分配在主内存中,
每个线程都有自己的工作内存,工作内存存储了主存的某些对象的副本,当然线程的工作内存大小是有限制的。(1) 从主存复制变量到当前工作内存 (read and
load)(2) ...
分类:
编程语言 时间:
2014-06-11 10:30:35
阅读次数:
291
1 线程通信java.lang.Object提供两个用于线程通信的方法:wait()
执行该方法的线程释放对象锁.把该线程放到对象等待池中.notify(
执行该方法的线程唤醒在对象的等待池中的一个线程.JVM从对象等待池中随机选择一个线程,把它转移到对象锁池中,*t1线程 t2线程共同操作一个对象...
分类:
编程语言 时间:
2014-06-11 08:23:37
阅读次数:
273
ConcurrentHashMap
ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和HashTable功能相同但是线程安全的方法。ConcurrentHashMap可以做到读取数据不加锁,并且其内部的结构可以让其在进行写操作的时候能够将锁的粒度保持地尽量地小,不用对整个ConcurrentHashMap加锁。
ConcurrentHashM...
分类:
编程语言 时间:
2014-06-08 15:38:47
阅读次数:
326
从这一篇开始我们将看看Java 5之后给我们添加的新的对线程操作的API,首先看看api文档:java.util.concurrent包含许多线程安全、测试良好、高性能的并发构建块,我们先看看atomic包下的AtomicInteger.import java.util.concurrent.atomic.AtomicInteger;
public class AtomicIntegerTest...
分类:
移动开发 时间:
2014-06-07 11:37:37
阅读次数:
272
NHibernate的基本特征是完成面向对象的程序设计语言到关系数据库的映射,在NHibernate中使用持久化对象PO(Persistent Object)完成持久化操作,对PO的操作必须在Session管理下才能同步到数据库, 但是这里的Session并非指HttpSession,可以理解为基于ADO.NET的Connnection,Session是NHibernate运作的中心,对象的生命周...
分类:
编程语言 时间:
2014-06-05 05:31:46
阅读次数:
286
1.Collection
和 Collections
的区别。
Collection
是集合类的上级接口,继承于他的接口主要有
Set 和
List.
Collections 是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
2.HashMap
和 Hashtable
的区别。
HashMap 是...
分类:
编程语言 时间:
2014-06-05 01:25:20
阅读次数:
296
第一章 线程安全的对象生命期管理第二章 线程同步精要第三章
多线程服务器的适用场合与常用编程模型第四章
C++多线程系统编程精要1.(P84)11个常用的最基本Pthreads函数:2个:线程的创建和等待结束(join)。封装为muduo::Thread4个:mutex的创建、销毁、加锁、解锁。封装...
分类:
编程语言 时间:
2014-06-02 08:58:26
阅读次数:
434
临近毕业,准备复习一些java的基础,顺便整理一下知识编程基础1.Java的特性和优势:简单、面向对象可移植( write once ,run anywhere
)、高性能 ,分布式、动态性多线程安全健壮。2.Java的运行机制, 计算高级编程语言类型有:编译型、解释型. Java语言是这两种类型的...
分类:
编程语言 时间:
2014-06-01 11:41:26
阅读次数:
332