详解AbstractRoutingDataSource(动态数据源切换)实现原理
herman 8年前 (2017-10-13) 4714浏览 0评论
数据库读写分离,动态数据源切换已成为大型网站的标配。因此结合本文我们一起来搞定动态数据源切换的原理。 说到原理,就必须要说到源码,说到源码就必须要从我们最初的设计说起。 多数据源让人最头痛的,不是配置多个数据源,而是如何能灵活动态的切...
herman 8年前 (2017-10-13) 4714浏览 0评论
数据库读写分离,动态数据源切换已成为大型网站的标配。因此结合本文我们一起来搞定动态数据源切换的原理。 说到原理,就必须要说到源码,说到源码就必须要从我们最初的设计说起。 多数据源让人最头痛的,不是配置多个数据源,而是如何能灵活动态的切...
herman 8年前 (2017-10-13) 3732浏览 0评论
我们都知道 PropertyPlaceholderConfigurer 是用来读取配置文件的。一般我们只需简单的配置它即可,很少有对它进行重新改造的。本文将列举一个例子,如何通过 PropertyPlaceholderConf...
herman 8年前 (2017-10-13) 10347浏览 0评论
程序的运行需要内存。只要程序提出要求,操作系统或者运行时(runtime)就必须供给内存。 对于持续运行的服务进程(daemon),必须及时释放不再用到的内存。否则,内存占用越来越高,轻则影响系统性能,重则导致进程崩溃。 不再用到的内...
herman 8年前 (2017-10-13) 16065浏览 0评论
ApplicationListener和ContextRefreshedEvent一般都是成对出现的。最近在面试中问到了被面试者对于这两个的用法,面试者大多数被问懵了。可见基础知识的掌握程度。基于此本文将介绍它们的用法。 事件机制作为一种编...
herman 8年前 (2017-10-13) 6233浏览 0评论
所谓自签名证书,就是自己颁发给自己的证书 ,所以颁证的主体是不可信任的。 自签证书是不会被浏览器信任的证书的,用户在访问自签证书时,浏览器会警告用户此证书不受信任,需要人工确认是否信任此证书,如下图: 既然自签证书是不可信任的...
herman 8年前 (2017-10-13) 6676浏览 0评论
9 月 14 日,百度正式在 GitHub 上基于 Apache 2.0 协议开源了其 RPC 框架 brpc。brpc 是一个基于 protobuf 接口的 RPC 框架,在百度内部称为“baidu-rpc”,它囊括了百...
herman 8年前 (2017-10-13) 6922浏览 0评论
看过前面的文章的网友都知道,阿里云能够提供基于各种服务器的免费SSL证书。包括tomcat,nginx,Apache等。但是 Springboot 是内嵌 tomcat,针对这种情况该如何不少SSL证书呢?本文将介绍 Springboot 的SS...
herman 8年前 (2017-10-12) 3261浏览 0评论
Nginx反向代理后,Servlet应用通过request.getRemoteAddr()取到的IP是Nginx的IP地址,并非客户端真实IP,通过request.getRequestURL()获取的域名、协议、端口都是Nginx访问Web应用时...
herman 8年前 (2017-10-11) 2203浏览 0评论
Spring的模型-视图-控制器(MVC)框架是围绕一个DispatcherServlet来设计的,这个Servlet会把请求分发给各个处理器,并支持可配置的处理器映射、视图渲染、本地化、时区与主题渲染等,甚至还能支持文件上传。 ...
herman 8年前 (2017-10-11) 4133浏览 0评论
面试中经常会被问到拦截器,过滤器,AOP之间有什么关系。本文将探讨一下他们之间的关系。 通过前面一系列对AOP的文章的介绍,我相信大家都对AOP比较熟悉了。AOP似乎和拦截器、过滤器的功能相似。那么问题来了,aop与拦截器、过滤器是什么关系...
herman 8年前 (2017-10-11) 3335浏览 0评论
AOP的实现,相比xml配置,基于注解的方式更加简洁方便。也是日常开发中常用的做法。 下面我们一起来看一个例子。 @Aspect public class TransactionDemo { @Pointcut(value...
herman 8年前 (2017-10-11) 4282浏览 0评论
面试中 AOP 是一个离不开的话题。精通 AOP ,在实际的编程中更能让我们得心应手!本文将结合自己的经验,使用图文并茂的语言给大家讲明什么是 Spring AOP? 什么是 AOP? AOP(Aspect-OrientedProgr...
herman 8年前 (2017-10-11) 3941浏览 0评论
缓存是实际工作中非常常用的一种提高性能的方法。而在java中,所谓缓存,就是将程序或系统经常要调用的对象存在内存中,再次调用时可以快速从内存中获取对象,不必再去创建新的重复的实例。这样做可以减少系统开销,提高系统效率。 在增删改查中,数据库...
herman 8年前 (2017-10-10) 2772浏览 0评论
广受欢迎的开源数据库MySQL 8中,包括了众多新特性,其中包括对Unicode更好的支持、对JSON格式和文档的处理,以及一直以来呼吁增加的象window函数的功能等。 MySQL是众多网站技术栈中的标准配置,是广受欢迎的开源数据库,已经...
herman 8年前 (2017-10-10) 3691浏览 0评论
昨天发生了一件另我非常沮丧的事情。我的个人站点业余草,数据库发生了故障,导致了将近100篇文章的丢失。 本站点主要是一个月备份一次数据库,上个月,也就是9月份的文章目前已全部丢失。 通过我个人对搜索引擎的理解,发现谷歌网页快照中有部分...