`
randy.chen
  • 浏览: 8597 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表
括号为是否线程安全 list: LinkedList(no) ArrayList(no) Vector(yes) Stack(yes) map: HashMap(no) LinkedHashMap(no) HashTable(yes) WeakHashMap TreeMap set: HashSet(no) LinkedHashSet(no) SortedSet TreeSet 最常用的好像为每行的前两个 特征: 1. Linked开头的适合快速插入,删除元素, linked维护元素插入的次序 2. Set 在 HashMap 的基础上实现, 所以Set结尾 ...
8.1 网络编程的基本概念,TCP/IP协议简介  8.1.1 网络基础知识   计算机网络形式多样,内容繁杂。网络上的 计算机要互相通信,必须遵循一定的协议。目前使用最广泛的网络协议是Internet上所使用的TCP/IP协议。   网络编程的目的就是指直接或间接地通过网络 协议与其他计算机进行通讯。网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面 ...
///// // ProducerConsumer.java // // @author 叶雨 // // 这是个很重要的Thread例子。需要注意的是: // wait() 必须在synchronized 函数或者代码块里面 // wait()会让已经获得synchronized 函数或者代码块控制权的Thread暂时休息,并且丧失控制权 // 这个时候,由于该线程丧失控制权并且进入等待,其他线程就能取得控制权,并且在适当情况下调用notifyAll()来唤醒wait()的线程。 // 需要注意的是,被唤醒的线程由于已经丧失了控制权,所以需要等待唤醒它的线程结束操 ...
转自:http://lavasoft.blog.51cto.com/62575/99153   Java线程:线程状态的转换   SCJP5学习笔记   一、线程状态   线程的状态转换是线程控制的基础。线程状态总的可分为五大状态:分别是生、死、可运行、运行、等待/阻塞。用一个图来描述如下:   1、新状态:线程对象已经创建,还没有在其上调用start()方法。   2、可运行状态:当线程有资格运行,但调度程序还没有把它选定为运行线程时线程所处的状态。当start()方法调用时,线程首先进入可运行状 态。在线程运行之后或者从阻塞、等待或睡眠状 ...
关键字: 集合类     Collection :List、SetMap :HashMap、 HashTable 如何在它们之间选择 一、Array , Arrays Java所有“存储及随机访问一连串对象”的做法,array是最有效率的一种。 1、 效率高,但容量固定且无法动态改变。 array还有一个缺点是,无法判断其中实际存有多少元 素,length只是告诉我们array的容量。 2、Java中有一个Arrays类,专门用来操作 array 。     arrays中拥有一组static函数, equals():比较两个ar ...
设计线程安全的类需要 考虑哪些因素? 1) 找出哪些变量 属于对象的状态 2) 找出哪些不变量 属于对象的状态 3) 使用合适的并发策略来管理对状态的访问考虑线程安全的需求 1) 同步范围多大? 整个方法? 一个大块? 小块? 2) 有哪些限制和先决条件? java内建的监视器模型, 通过锁定, 即在锁对象添加监视器, 一旦锁定释放, 监视器通知其他等待的线程. Object.wait/notity/notifyAll"代理"线程安全性 如果一个类合理的使用了一个已经实现线程安全的类, 就是把线程安全性交给内部对象" ...
在Java类库中出现的第一个关联的集合类是 Hashtable ,它是JDK 1.0的一部分。 Hashtable 提供了一种易于使用的、线程安全的、关联的map功能,这当然也是方便的。然而,线程安全性是凭代价换来的―― Hashtable 的所有方法 ...
NIO中Selector的工作原理 在JDK1.4.2中加入了对NIO的支持,掌握其中的Selector个人认为是能实现好NIO的关键。 Selector是用来获取注册在其中的channel的相关事件的发生,也就是accept,read和write。selector中有3个key set。 key set:包含代表所有在其中注册的channel,可以通过selector.keys()得到。 selected-key set:包含所有被检测到有关注的操作已经就绪的key,通过selector.selectedKeys得到。 cancelled-key set:包含所有已经被cance ...
Global site tag (gtag.js) - Google Analytics