看A、B两字段做组合索引的时候,谁在前面,谁在后面,如果A在前,那么单独使用A会有索引效果,单独使用B则没有,反之亦然。同理,使用like模糊查询时,如果只是使用前面%,那么有索引效果,如果使用双%号匹配,那么则无索引效果。
具体参照:JVM结构、GC工作机制详解,说到GC,记住两点:1.GC是负责回收所有无任何引用对象的内存空间。注意:垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身,2.GC回收机制的两种算法,a、引用计数法b、可达性分析算法,至于更详细的GC算法介绍,大家可以参考:JavaGC机制算法。
HashMap,LinkedHashMap,Hashtable,TreeMap。LinkedHashMap是HashMap的一个子类,保存了记录的插入顺序Hashtable和HashMap类似,它继承自Dictionary类,不同的是它不允许键或值为空。TreeMap实现SortMap接口,能够把它保存的记录根...
比如put操作时,有两个线程A和B,首先A希望插入一个key-value对到HashMap中,首先计算记录所要落到的桶的索引BucketIndex坐标,然后获取到该桶里面的Entry链表header头结点,此时线程A的时间片用完了,而此时线程B被调度得以执行,和线程A一样执行,只不过线程B成功将记录插到了桶里面...
1.当某个值过期后并不会从内存删除。(因此status统计时的curr_items有其信息)2.如果之前没有get过,将不会自动删除。如果(过期失效,没get过一次)又没有一个新值去占用他的位置时,当做空的chunk占用。3.当取其值(get)时,判断是否过期:如果过期返回空,且清空。(所以curr_items...
如何存放数据到memcached缓存中?(memcache内存分配机制)SlabAllocator内存分配机制:预先将内存分配成数个slab仓库,每个仓库再切出不同大小的chunk,去适配收到的数据。多余的只能造成浪费,不可避免。增长因子(Gracefactor):一般而言观察数据大小的变化规律设置合理的增长因...
memcached虽然称为“分布式”缓存服务器,但服务器端并没有“分布式”功能。每个服务器都是完全独立和隔离的服务。memcached的分布式,则是完全由客户端程序库实现的。这种分布式是memcached的最大特点。
Dao层又叫数据访问对象层,封装数据库的底层操作细节如数据库的连接及对数据的CRUD等操作,它不但屏蔽了数据存储最终介质的不同,也屏蔽了具体实现技术的不同。一般在其上还会有Service层来封装业务操作进行进一步的解耦。不用DAO层也能实现Dao层时的优点如自己封装一个类似Dao层功能的数据库操作模板类,可参考...
一个annotation类型被定义为runtimeretention后,它才是在运行时可见,当class文件被装载时被保存在class文件中的annotation才会被虚拟机读取。Annotation提供一种机制,将程序的元素如:类,方法,属性,参数,本地变量,包和元数据联系起来。这样编译器可以将元数据存储在C...
Java常见的数据结构有Collection和Map,其中Collection接口下包括List和Set接口,其下又有多个实现类如List下有ArrayList、LinkedList和Vector等实现类,Set下有HashSet、LinkedSet等实现类和SortedSet接口,HashSet下有Linke...