- 浏览: 6396 次
- 性别:
- 来自: 南京
最新评论
文章列表
啥也不说了,直接上代码,看怎么用的
package unit;
import com.linkage.bss.crm.asynlaunch.ALSwitch;
import com.linkage.bss.crm.asynlaunch.AsynItem;
import com.linkage.bss.crm.asynlaunch.AsynLaunch;
import com.linkage.bss.crm.monitor.BTask;
import com.linkage.bss.crm.monitor.ListenerMonitors;
import com.linkage. ...
- 2013-05-16 20:48
- 浏览 383
- 评论(0)
什么都不说了,直接上代码,相信你能懂的
public class Singleton {
private Singleton(){}
private static class SingletonHolder{
static Singleton instance = new Singleton();
}
public static Singleton getInstance(){
return SingletonHolder.instance;
}
}
测试
public class TestSingleton {
pub ...
- 2013-05-09 19:30
- 浏览 375
- 评论(0)
分布式环境日志收集
林小应
1. 问题描述
现在应用程序的日志都是error级别,如果想收集某接口日志只能入库。
如果选择性的根据工号打开debug日志,也会散落在应用集群中的各台主机上。查看起来十分不方便。
2. 期望
可以选择性的将有用日志,通过tcp的方式送到日志处理主机。集中处理,处理方式由客户端定义。不能因为发送日志而影响应用程序的性能。
3. 设计原理
思路:采用异步的nio的方式将日志送出,集中处理。满足网络震荡重连(无条件重连、触发式重连)。
方案:采用异步缓冲区+Netty来完成日志推送。
4.用法示例
//建立连接(只需要一个连接):
N ...
- 2013-03-06 23:59
- 浏览 478
- 评论(0)
基于Memcached的开关机制
林小应
1. 问题描述
如果,应用系统需要调用远程服务,且现在有两个版本的服务, newService和oldService。怎样在不停应用的情况下实现动态切换呢?
如果将service的url放进数据库也是一个办法,但放到哪一个数据库呢,我们的数据库是分布式多库。
答案是:可以放到Memcached中!
2. 期望
能实时、方便的改变应用系统中的变量值
3. 设计原理
在应用系统中定义一个变量名称,再启动一个线程,不断扫描MC,获取该变量的值。
如果想要改变应用系统中的变量值,只需要改变MC中的值就可以了。
我们的具体 ...
- 2013-03-06 23:46
- 浏览 723
- 评论(0)
基于LRU算法的缓存实现
林小应
1. 问题描述
业务系统中,可能会用到很多规格数据。如果每次都从数据库读取,开销是很大的。一次业务操作,可能会取几千次,甚至更多。如通信、银行、证券等系统的规则校 ...
- 2013-03-06 23:28
- 浏览 666
- 评论(0)
高速异步缓冲区
林小应
1. 问题描述
有一封信要寄出去,你不会傻到自己送过去吧,写上地址、投进街边邮筒就可以了,自己继续干其他事情。
KFC把送外卖的事情都交给了宅急送。如果自己干,一天还能卖几个 ...
- 2013-03-06 22:09
- 浏览 437
- 评论(0)
获取数据库序列
林小应
1.问题描述
由于业务需要,应用程序中很多地方会用到数据库序列sequence,如果每次都去数据库获取,会比较耗时。
在Java代码中,我们通常调用存储过程或执行sql生成一个sequence,如
select xxx.nextnvl from dual;
如果直接调用存储过程或执行sql取sequence,算上事务开销,一次需要3~4ms。在大型分布式系统中(如江苏电信的营业系统、淘宝网、大型社交网站),4ms将是一个很大的开销,试想如果需要的序列已经存储在于内存中,平均每次取 ...
- 2013-03-06 17:50
- 浏览 2056
- 评论(0)
获取数据库时间
林小应
1. 问题描述
我们在应用程序中会用到当前时间:JVM虚拟机的时间 和 数据库的系统时间 两种。
虚拟机时间: System.currentTimeMillis(); 或者new Date()。
获取系统时间:select sysdate from dual;
而在应用程序中调用上面的sql,容易造成数据库拥塞。而且其本身效率也很低,加上事务的开销,一次访问大约在3~4ms左右。
2. 期望
我们希望获取系统时间,每次访问低于0.1ms。就像在Java代码中调用System.currentTime ...
- 2013-03-06 17:41
- 浏览 755
- 评论(0)
在高并发的分布式系统中,加入缓存机制可以很大的提高性能。最近做的XX省的电信BSS项目中就用到了Memcached,系统中将查询到的结果缓存到Memcached 中(下面称MC好了)。对于配置类的规格数据,是不经常改变的。在MC中的命中 ...
- 2012-07-11 00:28
- 浏览 523
- 评论(0)