- 博客(10)
- 收藏
- 关注
原创 对Redis的深入理解与解析
最近换了项目中,突然碰到redis了,对他的理解很有限,这里做个分享。1.Redis的连接池(JedisPool)说到连接池,我的第一反应是这可能跟数据源的C3P0类似。结果一查,恩,差不多。Redis是一种C/S的模式,但是频繁的链接会导致花费在底层链接上的时间大大增加(因为Redis是基于内存的,读取效率高,假设一次数据交互总共用时30ms,超高性能的Redis数据库处理数据所花的时间可能不到...
2018-04-30 22:12:14 789
原创 观察者模式的深度解析
今天,面试的时候,面试官让我手写观察者,实现zk的订阅和取消订阅以及及时推送的功能!!!妈啊,写了2页纸的代码,结果只对了60%.......恶心到家了。。。。观察者模式的定义:在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。(即为发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。)观察者模式仔细分:可以分为4个角色...
2018-04-18 23:33:23 311
转载 Memcache线上常见问题(缓存雪崩、缓存无底洞、永久数据被踢)
缓存雪崩现象一般是由于某个节点失效,导致其它节点的缓存命中率下降,缓存中缺失的数据直接去数据库查询,短时间内造成数据库服务器崩溃。或者是由于缓存周期性失效,比如设置每隔6个小时失效一次,那么每6个小时将会有一个请求峰值,严重的话,也会导致数据库崩溃。重启DB后,短期内又被压垮,但缓存又会恢复一点,DB反复重启多次,直至缓存重建完毕,才能恢复稳定。如果小网站,平时访问量不大的情况下,数据缓存的时间不...
2018-04-17 08:26:07 309
原创 MEMCACHE的内存管理和删除策略
最近在看MEMCACHE的缓存机制,发现有些东西不是很明白,追加一篇博客。一.内存碎片在不断的申请和释放内存的时候,实际上会有一些很小的碎片空间没有使用价值,那么这就是内存碎片(就好像GC在复制-清除的时候,会出现内存碎片的不足,是同一个道理)。二.MEMCACHE的内存管理1.内存管理的机制是:slab-allocator:就是说,会将内存划分成多个的slab-class的仓库,而每个仓库又含有...
2018-04-15 22:11:13 1039
原创 MEMCACHE缓存的深度解析
笔记上传:一:Memcahce的深度解析:1.Memcache是什么:Memcache是一套分布式的高速缓存系统,最早是为了LiveJournal服务的,目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著。2.MemCache的工作流程如下:它采用了c/s的模式,先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不...
2018-04-15 10:53:33 1406
原创 SOAP协议的深度解析
笔记上传:1.soap与http的区别:HTTP只负责把数据传送过去,不会管这个数据是XML、HTML、图片、文本文件或者别的什么。( HTTP就是邮局的协议,他们规定了你的信封要怎么写,要贴多少邮票等。。。。 )而SOAP协议则定义了怎么把一个对象变成XML文本,在远程如何调用等 (SOAP就是你们之间交流的协议,负责把你所需要表达的意思写在信纸上,同时也负责让对方能够看得懂你的信。)2.s...
2018-04-14 18:30:02 6582
原创 HTTP协议与FTP协议的区别
项目中应用到ftp,将ftp的笔记上传一下。简单的说:HTTP是Hyper Text Transfer Protocol,超文本传输协议;面向网页的。FTP是File Transfer Protocol,文件传输协议;面向文件的。1.FTP(1)FTP比HTTP复杂FTP和HTTP一样都是Internet上广泛使用的协议,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂...
2018-04-14 16:56:58 13773
原创 设计模式 代理模式和装饰者模式的区别
设计模式中有很多种,这里介绍下面试中可能会被问到的一个问题:代理模式和装饰者模式的区别。先看一下代理模式的设计图:再看一下代理模式的代码:第一步:定义一个接口:package com.interview.designModel.agentModel;/** * 第一步:定义一个接口 * @author EdwardShen * * 2018年4月13日 */public interf...
2018-04-13 08:42:02 615 1
原创 高并发中多线程的通信方式
多线程需要通信的原因:对于系统中的各个子线程来说,如果要完成一个系统功能,同样需要各个线程的配合,这样就少不了线程之间的通信与协作。多线程中的通信方式:有4种:while循环,通过synchronize配合final 和native修饰的wait(),notify(),notifyAll(), 管道流,工具类1).while循环:通过循环判断是否达到某个条件,再执行代码:import java....
2018-04-03 23:48:04 790
原创 进程之间的通信方式
进程之间需要通信的原因:即使只有一个用户发出要求,也可能导致一个操作系统中多个进程的运行,进程之间必须互相通话。进程之间的通信方式有6种:管道和有名管道,信号,消息队列,共享内存,信号量,套接字 (记忆方式:管信消,共信套)1.管道及有名管道: 前者:具有亲缘关系的父子进程间的通信 后者:有无亲缘关系均可。2.信号: 在软件层上对终端机制的一种模拟,通知有事发生,与处理器收到一个中断...
2018-04-02 22:23:39 345
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人