摘要:
用户空间与内核空间 对于一个应用程序即一个操作系统进程来说,它既有内核空间(与其他进程共享),也有用户空间(进程私有),它们都是处于虚拟地址空间中。用户进程是无法访问内核空间的,它只能访问用户空间,通过用户空间去内核空间复制数据,然后进行处理。为了避免用户应用导致冲突甚至内核崩溃,所以进程的寻址空间 阅读全文
摘要:
缓存雪崩: 缓存雪崩大概的意思就是缓存在一定时间内失效,所有请求直接落到db中,从而造成数据库崩溃的情况。例如下面这个案例。本身系统架构是没有问题的,但是如果这时候缓存系统宕机了,每秒5000个请求全部打入到数据库中,就会造成数据库崩溃从而整个系统都不能用。 解决方案: 1:限制并发数量,比如通过令 阅读全文
摘要:
搜索引擎相关框架比较1、Lucene Apache下面的一个提供搜索的基本架构;如果开发人员需用使用的话,需用自己进行开发,成本比较大,但是性能高2、solr Solr基于Lucene的全文搜索框架,实时索引搜索效率不高,数据量的增加,Solr的搜索效率会变得更低,适合小的搜索应用。3、elasti 阅读全文
摘要:
模板方法设计模式,顾名思义它定义好了一个模板,只是具体实现的逻辑不一样。 例 去银行办理业务: 排队取号 办理业务 离开。(这是一整套业务流程,只是每个人的业务不一样)。 例 例如游戏的角色: 由 头饰 服装 武器组成。可是每个玩家装备不一样,每个人的外型也是不一样的。 案例编写: 1. 模板类 2 阅读全文
摘要:
一:springmvc运行过程: 1. dispatcherServlet 通过 HandlerMapping 找到controller2. controller经过后台逻辑处理得到结果集modelandview3. 视图解析器解析model,渲染view展示页面。 二:springmvc容器是什么 阅读全文
摘要:
用过Spring框架的人一定都知道Spring的依赖注入控制反转;通俗的讲就是负责实例化对象 和 管理对象间的依赖 实现解耦。 我们来对比两段代码: 乍一看好像没什么区别,好像都是一样的。在controller里面创建了一个service对象然后调用它里面的方法。但是换个角度想想, 如果还有2个,3 阅读全文
摘要:
我们通过一个小案例来看xml解析过程。 1. 导包 2. xml文件 3. 测试代码 spring解析xml配置文件过程: Dom4j与Sax区别 dom4j不适合大文件的解析,因为它是一下子将文件加载到内存中,所以有可能出现内存溢出,sax是基于事件来对xml进行解析的,所以他可以解析大文件的xm 阅读全文
摘要:
Transactional是spring中定义的事务注解,在方法或类上加该注解开启事务。主要是通过反射获取bean的注解信息,利用AOP对编程式事务进行封装实现。AOP对事务的封装可以看我的这篇文章的介绍。 我们先写个demo,感受它的加载过程。 spring事务注解: 1. 自定义一个注解 2. 阅读全文
摘要:
一:安装CAS 下载cas:https://github.com/apereo/cas 1.1 将cas并打成war包。放入一个干净的tomcat中,启动tomcat测试: http://localhost:8080/cas/login 1.2 默认账号密码:casuser Mellon 我们可以在 阅读全文
摘要:
cglib实现原理:生成被代理对象的子类,使用ASM字节码技术重组来重写父类(被代理对象)的方法。生成的这个新对象,可以强制转换为被代理对象。也就是子类引用赋值给父类! 案例编写: 1. 导入cglib依赖包 2. 实现cglib动态代理类 3. 创建被代理类 4. 测试 阅读全文