摘要: 关于重排序 重排序通常是编译器或运行时环境为了优化程序性能而采取的对指令进行重新排序执行的一种手段。 重排序分为两类:编译期重排序和运行期重排序,分别对应编译时和运行时环境。 As-if-serial语义 as-if-serial语义的意思是,所有的动作(Action)都可以为了优化而被重排序,但是 阅读全文
posted @ 2015-07-31 19:11 邴越 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 1、查看SSH客户端版本 有的时候需要确认一下SSH客户端及其相应的版本号。使用ssh -V命令可以得到版本号。需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用OpenSSH: $ ssh -V OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 阅读全文
posted @ 2015-07-22 10:55 邴越 阅读(48744) 评论(0) 推荐(1) 编辑
摘要: 如何查看执行SQL的耗时 使用show profiles分析sql性能。 Show profiles是5.0.37之后添加的,要想使用此功能,要确保版本在5.0.37之后。 查看数据库版本 mysql> select version(); profile默认是不打开的 mysql> show pro 阅读全文
posted @ 2015-07-14 14:42 邴越 阅读(2190) 评论(0) 推荐(0) 编辑
摘要: 一、字典树的概念 Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树。与二叉查找树不同,Trie树的键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串 阅读全文
posted @ 2015-07-12 15:10 邴越 阅读(8963) 评论(0) 推荐(2) 编辑
摘要: 关于倒排索引 搜索引擎通常检索的场景是:给定几个关键词,找出包含关键词的文档。怎么快速找到包含某个关键词的文档就成为搜索的关键。这里我们借助单词——文档矩阵模型,通过这个模型我们可以很方便知道某篇文档包含哪些关键词,某个关键词被哪些文档所包含。单词-文档矩阵的具体数据结构可以是倒排索引、签名文件、后 阅读全文
posted @ 2015-07-04 20:20 邴越 阅读(17740) 评论(0) 推荐(6) 编辑
摘要: 一、Memcached Memcached的优点:Memcached可以利用多核优势,单实例吞吐量极高,可以达到几十万QPS(取决于key、value的字节大小以及服务器硬件性能,日常环境中QPS高峰大约在4-6w左右)。适用于最大程度扛量。支持直接配置为session handle。Memcach 阅读全文
posted @ 2015-06-17 10:22 邴越 阅读(3861) 评论(0) 推荐(0) 编辑
摘要: 生产者-消费者问题 生产者消费者问题也称作有界缓冲区(bounded-buffer)问题,是操作系统中一个经典的线程同步问题,问题描述如下:生产者在生产产品提供给若干个消费者去消费,为了使生产者和消费者能并发执行,在两者之间设置一个具有多个缓冲区,生产者将它生产的产品放入缓冲区中,消费者可以从缓冲区 阅读全文
posted @ 2015-06-16 10:27 邴越 阅读(961) 评论(0) 推荐(0) 编辑
摘要: 1. 引言 合理利用线程池能够带来三个好处。 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。 第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性, 阅读全文
posted @ 2015-06-13 11:41 邴越 阅读(4349) 评论(0) 推荐(0) 编辑
摘要: HashMap和Hashtable的区别 HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全性,同步(synchronization),以及速度。 要注意的一些重要术语: 1) sychronized意味着在一次仅有一个线程能够更 阅读全文
posted @ 2015-06-02 18:37 邴越 阅读(8594) 评论(1) 推荐(3) 编辑
摘要: 浏览器中输入网址访问资源一般都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交。Http协议定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET、POST、PUT、DELETE。 URL全称是资源描述符,可以认为一个URL地址用于描 阅读全文
posted @ 2015-05-28 17:06 邴越 阅读(2119) 评论(0) 推荐(1) 编辑
摘要: 关于动态代理和静态代理 当一个对象(客户端)不能或者不想直接引用另一个对象(目标对象),这时可以应用代理模式在这两者之间构建一个桥梁--代理对象。 按照代理对象的创建时期不同,可以分为两种: 静态代理:事先写好代理对象类,在程序发布前就已经存在了; 动态代理:应用程序发布后,通过动态创建代理对象。 阅读全文
posted @ 2015-05-22 16:10 邴越 阅读(8587) 评论(0) 推荐(3) 编辑
摘要: 关于范式Normal Form范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。数据库的设计范式是数据库设计所需要满足的规范。只有理解数据库的设计范式,才能设计出高效率、优雅的数据库,否则可能会设计出错误的数据库。目前关系数据库有六种范式:第一范式(1NF)、第二范... 阅读全文
posted @ 2015-05-21 17:25 邴越 阅读(5715) 评论(1) 推荐(2) 编辑
摘要: 命令模式将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化, 并且可以对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 概念描述 把命令的调用者与执行者分开,使双方不必关心对方是如何操作的。比如有一组文件操作的命令:新建文件、复制文件、删除文件。如果把这三个操作都封装成一个命令 阅读全文
posted @ 2015-05-20 10:26 邴越 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 线程安全 首先说明一下对线程安全的讨论,哪种情况我们可以称作线程安全?网上对线程安全有很多描述,我比较喜欢《Java并发编程实战》给出的定义,“当多个线程访问某个类时,不管运行时环境采用何种调度方式,或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为, 阅读全文
posted @ 2015-05-19 16:21 邴越 阅读(14702) 评论(3) 推荐(12) 编辑
摘要: HTTP协议 HTTP协议主要应用是在服务器和客户端之间,客户端接受超文本。 服务器按照一定规则,发送到客户端(一般是浏览器)的传送通信协议。与之类似的还有文件传送协议(file transfer protocol,FTP),简单邮件传送协议(simple mail ttransfer protoc 阅读全文
posted @ 2015-05-13 15:48 邴越 阅读(25924) 评论(3) 推荐(8) 编辑