最新文章列表

redis 简单动态字符串和链表实现原理

简单动态字符串: struct{    int len    int free    char buf[]; } 简单动态字符串比 C 中字符串的优点: 1.可以很快的获取字符串的长度 2.在进行字符串操作时,防止溢出 3.减少修改字符串时带来的频繁内存分配 链表: struct listNode{     listNode * prev;     listNode * next;    ...
一剪梅 评论(0) 有944人浏览 2019-02-28 16:22

谈谈分布式Session的几种实现方式,Session和Cookie的区别和联系以及Session的实现原理

一。分布式Session的几种实现方式 1.基于数据库的Session共享 2.基于NFS共享文件系统3.基于memcached 的session,如何保证 memcached 本身的高可用性?4. 基于resin/tomcat web容器本身的session复制机制5. 基于TT/Redis 或 jbosscache 进行 session 共享。 6. 基于cookie 进行session ...
aoyouzi 评论(0) 有6379人浏览 2016-07-09 14:26

HashSet的实现原理

1.HashSet概述:   HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。HashSet中不允许有重复元素,这是因为HashSet是基于HashMap实现的,HashSet中的元素都存放在HashMap的key上面,而value中的值都是统一的一个private static f ...
aoyouzi 评论(0) 有6456人浏览 2016-05-02 21:10

LinkedList实现原理

一、源码解析     1、 LinkedList类定义。   public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable   ...
aoyouzi 评论(0) 有782人浏览 2016-05-02 21:08

Java集合---ArrayList的实现原理

一、 ArrayList概述:   ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。       ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包 ...
aoyouzi 评论(0) 有1033人浏览 2016-05-01 21:15

PriorityQueue实现原理

PriorityQueue是个基于优先级堆的极大优先级队列。此队列按照在构造时所指定的顺序对元素排序,既可以根据元素的自然顺序来指定排序(参阅 Comparable),也可以根据 Comparator 来指定,这取决于使用哪种构造方法。优先级队列不允许 null 元素。依靠自然排序的优先级队列还不允许插入不可比较的对象(这样做可能导致 ClassCastException)。此队列的头是按指定排序方 ...
aoyouzi 评论(0) 有983人浏览 2016-05-01 21:14

Java并发包中的同步队列SynchronousQueue实现原理

介绍 Java 6的并发编程包中的SynchronousQueue是一个没有数据缓冲的BlockingQueue,生产者线程对其的插入操作put必须等待消费者的移除操作take,反过来也一样。 不像ArrayBlockingQueue或LinkedListBlockingQueue,SynchronousQueue内部并没有数据缓存空间,你不能调用peek()方法来看队列中是否有数据元素,因为 ...
aoyouzi 评论(0) 有2271人浏览 2016-05-01 21:13

CopyOnWrite实现原理

Java中提供了两个CopyOnWrite容器,分别是CopyOnWriteArrayList和CopyOnWriteArraySet。如果想要高效的使用这两个容器,我觉的首先要弄懂CopyOnWrite的原理。那么下面就先来谈谈什么是CopyOnWrite吧。 什么是CopyOnWrite CopyOnWrite即写时复制,该机制在于控制对数据的操作,什么时候需要对数据的操作进行控制呢,当 ...
aoyouzi 评论(0) 有1399人浏览 2016-05-01 21:11

Bootstrap开发漂亮的前端界面之实现原理

引:Bootstrap采用的是一个“响应式”设计。响应式Web 设计是一个让用户通过各种尺寸的设备浏览网站获得良好的视觉效果的方法。例如,您先在计算机 ...
ITsource源代码 评论(0) 有2684人浏览 2015-04-02 09:27

浅谈Thrift内部实现原理

Thrift由两部分组成:编译器(在compiler目录下,采用C++编写)和服务器(在lib目录下),其中编译器的作用是将用户定义的thrift文件编译生成对应语言的代码,而服务器是事先已经实现好的、可供用户直接使用的RPC Server(当然,用户也很容易编写自己的server)。同大部分编译器一样,Thrift编译器(采用C++语言编写)也分为词法分析、语法分析等步骤,Thrift使用了开源 ...
aoyouzi 评论(0) 有559人浏览 2014-07-27 09:16

原生js瀑布流及其原理

瀑布流目前已经不在是很时尚的词了,不过知道他实现的原理和具体实现过程还是值得我们好好学习的。   瀑布流效果目前在大多数网站中可以见到,参差不齐的多栏布局格式,是瀑布流的特点。瀑布流可以通过jQuery插件结合css代码来实现。        对于图片的展现,瀑布流的效果是高效而且独具吸引力的。瀑布流里延迟加载模式又避免了用户鼠标点击的翻页操作,瀑布流的主要特性便是错落有致,定宽而不定高的设 ...
xiaomiya 评论(0) 有2325人浏览 2014-04-02 17:22

【转】WebDriver理论

Selenium2.0 = Selenium1.0 + WebDriver(也就是说Selenium2.0合并了这两个项目)   Selenium1.0可以使用任何编程语言,但是有个先决条件就是必须支持HTTP库。Selenium1 ...
SariyaLee 评论(0) 有1534人浏览 2012-10-13 13:54

Java HashMap实现原理

1.HashMap的数据结构 数组的特点是:寻址容易,插入和删除困难;而链表的特点是:寻址困难,插入和删除容易。那么我们能不能综合两者的特性,做出 ...
焦志广 评论(0) 有1246人浏览 2012-09-04 17:31

最近博客热门TAG

Java(141745) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54919) .net(54785) Web(54514) 工作(54118) Linux(50905) Oracle(49875) 应用服务器(43289) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36424)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics