摘要: 1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如果分代的话, 阅读全文
posted @ 2018-05-14 17:17 玉龙小主 阅读(8099) 评论(2) 推荐(1) 编辑
摘要: 策略模式和工厂模式的区别 工厂模式和策略模式看着很像,经常让人混淆不清; 它们的区别在哪里,需要细细体味; 相似点 在模式结构上,两者很相似; 差异 用途不一样 工厂是创建型模式,它的作用就是创建对象; 策略是行为型模式,它的作用是让一个对象在许多行为中选择一种行为; 关注点不一样 一个关注对象创建 阅读全文
posted @ 2018-05-14 16:11 玉龙小主 阅读(310) 评论(0) 推荐(0) 编辑
摘要: JAVA的Collections类中shuffle方法模拟了“洗牌”动作可以对list列表进行随机排序。如果一定要自己写,算法也很简单:假设数组array长度为n。用标准随机函数rand(n)生成[0, n-1]之间的一个随机数,将array[n-1]和array[rand(n)]交换,这样就把array[n-1]位置上的数确定了;再将array[n-2]和array[rand(n-1)]交换,确... 阅读全文
posted @ 2018-05-14 14:00 玉龙小主 阅读(6899) 评论(0) 推荐(0) 编辑