摘要: ArrayList不是线程安全的,源码里没有用到synchronized 初始化ArrayList,如果没有指定初始容量,第一次向里面加入元素的时候,初始增长容量为10 ArrayList的扩容算法,每次增长50% 当容量不够的时候,就会增长当前容量的50%,然后调用System.arraycopy 阅读全文
posted @ 2017-02-17 16:10 叫我什么大人 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 粗俗易懂的说法:就是把代码里的if-else单独放到一个文件里,用类似脚本的格式写 好处就是if-else逻辑和代码分离,维护逻辑,就维护这个文件就行,改完就能重启,不用走上线流程而且可以结合一些监听文件改变的机制,做到动态生效适合if-else逻辑复杂,且线上经常变动的情况 阅读全文
posted @ 2017-02-17 12:28 叫我什么大人 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 通过搜索了解到,克隆大概有两个作用: 1.为了安全,希望对新对象的操作,不对原对象有影响 例如: 为了不破坏value数组的值,使用value的克隆 2.当对象的创建比较复杂的时候,或者不知道对象是怎么创建出来的,那就用克隆吧 关于浅克隆和深克隆: http://blog.csdn.net/hj7j 阅读全文
posted @ 2017-02-17 12:09 叫我什么大人 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 结果是0 结果是1 阅读全文
posted @ 2017-02-17 12:00 叫我什么大人 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 加下划线不是js要求的,是程序员约定俗成的。通常变量前加下划线表示“私有变量”。函数名前加下划线表示“私有函数”。为什么我加引号,因为“私有”这个词不是js的官方说法,js也根本没有“私有变量”这种东西,只是程序员之间模仿其他有私有变量的语言的一种约定俗成的说法。也就是“你懂的”。只为代码维护方便, 阅读全文
posted @ 2017-02-17 11:53 叫我什么大人 阅读(12198) 评论(0) 推荐(1) 编辑
摘要: RandomAccess 用来当标记的,是一种标记接口,接口的非典型用法 意思是,随机访问任意下标元素都比较快 用处,当要实现某些算法时,会判断当前类是否实现了RandomAccess接口 会根据结果选择不同的算法 例如: 阅读全文
posted @ 2017-02-17 11:19 叫我什么大人 阅读(2857) 评论(0) 推荐(2) 编辑