有几个重要的常量: static final int DEFAULT_INITIAL_CAPACITY = 1 << 4;//默认的桶数组大小 static final int MAXIMUM_CAPACITY = 1 << 30;//极限值(超过这个值就将threshold修改为Integer.MAX_VALUE(此时桶大小已经是2的31次方了),表明不进行扩容了) static final float DEFAULT_LOAD_FACTOR = 0.75f;//负载因子(请阅读下面体会这个值的用处) (一)调用HashMap()构造方法 这个构造方法长这样: public HashMap() { this.loadFactor = DEFAULT_LOAD_FACTOR; //设置一个默认的负载因子,默认为0.75,下面说它有啥用 } 这就完了,然后用于hash的桶数组为null,当我们第一次put的时候,会到达这段代码: Node<K,V>[] tab; int n; 继续阅读 >>


高朴 16/03/08 23:08:05
连接文件:就是类似windows下面的快捷方式。 设备与设备文件:     与系统外设及存储相关的一些文件,通常集中在目录/dev中,通常又分为两种:     块设备文件:就是一些存储数据,以提供系统随机访问的接口设备。例如硬盘软盘等。你可以随机在硬盘的不同块读取,这种设备就是成组设备。/dev/sda     字符设备文件:也即一些串行端口的接口设备,例如鼠标,键盘。这些设备的特征是一次性读取,不能够截断输入。 套接字:数据接口文件,通常被用在网络上的数据连接。我们可以启动一个程序来监听客户端的请求,而客户端通过这个套接字来进行数据间的通信。/var/run linux文件扩展名:在window下,能被执行的文件扩展名通常是.com, .exe, .bat等,但在linux下,只要权限中有x,即代表这个文件可执行。当然,可执行不代表执行成功。我们通常可以通过扩展名来了解文件是什么种类的: *.sh:脚本或批处理文件  &nbs 继续阅读 >>


卢晓丹 16/03/07 13:55:54
JS创建对象的方法有很多,使用Object或者{}都可以,不过在需要创建多个对象的时候,这样的方法显得代码有些 […] 继续阅读 >>


陈志诚 16/03/07 11:37:09
Grunt是一个非常牛逼的前端代码构建工具,不过我才开始学习~~~话不多说。 首先需要有node运行环境才可以 […] 继续阅读 >>


陈志诚 16/03/07 07:40:53
堆存储:堆的数据实际是保存在数组中的,i结点的父结点下标就为(i – 1) / 2。它的左右子结点下标分别为2 * i + 1和2 * i + 2。如第0个结点左右子结点下标分别为1和2。 大根堆:根节点的值大于等于左右子树的值 小根堆:根节点的值小于等于左右子树的值 堆排序主要有几个操作步骤:1> 初始化堆:先将一个数组初始化为一颗完全二叉树,再利用筛选的方法逐层向上把所有子树调整为大根 作者:sunshine__me 发表于 2016/03/06 16:50:55 原文链接 https://blog.csdn.net/sunshine__me/article/details/50814080 阅读:400 继续阅读 >>


潘璐 16/03/06 16:50:55
生产者消费者模型就是任意个生产者和消费者线程,分别负责生产和消费。生产者负责向缓冲池中生产产品,消费者负责从缓冲池中取出产品消费。 我们需要对这种操作做什么控制呢? (1)放和取不能同时进行 (2)生产者不能向满了的缓冲池放置产品,消费者不能从已经空了的缓冲池中取产品 使用BlockingQueue 第一个需求:BlockingQueue是线程安全的,内部使用ReentrantLock来控制。 第二个需求:同样是在加锁后,内部判断缓冲池的大小,如果不满足条件,就一直等待条件成立 package concurrent; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; /** * Created by geekgao on 16-3-4. */ public class ProducerAndConsumer2 { public static void main(String[] 继续阅读 >>


高朴 16/03/06 14:09:29
1> 判断一个字符串是否为回文串?  例如 :"abcdcba"   直接在字符串头部和尾部放置两个指针(p,q),两个指针分别向中间移动,若遇见不想等的情况直接return false;循环条件设置为p 不区分大小写和其余字符判断一串字符串是否为回文字符串例如:"A man, a plan, a canal, Panama" 该字符串就是一个回文的字符串,除去逗号和 作者:sunshine__me 发表于 2016/02/28 01:09:17 原文链接 https://blog.csdn.net/sunshine__me/article/details/50757958 阅读:615 继续阅读 >>


潘璐 16/02/28 01:09:17
数据库在开发过程中是非常容易使用到的,在java的开发中也有一套工具方便我们对于数据库的连接和操作,那就是jdbc。 jdbc是一套连接数据库的工具,在使用时,通常包括以下步骤: 加载数据库驱动程序——jdbc作为工具并不包含在jdk中,我们在使用前需要去加载该类 获取数据库连接对象——如同访问网站一样,我们需要建立与数据库的链接 构造sql语句——sql语句为字符串,如同在sql客户端执行的语句是相同的 构造Statement实例——Statement实例是sql语句的载体 执行sql语句——sql语句由数据库执行,需要通过Statement载体发送给数据库再去执行 关闭连接——关闭Statement实例连接,关闭数据库连接对象的连接 下面是一段数据库插入操作的源码: /** * 插入操作 */ public static void insert(){ try { //加载数据库驱动程序 Class.forName(Driver); 继续阅读 >>


朱新全 16/02/26 09:49:23
1.想要水平平分布局,类似Android linearLayout里面weight均等于1平分 除了需要加入 bottomCell: { flexDirection: 'row', justifyContent: 'space-around', alignItems: 'center'} 还需要在外层View中加入如下代码: 这里{[{style1},{inlinexx}]}实际是style的混合写法 style={[styles.bottomCell,{width:Dimensions.get('window').width}]}>   继续阅读 >>


穆毅鹏 16/02/23 16:28:16
这里(IBM)给出了protobuf的基本介绍和原理http://www.ibm.com/developerworks/cn/linux/l-cn-gpb/安装 开始按照上面IBM给出的文档安装了protobuf3.0版本,但是装完后生成的 .pb.cc 和 .pb.h 代码无法编译链接。不知道是静态链接库的问题还是源码包的问题。于是按照下面这篇博客成功安装了 protobuf2.6.1 。 h 作者:lyh__521 发表于 2016/02/22 13:04:41 原文链接 https://blog.csdn.net/lyh__521/article/details/50716144 阅读:771 评论:2 查看评论 继续阅读 >>


刘瑜晗 16/02/22 13:04:41