自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

jvm内存结构和垃圾回收

引言 java对象的实例都存放在堆里,有的对象会频繁的创建和消亡,生命周期短,而另外一些对象则相当长寿。jvm按照寿命的长短将对象存放于不同的堆区里并采用不同的垃圾回收策略,最大限度的保证内存的需求和降低gc的消耗。   堆的分区 堆分为三个代,分别是青年代(Young)、老年代(Old)和永久代(Perm)。            青年代(Young) 顾名思义,...

2011-08-09 13:31:00 73

ArrayList

ArrayList定义 顾名思义,ArrayList是对List的一种数组实现,部分代码如下: ......  private transient Object[] elementData; ...... elementData即为ArrayList的底层数据存储。   ArrayList的扩容 ArrayList的默认容量是10,如下: public ArrayList...

2011-08-08 17:55:49 193

LinkedList

LinkedList定义 LinkedList是对List的一种链表实现,定义如下: ...... private transient Entry<E> header = new Entry<E>(null, null, null); ...... header是一个非常普通双向链表,以下是双向链表节点的部分属性: E element; Entry<...

2011-08-08 17:47:08 95

HashSet与LinkedHashSet

HashSet定义 HashSet是在HashMap基础上实现的元素不重复的集合容器,定义如下: ...... private transient HashMap<E,Object> map; ...... 其底层数据结构就是HashMap,数据以KEY的形式保存与map中。HashSet有如下三个构造函数: public HashSet(int initialCapa...

2011-08-08 17:19:54 96

java线程同步

多线程同步方式 线程之间的同步需要用到“锁”来保护代码,以保证对于共享数据进行有序化读写。java中锁又分为独占锁和读写锁。独占锁是一种公平锁,任何时刻,最多只有一个线程(读或写)进入被保护的代码块;读写锁是一种非公平锁,包含了读锁和写锁,允许共享读,但读写互斥、写写互斥。在读多写少的场合使用读写锁比使用独占锁效率要高得多。   java多线程同步方式有四种:join,synchroni...

2011-08-08 15:46:53 68

java线程

多线程的目的 多线程有两个目的: 1、充分利用cpu资源 2、产生非阻塞 线程与进程的关系 进程是资源的分配单位,线程是CPU的调度单位。JVM启动后,一个JVM进程就启动了,该进程拥有自己的地址空间,并且该地址空间对进程内的所有线程都可见,线程按照时间片的方式竞争式分享CPU。   java线程的创建 1、继承Thread 2、实现Runnable 这两种...

2011-08-08 13:47:13 66

java Reference

java引用分类 java引用分为4类,强引用、软引用、弱引用和虚引用。这四种引用跟gc的行为密切相关,gc在垃圾回收时根据引用的类型会有所不同。   强引用 强引用我们用的最多,随便new一个实例,然后用一个引用指向该实例,这个引用就是强引用了。对于强引用指向的对象,在垃圾回收时绝不会回收,即使内存不足抛出OutOfMemoryError。   软引用 SoftRefere...

2011-08-08 12:58:07 75

TreeMap

TreeMap定义 与LinkedHashMap不同,TreeMap不是继承于HashMap,而是继承于AbstractMap,归根到底,TreeMap实现的不是hash算法,而是二叉树算法;底层的数据存储也不是数组,而是链表实现的二叉树。二叉树数据结构决定了该map是一个按key进行排序排序的map。定义如下: ...... private final Comparator<? ...

2011-08-08 11:46:46 60

LinkedHashMap

LinkedHashMap定义 LinkedHashMap继承于HashMap,本身就是一个HashMap,只是增加了一个双向链表按顺序保存KEY。     ......     private transient Entry<K,V> header;     private final boolean accessOrder;     ......   属性acce...

2011-08-08 10:41:51 59

HLS流协议

在youku和pplive上看视频时,用户可以可以选择“标清”、“高清”或“超清”,原理比较好理解,对于同一个片子,在视频库存储着标清、高清和超清3个码率的版本,3个版本均按照时长切割成相同数量的数据片,用户选择高清时,播放器就加载对应时长上的高清片,选择超清时就加载对应时长上的超清片。这样一来用户就可以根据自己当前的网络状况和视频流畅性选择合适的视频播放模式。但即便是这样,MP4协议还是有他的美...

2011-08-05 19:43:55 130

HashMap

HashMap的数据结构 HashMap的底层数据结构为数组+链表,数组的元素类型为Entry,Entry本身是一个链表结构。在HashMap中可以看到如下的实例变量:                    transient Entry[] table; 该变量即定义了HashMap的数据存储。 HashMap的数据容量 HashMap有一个经常...

2011-08-03 11:51:41 51

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除