`
jwin
  • 浏览: 26972 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
      一般来说,对于那些处理时间比较长,需要马上响应并且做成异步后不会影响其它流程的做成异步。比如用户注册成功后发邮件给用户,这个可以在用户注册成功后马上返回,而不需要等到邮件发送成功才返回。异步有二种方式:内存异步和JMS异步。      内存异步即把要处理的请求放到内存队列中,然后由多个线程去消费。这种方式性能比较高,但是会存在请求丢失和内存溢出的风险。比如服务器突然down机,那么队列中未处理完的请求就会丢失;如果请求处理时间太长,并且请求一直在增加,即生产者速度要大于消费者速度时,就存在内存溢出的风险。这种适合对数据丢失不敏感,并且生产者速度要小于消费者速度的场合。     JMS ...
       最近在做一个近千万级别的数据迁移(从oracle到mysql),由于数据在迁移前后表结构发生很大的变化,比如原来几个用户相关的信息表中若干个字段要转成一个vcard格式的xml存到新表的一个字段中,没办法使用数据库的迁移 ...
1水平分库 最近在做一个IM系统,之前的旧系统没有考虑到用户量会增长得这么庞大,导致现在数据库性能瓶颈非常严重,迫切需要分库,用于减少每个库的用户数量,进而分摊负载,最终达到数据库横向扩展的目的。 数据库水平分库是以用户Id为分库的依据,同一个用户的所有数据都在同一个库上,每个库有着相同的表结构。为了实现开发人员来说对数据库的透明访问,分库框架需要解决二个问题:1、 方法参数中有用户id的数据的新增,查询及修改2、 方法参数中无用户id的数据的查询   2用户id 把用户名和密码所在的表定义为用户表,用户id即是用户表中的惟一性标识的整形值,如果用户的用户名只有一种方式,那么id可以是用户名的h ...
使用java.util.zip下的类进行zip压缩,它使用的是uft-8的编码方式,这样会引起中文名变成乱码的情况,解决的方法是用truezip.jar下的类,truezip的相关介绍和下载见https://truezip.dev.java.net/ import java.io.File; import java.io.IOException; import org.apache.commons.io.CopyUtils; import de.schlichtherle.io.FileInputStream; import de.schlichtherle.io.FileOut ...
用get方式传中文参数,需要解码才能还原成中文: 1.在tomcat的默认配置下,get方式传的参数要以ISO-8859-1作为解码 String param = request.getParameter("param"); if(param != null) {   param = new String(param.getBytes("ISO-8859-1"),"GBK"); } 2.在tomcat的中文环境下(在linux中可能会有需要配置成中文,比如需要支持上传时,写入文件名能为中文,方法:修改tomcat的bin目录下的cata ...
Global site tag (gtag.js) - Google Analytics