摘要: 举例来说,有一个字符串"DSFFKFJD KFJLKFDLJFJ IWWJKJFJIA",我想知道,里面是否包含另一个字符串"JFJI",有的话就返回在原字符串中的下标 先看看Java编码的实现 时间复杂度最坏情况下为 O((n−m)∗m). 具体说说KMP实现的过程,Knuth-Morris-Pr 阅读全文
posted @ 2017-01-20 16:53 孟凡柱的专栏 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 什么是OAuth授权? 一、什么是OAuth协议 OAuth(开放授权)是一个开放标准。 允许第三方网站在用户授权的前提下访问在用户在服务商那里存储的各种信息。 而这种授权无需将用户提供用户名和密码提供给该第三方网站。 OAuth允许用户提供一个令牌给第三方网站,一个令牌对应一个特定的第三方网站,同 阅读全文
posted @ 2017-01-18 17:37 孟凡柱的专栏 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 本文仅介绍摘要算法、对称加密算法、非对称加密算法的使用场景和使用方法。 1.数字摘要 说明:数字摘要是将任意长度的消息变成固定长度的短消息,它类似于一个自变量是消息的函数,也就是Hash函数。数字摘要就是采用单向Hash函数将需要加密的明文“摘要”成一串固定长度(128位)的密文这一串密文又称为数字 阅读全文
posted @ 2017-01-18 16:09 孟凡柱的专栏 阅读(1499) 评论(0) 推荐(0) 编辑
摘要: Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较: 具体为什么会出现上面的结论,以下为收集到的资料: 1、数据类型支持不同 与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多。最为常用的数据类型 阅读全文
posted @ 2017-01-12 15:45 孟凡柱的专栏 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 附加:Java 4种线程池介绍请查看 谈谈new Thread的弊端及Java四种线程池的使用 当我们通过Executor提交一组并发执行的任务,并且希望在每一个任务完成后能立即得到结果,有两种方式可以采取: 方式一: 通过一个list来保存一组future,然后在循环中轮训这组future,直到每 阅读全文
posted @ 2017-01-11 15:16 孟凡柱的专栏 阅读(1946) 评论(0) 推荐(0) 编辑
摘要: 1.new Thread的弊端执行一个异步任务你还只是如下new Thread吗? 说说弊端: a. 每次new Thread新建对象性能差。b. 线程缺乏统一管理,可能无限制新建线程,相互之间竞争,及可能占用过多系统资源导致死机或oom。c. 缺乏更多功能,如定时执行、定期执行、线程中断。相比ne 阅读全文
posted @ 2017-01-11 15:12 孟凡柱的专栏 阅读(30867) 评论(0) 推荐(1) 编辑
摘要: 内容参考: 构建高性能WEB站点.pdf 一、吞吐率 我们一般使用单位时间内服务器处理的请求数来描述其并发处理能力。称之为吞吐率(Throughput),单位是 “req/s”。吞吐率特指Web服务器单位时间内处理的请求数。 比如Apache 的 mod_status 模块提供的如下统计 另一种描述 阅读全文
posted @ 2017-01-11 11:00 孟凡柱的专栏 阅读(15568) 评论(0) 推荐(3) 编辑
摘要: 1.echo $JAVA_HOME 使用$JAVA_HOME的话能定位JDK的安装路径的前提是配置了环境变量$JAVA_HOME,否则如下所示,根本定位不到JDK的安装路径 [root@localhost ~]# java -version java version "1.7.0_65" OpenJ 阅读全文
posted @ 2017-01-10 18:14 孟凡柱的专栏 阅读(35733) 评论(0) 推荐(1) 编辑
摘要: 1.为什么需要索引(Why is it needed)? 当数据保存在磁盘类存储介质上时,它是作为数据块存放。这些数据块是被当作一个整体来访问的,这样可以保证操作的原子性。硬盘数据块存储结构类似于链表,都包含数据部分,以及一个指向下一个节点(或数据块)的指针,不需要连续存储。记录集只能在某个关键字段 阅读全文
posted @ 2017-01-10 10:28 孟凡柱的专栏 阅读(468) 评论(0) 推荐(0) 编辑
摘要: 注:文章示例由上而下,安全级别越高。 示例1. 问题是:HashMap 不是线程安全的,因此采用的是将compute方法进行同步。但是这样只能保证每次只有一个线程执行compute方法,有明显的可伸缩性问题。 示例2. 示例2问题在于:如果某个线程启动了一个开销很大的计算,而其他线程并不知道这个计算 阅读全文
posted @ 2017-01-09 18:56 孟凡柱的专栏 阅读(340) 评论(0) 推荐(0) 编辑