自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

stl deque源码学习笔记

1.deque是一种优化了的、对序列两端元素进行添加和删除操作的基本序列容器。它允许较为快速地随机访问,但它不像vector 把所有的对象保存在一块连续的内存块,而是采用多个连续的存储块,并且在一个映射结构中保存对这些块及其顺序的跟踪。向deque 两端添加或删除元素的开销很小。它不需要重新分配空间,所以向末端增加元素比vector 更有效。2.deque的size()函数是常量级的:...

2012-09-04 09:24:56 139

stl list源码学习笔记

1.list中有一个unique函数,这个函数容易给人造成一种错觉:直接调用它就可以移除list中的重复元素。其实不然,unique函数实现如下:[code="c++"]template void list::unique() { iterator first = begin(); iterator last = end(); if (first...

2012-08-30 14:51:45 130

stl vector源码学习笔记

1.vector中的size()方法是常数量级的,其中 0 == size()和empty()是等价的;[code="c++"] size_type size() const { return size_type(end() - begin()); }[/code][code="c++"] bool empty() const { return begi...

2012-08-29 17:13:49 220

原创 如何判断文本是否是UTF8编码

UTF8格式的文本开头的三个字节是-17、-69和-65,主要读取文件或流的前三个字节,然后比对即可:[code="java"] /** * @param byte0 the first byte of file(or stream) * @param byte1 the second byte of file(or stream) * @param byte2 the ...

2012-08-27 16:44:10 425

原创 边界检查函数checkBounds

今天在看java.nio.Buffer的源码时,看到这样一个函数:[code="java"] static void checkBounds(int off, int len, int size) { if ((off | len | (off + len) | (size - (off + len))) < 0) throw new IndexOut...

2012-08-27 14:12:36 1714

原创 BufferedInputStream中的fill函数

BufferedInputStream内用有一个很重要的private函数fill(),这个函数的原型如下:[code=&quot;java&quot;] private void fill() throws IOException { byte[] buffer = getBufIfOpen(); if (markpos = buffer.length) /* n...

2012-08-24 16:59:44 447

FutureTask进入完成状态,会永远停止在这个状态

      今天在使用ScheduledExecutorService的时候,发现scheduleWithFixedDelay和scheduleAtFixedRate的参数都是Runnable,于是想到使用FutureTask封装一下:FutureTask&lt;String&gt; task = new FutureTask&lt;String&gt;(new ComputeTask(1000)...

2012-08-23 13:56:26 625

原创 n+1个范围是0~n的数字,找出所有重复的数字,O(n)基础上不用额外空间

n+1个范围是0~n的数字,找出所有重复的数字,O(n)基础上不用额外空间。算法思想:使用数组的值对应数组的下标,出现多对一的则说明重复。算法: 遍历数组,每次访问前判断数组是否访问过(访问过的会被置为负数); 如果没访问过,则以当前数组的值为数组下标,访问其值: 若为负数,则此元素被访问过,即数组下标在数组值中多次出现,重...

2012-08-21 17:08:10 532

空空如也

空空如也

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

TA关注的人

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