随笔分类 - java性能,可读性,扩展性的选择
摘要:1. 字符串生成过程 我们都知道String s = "hello java";会将“hello java”放入字符串常量池,但是从jvm的角度来看字符串和三个常量池有关,class常量池,运行时常量池,全局字符串常量池(也就是常说的字符串常量池) 第一个是class的常量池,看一下下面这个代码 如
阅读全文
摘要:首先从一张图开始,图中对字符串相加和StringBuild.append()做了性能对比。 有人说字符串每次相加都新建了一个对象所以慢,事情真的是这样吗? 先要了解真相最好的方法当然是反编译了,使用 javap -c 反编译的结果 这个时候你可能有疑问,这个循环执行了50000次,创建了50000个
阅读全文
摘要:简单介绍一下这两个设计模式。 策略模式的思想就是,当你要根据特定场景使用特定算法时,可以把用一个接口提供这个算法,不同的场景对他进行不同的实现。主流程通过不同的实现类 来完成这个功能。 简单工厂就是根据一个type返回对应的对象。 简单工厂+策略模式就可以实现根据调用方传过来的type通过简单工厂获
阅读全文
摘要:个人认为在自己写接口时,需要返回集合时返回一个空集合,比如mybatis查询如果返回一个集合,结果为空时也会返回一个空集合而不是null。 那么这样有什么好处呢?最大的好处就是调用方不用在判断是否为null,可以直接用,因为不用抛空指针。 当然这也有缺点,如果返回Lists.newArrayList
阅读全文

浙公网安备 33010602011771号