[转] https://blog.csdn.net/fan2012huan/article/details/51097331 首先看下该方法的定义以及被使用的地方 static final int tableSizeFor(int cap) { int n = cap - 1; n |= n >>> 1; n |= n >>> 2; n |= n >>> 4; n |= n >>> 8; n |= n >>> 16;…
Java的Object类中有一个hashCode()方法: public final native Class<?> getClass(); public native int hashCode(); public boolean equals(Object obj) { return (this == obj); } public String toString() { return getClass().getName() + "@" + Integer.toHexSt…
最近回顾了下HashMap的源码(JDK1.7),当读到putAll方法时,发现了之前写的TODO标记,当时由于时间匆忙没来得及深究,现在回顾到了就再仔细思考了下 @Override public void putAll(Map<? extends K, ? extends V> m) { int numKeysToBeAdded = m.size(); if (numKeysToBeAdded == 0) return; // TODO 这里的numKeysToBeAdded是不是应该要th…
摘自:http://bbs.csdn.net/topics/310247836 GetBuffer()主要作用是将字符串的缓冲区长度锁定   CString::GetBuffer有两个重载版本: (1)LPTSTR GetBuffer( ); (2)LPTSTR GetBuffer(int nMinBufferLength) 在第二个版本中,当设定的长度小于原字符串长度时,nMinBufLength = nOldLen, 该参数会被忽略,不分配内存,指向原CString:当设定的长度大于原字符串…
selected类是要在点击后添加上去的新样式,在点击后,发现没有变化,打开开发者工具,发现selected类已经添加成功了. 在这里没有显示成功的主要原因是后添加的样式表优先级更低,我暂时不清楚具体的原因,先这样理解,tr.parent样式多了一个tr,更具体一些,使得它的权重更高, 后添加的selected类中不管是已有样式中的属性还是新的属性,都无法实现效果. 解决方案: 1.在selected类的属性值后加上!important 2.改为tr.parent…
sheet.setDefaultRowHeight((short) (2 * 256)); //设置默认行高,表示2个字符的高度 sheet.setDefaultColumnWidth(17);    //设置默认列宽,实际上回多出2个字符,不知道为什么 这只poi组件中的两个方法,需要注意的是,必须先设置列宽然后设置行高,不然列宽没有效果…
  在分析了hashCode方法和equals方法之后,我们对hashCode方法和equals方法的相关作用有了大致的了解.在通过查看HashMap类的相关源码的时候,发现其中存在一个int hash(int h)的方法.在HashMap中该方法的源码如下: static int hash(int h) { // This function ensures that hashCodes that differ only by // constant multiples at each bit…
为了统计字符串中每种字符出现的频率,使用HashMap这种数据结构.其中,字符作为Key,出现的频率作为Value. 基本算法为: 1. 将字符串分成字符数组 2. (1)如果HashMap中的Key没有正在读取的字符,则会插入一个新的Key,赋值为1. (2)如果正在读取的字符已经存在于HashMap的Key中,则会将其Value的值+1. 3. 一直读取到字符数组的最后一位形成最终的HashMap. 关于HashMap中getOrDefault(K, V)方法: 如果HashMap中含有方法…
在非常多情况下,java须要调用其它语言的代码,比方c的代码.那么这个时候java中native方法就发挥作用了.以下就介绍native方法的使用. 一.JNI使用流程 a.编写带有native声明的方法的Java类 b.使用javac命令编译编写的Java类 c.使用java -jni ****来生成后缀名为.h的头文件 d.使用其它语言(C.C++)实现本地方法 e.将本地方法编写的文件生成动态链接库 二.实践 1.编写类代码 package com.sunny.demo; public c…
1,多进程中的方法join()的作用: 感知一个子进程的结束,将异步的程序改为同步 #join() import time from multiprocessing import Process def func(arg1,arg2): print('*'*arg1) time.sleep(5) print('*'*arg2) if __name__ == '__main__': p = Process(target=func,args=(10,20)) p.start() p.join() #…
关于PATH的作用:PATH说简单点就是一个字符串变量,当输入命令的时候LINUX会去查找PATH里面记录的路径.比如在根目录/下可以输入命令ls,在/usr目录下也可以输入ls,但其实ls这个命令根本不在这个两个目录下,事实上当你输入命令的时候LINUX会去/bin,/usr/bin,/sbin等目录下面去找你此时输入的命令,而PATH的值恰恰就是/bin:/sbin:/usr/bin:…….其中的冒号使目录与目录之间隔开. 关于新增自定义路径:现在假设你新安装了一个命令在/usr/locar…
1. Arrays工具类中asList()方法的使用 public static <T> List<T> asList(T... a): 把数组转成集合 注意事项: 虽然可以把数组转成集合,但是集合的长度不能改变. 2. 代码示例: (1) package cn.itcast_03; import java.util.Arrays; import java.util.List; /* * public static <T> List<T> asList(T.…
有时候,我们在onCreate函数中调用ScrollBy函数.ScrollTo函数,会出现无效果的情况 public class ShowTraffic extends Activity ScrollView mScrollView = null; @Override    protected void onCreate(Bundle savedInstanceState)    {       super.onCreate(savedInstanceState); setContentView…
Angular js中的工具方法 angular.isArray angular.isDate angular.isDefined angular.isUndefined angular.isFunction angular.isNumber angular.isObject angular.isString angular.isElement angular.version angular.equals(a,b)      //只要是相同的元素返回true,不同返回假 angular.forE…
本文正式地址:http://www.xiabingbao.com/jquery/2015/07/25/jquery-judge-type 在javascript中对变量类型的判断中,我们讲解了了jquery中$.type()实现的原理.当然,jquery除了提供$.type的工具方法外,还提供了几个其他的工具方法:$.isFunction(), $.isArray(), $.isWindow(), $.isNumeric()等.这几个方法从方法名上就能看出其用途来,下面我们来一一讲解这几个方法在…
JAVA中toString方法的作用 因为它是Object里面已经有了的方法,而所有类都是继承Object,所以“所有对象都有这个方法”. 它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法 总而言之,它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一个方法 回答补充: 写这个方法的用途就是为了方便操作,所以在文件操作里面可用可不用 例子1:   public…
jquery-12 jquery中的工具方法有哪些 一.总结 一句话总结:四个较常用方法.1.isArray();2.isFunction();3.isEmptyObejct();4.trim(); 1.jquery的工具方法的格式是什么样的? $.加方法名 4 str=$.param(obj); 24 str=$('form').serialize(); 2.将数据转成url参数的两个方法是哪两个? param把json对象转成url参数 serialize把表单的属性和值转成url参数字符串…
之前一直不是很理解为什么要重写HashCode和Equals方法,才只能作为键值存储在HashMap中.通过下文,可以一探究竟. 首先,如果我们直接用以下的Person类作为键,存入HashMap中,会发生发生什么情况呢? public class Person { private String id; public Person(String id) { this.id = id; } } import java.util.HashMap; public class Main { public…
查看entrySet()源码 /** * Returns a {@link Set} view of the mappings contained in this map. * * <p>The set's iterator returns the entries in ascending key order. The * sets's spliterator is * <em><a href="Spliterator.html#binding">l…
PHP代码 lazycms::$sysname 第一次见到这种表现方式,请问是双冒号什么意思 答:直接属类的方法或属性.也就是static 静态方法或属性的使用.域运算符,一般用于在B类对象中使用A类对象的属性/方法! 本文描述 PHP V5 中对象和类的基础知识,从最基本的概念一直讲到继承,主要针对经验丰富的面向对象程序员和尚未接触过对象的读者.作为 PHP 程序员,您肯定知道变量和函数.但类和对象可能就是另一回事.不定义单个类,就可以创建完美的系统.但即使您决定在自己的代码中不使用面向对象的…
目录 常用工具方法 判断数据类型的方法 Ajax操作 $.ajax 简便写法 Ajax事件 返回值 JSONP 文件上传 参考链接 jQuery函数库提供了一个jQuery对象(简写为$),这个对象本身是一个构造函数,可以用来生成jQuery对象的实例.有了实例以后,就可以调用许多针对实例的方法,它们定义jQuery.prototype对象上面(简写为$.fn). 除了实例对象的方法以外,jQuery对象本身还提供一些方法(即直接定义jQuery对象上面),不需要生成实例就能使用.由于这些方法类…
这里整理的是jQuery源码中一些比较晦涩难懂的.内部的.最底层的工具方法,它们多为jQuery的上层api方法服务,目前包括: jQuery.access jQuery.access: function( elems, fn, key, value, chainable, emptyGet, pass ) 在jQuery的众多api方法中,许多方法都有一个非常重要和常见的特征:重载,简单来讲即参数的不同决定了方法的功能不同 例如我们最常使用的几个:jQuery.fn.html().jQuery…
首先,想要明白hashCode的作用,必须要先知道Java中的集合. 总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set. 前者集合内的元素是有序的,元素可以重复:后者元素无序,但元素不可重复. 那么这里就有一个比较严重的问题了:要想保证元素不重复,可两个元素是否重复应该依据什么来判断呢? 这就是Object.equals方法了.但是,如果每增加一个元素就检查一次,那么当元素很多时,后添加到集合中的元素比较的次数就非常多了. 也就是说,如果集合中现在已经有…
使用Memcache在PHP中调试方法的介绍及应用 如果我们在网络开发中,特别是大访问量的web项目开发中,为了提高响应速度,减少数据查询运算,那么我们都会选用memcahce.首先我们必须要安装,接下来如何使用memcache,在这里介绍下在linux下安装和windows下安装如下及配置: 一. linux下的Memcache安装: 1.下载memcache的linux版本,注意 memcached 用 libevent 来作事件驱动,所以要先安装有 libevent. 2. 安装 pecl…
一.hashcode是什么 要理解hashcode首先要理解hash表这个概念 1. 哈希表 hash表也称散列表(Hash table),是根据关键码值(Key value)而直接进行访问的数据结构.也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度.这个映射函数叫做散列函数,存放记录的数组叫做散列表. 给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Has…
C#.net 提供的4个关键字,in,out,ref,paras开发中会经常用到,那么它们如何使用呢? 又有什么区别? 1 in in只用在委托和接口中: 例子: 1 2 3 4 5 6 7 8 9 10 11 12        //测试模型        class Model         {                    public int a { get; set; }                    public Model(int a)             {…
说明:本文中所谈论的HashMap基于JDK 1.8版本源码进行分析和说明. HashMap的put方法算是HashMap中比较核心的功能了,复杂程度高但是算法巧妙,同时在上一版本的基础之上优化了存储结构,从链表逐步进化成了红黑树,以满足存取性能上的需要.本文逐行分析了put方法的执行流程,重点放在了对整个流程的把握,对于红黑树的执行逻辑只是点到为止,其实HashMap中还有很多细节算法值得分析和学习,本文没有涉及,算是抛砖引玉吧,后面抽空把其他的地方分析一番. 源码阅读与分析 1.HashMa…
jQuery函数库提供了一个jQuery对象(简写为$),这个对象本身是一个构造函数,可以用来生成jQuery对象的实例.有了实例以后,就可以调用许多针对实例的方法,它们定义jQuery.prototype对象上面(简写为$.fn). 除了实例对象的方法以外,jQuery对象本身还提供一些方法(即直接定义jQuery对象上面),不需要生成实例就能使用的静态方法.由于这些静态的方法类似“通用工具”的性质,所以我们把它们称为“工具方法”(utilities). 工具方法多为静态的. 常用的工具方法…
hashCode及HashMap中的hash()函数   一.hashcode是什么 要理解hashcode首先要理解hash表这个概念 1. 哈希表 hash表也称散列表(Hash table),是根据关键码值(Key value)而直接进行访问的数据结构.也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度.这个映射函数叫做散列函数,存放记录的数组叫做散列表. 给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则…
二进制基础回顾 以下操作相对正整数的二进制而言,对非整数不太适用. 二进制转十进制   在二进制中,位权是2的幂,所以每一位所代表的权值从右到左分别为2^(1-1) .2^(2-1) .... . 2^(n-1) ,第n位的权值为2的(n-1)次幂. 所以: 100101 = 2^5 + 2^2 + 2^0 = 37. 二进制位移操作   当一个二进制数左移一位,右补"0"的时候,这个数每一位的权值就变成了原来的两倍,那么整个数值也扩大了2倍:当这个数左移n位的时候,这个数就扩大到原来…