`
文章列表
 ibm文章:http://www.ibm.com/developerworks/cn/java/j-jtp06197.html
原文章地址:http://zhangshixi.iteye.com/blog/673789 转载只为学习记录 1. LinkedHashMap概述:    LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。   LinkedHashMap实现与HashMap的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序可以是插入顺序或者是访问顺序。   注意,此实现不是同步的。如果多个线程同时访问链接的哈希映 ...
原文章地址:http://zhangshixi.iteye.com/blog/674856 转载只为学习记录 1. ArrayList概述:    ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。   每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向ArrayList中不断添加元素,其容量也自动增长。自动增长会带来数据向新数组的重新拷贝,因此,如果可预知数据量的多少,可在构造Arra ...
原文章地址:http://zhangshixi.iteye.com/blog/673319 转载只为学习记录 1.    LinkedHashSet概述:    LinkedHashSet是具有可预知迭代顺序的Set接口的哈希表和链接列表实现。此实现与HashSet的不同之处在于,后者维护着一个运行于所有条目 ...
原文章地址:http://zhangshixi.iteye.com/blog/673143 转载只为学习记录 1.    HashSet概述:    HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。   2.    HashSet的实现:    对于HashSet而言,它是基于HashMap实现的,HashSet底层使用HashMap来保存所有元素,因此HashSet 的实现比较简单,相关HashSet的操作,基本上都是直接调用底层HashMap的相关方法来完成, Ha ...
 原文章链接:http://zhangshixi.iteye.com/blog/672697,转载只为学习记录 1.    HashMap概述:    HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。   2.    HashMap的数据结构:    在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个“链表散列”的数据结构,即数组和链表 ...
  Java线程:线程的同步与锁  转载:http://lavasoft.blog.51cto.com/62575/99155   一、同步问题提出   线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。 例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据。   public class Foo {     private int x = 100;     public int getX() {         return x;     }     public int fix(int y) {   ...
Java线程:线程状态的转换   SCJP5学习笔记   一、线程状态   线程的状态转换是线程控制的基础。线程状态总的可分为五大状态:分别是生、死、可运行、运行、等待/阻塞。用一个图来描述如下:   1、新状态:线 ...
Java线程:线程栈模型与线程的变量 此文java线程学习记录,转载文章 原文地址:http://lavasoft.blog.51cto.com/62575/99150 SCJP5学习笔记   要理解线程调度的原理,以及线程执行过程,必须理解线程栈模型。 线程栈是指某时刻时内存中线程调度的栈信息,当前调用的方法总是位于栈顶。线程栈的内容是随着程序的运行动态变化的,因此研究线程栈必须选择一个运行的时刻(实际上指代码运行到什么地方)。 下面通过一个示例性的代码说明线程(调用)栈的变化过程。   这幅图描述在代码执行到两个不同时刻1、2时候,虚拟机线程调用栈示意图。 当 ...
Java线程:创建与启动 此文java线程学习记录,转载文章 原文地址:http://lavasoft.blog.51cto.com/62575/99150 SCJP5学习笔记 一、定义线程 1、扩展java.lang.Thread类。 此类中有个run()方法,应该注意其用法: public void run() 如果该线程是使用独立的 Runnable 运行对象构造的,则调用该 Runnable 对象的 run 方法;否则,该方法不执行任何操作并返回。 Thread 的子类应该重写该方法。 2、实现java.lang.Runnable接口。 void run() ...
Java线程:概念与原理 此文java线程学习记录,转载文章 原文地址:http://lavasoft.blog.51cto.com/62575/99150 SCJP5学习笔记 一、操作系统中线程和进程的概念 现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。 线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,进程中的多个线程共享进程的内存 ...
Global site tag (gtag.js) - Google Analytics