`
liuzhaodong89
  • 浏览: 60264 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
CQRS 翻译自大牛Martin Fowler的CQRS。原文地址:http://martinfowler.com/bliki/CQRS.html ================================================================== CQRS代表着命令查询责任分离。我第一次听到这个模式是从Greg Young那里。这个模式的核心就是你在更 ...
        最近看到Udi Dahan博客里关于CQRS的一篇文章(clarified-cqrs),感觉阐述的很详细。自己花了三个晚上把它翻译了一遍,感觉收获颇多。在争得作者同意后,我将其发布出来,供大家一起交流。         原文地址:http://www.ud ...
    前段日子在和leader交流技术的时候,偶然听到jvm在分配内存空间给大对象时,如果young区空间不足会直接在old区切一块过去。对于这个结论很好奇,也比较怀疑,所以就上网搜了下,发现还真有这么回事。以下给出具体代码来说明: 首先定义好jvm内存各个区域的大小。我设定的是eden区8M,from和to各1M,old区10M,总共20M的空间,参数如下: -Xms20M -Xmx20M -Xmn10M -XX:SurvivorRatio=8     紧接着,开始写程序。很简单,就是初始化一个9M的程序,然后用jstat命令看jdk的内存使用情况。 public c ...
今天修改了配置文件中的一个配置项值,将原先的url连接中加入了一个&source=upload,结果在应用启动的时候报错了。错误栈如下:   Caused by: org.xml.sax.SAXParseException: The reference to entity "test" must end with the ';' delimiter. at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at o ...
最近在做应用的性能优化,在review代码的过程中积累了一些规则和经验。做到这些规则的目的很简单,就是写出“优美”的代码来。   1、注释尽可能全面      对于方法的注释应该包含详细的入参和结果说明,有异常抛出的 ...
      通常来说关于jvm对于对象的内存分配,只要到堆内分配一般就over了,但是在很多人的博客或者帖子中又说了一些其他的分配,比如栈内分配等等,搞的自己有点眼晕,索性就将jvm内存分配的方式统统查了一遍,然后总体上 ...

Mina学习随笔一

翻mina的源代码的时候,在NioProcessor里面居然看到这么个方法:   @Override protected int read(NioSession session, IoBuffer buf) throws Exception { ByteChannel channel = session.getChannel(); return session.getChannel().read(buf.buf()); }  也不知道这哥们咋想的,设置一个channel的引用,然后让它在那里闲的没事干。 ...
jvm中的内存可以分为堆内存和非堆内存,其中堆内存用于存储虚拟机运行中产生的各种对象,而通常所说的GC也就是针对这一块内存而言的。作为开发者,我们并不需要去关心到底什么时候该调用GC去清理内存,因为jvm会帮我们打理好这一块。但是如果想深入了解java内存管理,就不得不关心下这块对程序员“透明”的区域了。   要了解GC过程,首先要说说堆内存是怎么工作的。java所创建的对象会都放在堆内存中,但随着新对象的逐渐加入,堆内存的剩余空间会越来越少。当无法给一个新的对象继续分配内存空间时,程序就会发生out of memory。我们知道,java程序员在编写时无需关心何时释放对象的内存,所以会有相 ...
JVM 包含两个子系统和两个组件。两个子系统分别是ClassLoader和ExecutionEngine,两个组件则是Runtime Data Area和Native Interface,其中Runtime Data Area中就包含了我们常说的JVM内存。 但仅仅将内存分成这么一大块,JVM是啥也干不了的。为此R ...
Global site tag (gtag.js) - Google Analytics