自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

walkerkalr的专栏

争取做一名合格的程序员

  • 博客(18)
  • 资源 (12)
  • 收藏
  • 关注

原创 深入理解Vector

简要介绍Vector也是基于数组实现的,是一个动态数组,其容量能自动增长。Vector是JDK1.0引入了,它的很多实现方法都加入了同步语句,因此是线程安全的(其实也只是相对安全,有些时候还是要加入同步语句来保证线程的安全),可以用于多线程环境。Vector 继承了AbstractList,实现了List;所以它是一个队列,支持相关的添加、删除、修改、遍历等功能。Vector没有实现S...

2018-07-26 21:17:38 364

原创 深入理解TreeSet

简要介绍TreeSet简介TreeSet 是一个有序的集合,它的作用是提供有序的Set集合。它继承于AbstractSet抽象类,实现了NavigableSet, Cloneable, java.io.Serializable接口。TreeSet 继承于AbstractSet,所以它是一个Set集合,具有Set的属性和方法。TreeSet 实现了NavigableSet接口,意味着...

2018-07-26 21:11:18 372

原创 深入理解TreeMap

简要介绍TreeMap 是一个有序的key-value集合,它是通过红黑树实现的。TreeMap 继承于AbstractMap,所以它是一个Map,即一个key-value集合。TreeMap 实现了NavigableMap接口,意味着它支持一系列的导航方法。比如返回有序的key集合。TreeMap 实现了Cloneable接口,意味着它能被克隆。TreeMap 实现了java.io...

2018-07-26 11:35:01 21627

原创 深入理解LinkedList

简要介绍LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。LinkedList 实现 List 接口,能对它进行队列操作。LinkedList 实现 Deque 接口,即能将LinkedList当作双端队列使用。LinkedList 实现了Cloneable接口,即覆盖了函数clone(),能克隆。L...

2018-07-26 11:31:17 173

原创 深入理解HashSet

简要介绍HashSet 是一个没有重复元素的集合。它是由HashMap实现的,不保证元素的顺序,而且HashSet允许使用 null 元素。HashSet是非同步的。如果多个线程同时访问一个哈希 set,而其中至少一个线程修改了该 set,那么它必须 保持外部同步。这通常是通过对自然封装该 set 的对象执行同步操作来完成的。如果不存在这样的对象,则应该使用 Collections....

2018-07-26 11:25:34 201

原创 深入理解HashMap

简要介绍HashMap是基于哈希表实现的,每一个元素都是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阈值)时,同样会自动增长。HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。HashMap的实现不是同步的...

2018-07-26 11:22:32 191

原创 集合快速失败检测机制(fail-fast)

简要介绍“快速失败”也就是fail-fast,它是Java集合的一种错误检测机制。当多个线程对集合进行结构上的改变的操作时,有可能会产生fail-fast机制。记住是有可能,而不是一定。例如:假设存在两个线程(线程1、线程2),线程1通过Iterator在遍历集合A中的元素,在某个时候线程2修改了集合A的结构(是结构上面的修改,而不是简单的修改集合元素的内容),那么这个时候程序就会抛出 Con...

2018-07-26 11:18:21 519

原创 Collections使用

public static void main(String[] args) { int arr[] = {1,3,5,4,6,2}; ArrayList<Integer> arrInt = new ArrayList<Integer>(); for(int i=0; i<arr.length;++i){ ...

2018-07-26 11:11:32 138

原创 Arrays使用

public static void main(String[] args) { int arr[] = {1,3,5,4,6,2}; printArr("before sort",arr); Arrays.sort(arr); printArr("after sort",arr); Arrays.fill(arr...

2018-07-26 11:08:43 212

原创 深入理解ArrayList

简要介绍ArrayList是基于动态数组实现的,其容量能自动增长。ArrayList继承了AbstractList,实现了List,提供了相关的添加、删除、修改、遍历等功能。ArrayList实现了RandmoAccess接口,即提供了随机访问功能。RandmoAccess是java中用来被List实现,为List提供快速随机访问功能。ArrayList实现了Cloneable接口,即...

2018-07-26 11:05:55 119

原创 C/C++基础学习代码(4)

程序1/************************构造和析构函数**********************/#include<vector>#include<iostream>struct Exampl{ //默认构造函数 Exampl() { std::cout << "exampl()" &lt...

2018-07-22 18:10:56 582

原创 C/C++基础学习代码(4)

程序1.//使用迭代器寻找和删除string对象中所有的大写字母#include <iostream>#include <string>using namespace std;int main(){ string str1("fhAsiSEFrh"); string::iterator first = str1.begin(); ...

2018-07-22 11:59:27 196

原创 C/C++基础学习代码(3)

程序1./**编写一个函数,其唯一的形参和返回值都是istream&类型。*该函数应一直读取流直到到达文件结束符为止*还应该将读到的内容输出到标准输出中,*以cin为实参来调用测试函数*/#include <iostream>using namespace std;istream& get(istream& in){ stri...

2018-07-22 11:06:02 217

原创 C/C++基础学习代码(2)

程序1./**编写程序定义一个vector对象,其每个元素都是指向string类型的指针,*读取该vector对象,输出每个string的内容及其相应的长度。*/#include <iostream>#include <vector>#include <string>using namespace std;int main(){ ...

2018-07-22 10:31:43 195

原创 C/C++基础学习代码(1)

/**编写程序由从标准输入的设备读入的元素数据建立一个int型vector对象,*然后动态创建一个与该vector对象大小一致的数组,*把vector对象的所有元素复制给新数组。*/#include <iostream>#include <vector>using namespace std;int main(){ vector

2018-07-22 10:05:04 6582 1

原创 C/C++之内存函数管理使用

C/C++之内存函数管理使用malloc()、free()、calloc()、realloc()函数在头文件stdlib.h中malloc()函数 原型: void *malloc(size_t size);malloc()的参数是需要分配的内存字节数。 如果内存池中的可用内存可以满足这个需求,maollc就返回一个指向被分配的内存块起始位置的指针(指针类型为voi...

2018-07-21 21:08:56 200

原创 C/C++学习之指针

C++学习之指针什么是指针指针:一个变量的地址称为该变量的指针。 指针变量:用来存放一个变量的地址的变量称为指针变量。但常把指针变量简称为指针。指针的用法//指针p被初始化,&为取址符,表明p的初值为n的地址&n。int n;int *p = &n;//指针q被赋值,q的初值为&n,则*q等于n;符号*为指针运算符。int *q;q ...

2018-07-21 20:29:55 129

原创 Linux常用命令

Linux命令1.用户创建使用useradd命令使用方法:useradd 选项 用户名其中各选项含义如下:-c comment 指定一段注释性描述。-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。-g 用户组 指定用户所属的用户组。-G 用户组,用户组 指定用户所属的附加组。-s Shell文件 指定用户的登录Shell。代码:#...

2018-07-21 16:56:34 161

Head First 设计模式(中文版).pdf

Head First 设计模式(中文版).pdf http://blog.csdn.net/walkerkalr

2014-07-28

深入理解Nginx(Nginx模块开发与架构解析).pdf

深入理解Nginx(Nginx模块开发与架构解析).pdf http://blog.csdn.net/walkerkalr

2014-07-28

MYSQL必知必会.pdf

MYSQL必知必会.pdf http://blog.csdn.net/walkerkalr

2014-07-28

深度探索C++对象模型.pdf

深度探索C++对象模型.pdf http://blog.csdn.net/walkerkalr

2014-07-28

数据结构与算法分析C++语言描述.pdf

数据结构与算法分析C++语言描述.pdf http://blog.csdn.net/walkerkalr

2014-07-28

UNIX环境高级编程_第二版中文.pdf

UNIX环境高级编程_第二版中文.pdf http://blog.csdn.net/walkerkalr

2014-07-28

STL源码剖析.pdf

STL源码剖析.pdf http://blog.csdn.net/walkerkalr

2014-07-28

C++必知必会.pdf

C++必知必会.pdf http://blog.csdn.net/walkerkalr

2014-07-28

Linux高性能服务器编程.pdf

Linux高性能服务器编程http://blog.csdn.net/walkerkalr

2014-07-28

空空如也

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

TA关注的人

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