- 博客(13)
- 资源 (1)
- 问答 (12)
- 收藏
- 关注
原创 实时刷新缓存-处理mysql主从延迟的一些设计方案
概要:在项目开发当中,经常有这样一种场景,对数据库进行添加、修改、删除操作的应用直接连接master库,只对数据库进行查询的应用,会先建立一个中央缓 存,例如redis或者memcache,如果缓存没有命中,那么直接访问slave库。下文会介绍一下在刷新中央缓存时,如果发生主从延迟,应该如何处 理。也即是,当应用System-A 把数据库写入master库的时候,System-B应用在读取sl...
2016-06-29 09:48:58 183
原创 使用Spring AOP切面解决数据库读写分离
概要:为了减轻数据库的压力,一般会使用数据库主从(master/slave)的方式,但是这种方式会给应用程序带来一定的麻烦,比如说,应用程序如何做到把数据写到master库,而读取数据的时候,从slave库读取。如果应用程序判断失误,把数据写入到slave库,会给系统造成致命的打击。解决读写分离的方案很多,常用的有SQL解析、动态设置数据源。SQL解析主要是通过分析sql语句是insert/s...
2016-06-29 09:48:06 262
原创 java垃圾回收算法之-标记清除
java垃圾回收算法之-引用计数器,这个算法其中一个优点便是,实时性,只要对象的引用计数器的值为0,则立刻回收。接下来介绍的标记清除算法,当对象的引用计数器的值为0时,不会立刻被回收的。博文在我的csdn博客中: java垃圾回收算法之-标记清除 ...
2016-06-29 09:47:31 338
原创 能够提高开发效率的Eclipse实用操作
概要:工欲善其事,必先利其器。对于程序员来说,Eclipse便是其中的一个“器”。本文会从 Eclipse快捷键和实用技巧这两个篇章展开介绍。Eclipse快捷键用熟后,不用鼠标,便可进行编程开发,避免鼠标分了你的神。而掌握了 Eclipse的一些实用技巧,则可以大大提高开发效率。详细内容请看我的csdn博客:能够提高开发效率的Eclipse实用操作 ...
2016-06-29 09:46:57 176
原创 RabbitMq、ActiveMq、ZeroMq、kafka之间的比较,资料汇总
概要:MQ框架非常之多,比较流行的有RabbitMq、ActiveMq、ZeroMq、kafka。这几种MQ到底应该选择哪个?要根据自己项目的业务场景和需求。下面我列出这些MQ之间的对比数据和资料。 详细内容请看我的csdn博客: RabbitMq、ActiveMq、ZeroMq、kafka之间的比较,资料汇总 ...
2016-06-29 09:44:01 190
原创 编写业务逻辑代码-清晰可维护是很重要的
最近经常做业务逻辑代码review的工作,发现各种风格的代码,其中有一种是封装和抽象做的非常的多,代码层次非常的深入,表面给人感觉是:牛逼的代码。但是从清晰度和可维护性来说,还是不推荐这么做。 这种代码出现问题后,很难定位哪里出现问题 后续别人维护起来也相当困难 每看一个简单的case,都要跟踪很久 写ut也相当麻烦 我个人认为编写业务逻辑代码还是要从可读性入手,轻松的
2016-06-28 21:46:27 9983 2
原创 缓存外部系统接口返回信息的方案
概述在一个大的系统当中,通常会切分成多个子系统,子系统与子系统之间可以通过微服务、http接口或者mq等来相互通讯。假设有这样一种场景,A系统需要调用B系统的f1 接口,获取数据后再向前端系统输出。 前端系统通常所承受的并发量是非常大的,也就是说A系统的接口需要有很高的qps。这个时候我们需要缓存B系统接口的输出,以便提高A系统接口的响应速度。方案一 让缓存保持新鲜我们可以把B系统接口返回的数据存
2016-06-28 09:52:41 1570
原创 java垃圾回收算法之-分代收集
概述这种算法,根据对象的存活周期的不同将内存划分成几块,新生代和老年代,这样就可以根据各个年代的特点采用最适当的收集算法。可以用抓重点的思路来理解这个算法。 新生代对象朝生夕死,对象数量多,只要重点扫描这个区域,那么就可以大大提高垃圾收集的效率。另外老年代对象存储久,无需经常扫描老年代,避免扫描导致的开销。新生代在新生代,每次垃圾收集器都发现有大批对象死去,只有少量存活,采用复制算法,只需要付出
2016-06-15 09:25:45 1595 2
原创 java垃圾回收算法之-coping复制
之前的java垃圾回收算法之-标记清除 会导致内存碎片。下文的介绍的coping算法可以解决内存碎片问题。概述如果jvm使用了coping算法,一开始就会将可用内存分为两块,from域和to域, 每次只是使用from域,to域则空闲着。当from域内存不够了,开始执行GC操作,这个时候,会把from域存活的对象拷贝到to域,然后直接把from域进行内存清理。 应用场景coping算法一般是使用在新
2016-06-15 08:29:34 4144
原创 java垃圾回收算法之-标记__清除_压缩
之前写过的一篇java垃圾回收算法之-标记清除 ,这个算法有个缺点就是造成内存碎片,存在不连续的空间,这样会导致申请较大空间的时候,又需要进行垃圾回收。下面介绍一下标记-清除-压缩算法,可以避免内存碎片。空白部分是不连续的。概述这个算法的标记清除阶段,跟java垃圾回收算法之-标记清除 中介绍的是一样的,而对于压缩阶段,它的工作就是移动所有的可达对象到堆内存的同一个区域中,使他们紧凑的排列在一起,从
2016-06-14 08:43:37 1623
原创 center os 安装mysql5.6
软件MySQL-server-5.6.13-1.el6.x86_64.rpmMySQL-client-5.6.13-1.el6.x86_64.rpm安装命令rpm -ivh MySQL-server-5.6.13-1.el6.x86_64.rpmrpm -ivh MySQL-client-5.6.13-1.el6.x86_64.rpm启动mysql/etc/rc.d/init.d/mys
2016-06-06 22:14:35 2842
原创 java垃圾回收算法之-标记清除
java垃圾回收算法之-引用计数器,这个算法其中一个优点便是,实时性,只要对象的引用计数器的值为0,则立刻回收。接下来介绍的标记清除算法,当对象的引用计数器的值为0时,不会立刻被回收的。概念介绍root对象在标记清除算法中,会把如下对象称之为root对象被栈中的变量(栈中存的是对象的引用)所引用的对象被static变量引用的对象可访问的对象如果栈中有一个变量a引用了一个对象,那么该对象是可访问
2016-06-03 11:12:44 10572 3
数据权限是基于角色还是用户?
2010-08-11
旧系统重构,数据迁移问题
2010-07-29
有两个字段要频繁的查询,如何建立索引?
2010-02-25
url中用 like %林% 做为参数。出现了乱码问题。
2009-12-10
java 完全反编译
2009-12-03
jdk1.5或者jdk1.6如何跟tomcat5.0.27兼容
2009-11-25
javascipt问题:关闭模态对话框,启动新的窗口
2009-11-17
局域网内的A电脑和B电脑之间最好用什么方式进行数据传送?
2009-10-16
电脑同时插入50个优盘,如何把数据写入50个优盘里面?
2009-07-13
远程访问mysql数据库问题请教
2009-06-24
如何将中央服务器上的数据传到其他的电脑上
2009-06-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人