Loading

摘要: 首先 需求来了 有如下几个封装好的函数供调用: 现在需要在每个函数执行前进行日志记录: 第一个方案 修改每个函数,添加日志记录的代码 但这样显然不太好,存在大量的重复代码,可以将重复代码封装为一个方法 第二个方案 这样的确是比第一个方案好多了,但是不符合开闭原则,即现有的代码不要去修改,而在基础的功 阅读全文
posted @ 2019-01-02 20:50 烟草的香味 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 概述 Vector与ArrayLIst类似, 内部同样维护一个数组, Vector是线程安全的. 方法与ArrayList大体一致, 只是加上 synchronized 关键字, 保证线程安全, 下面就不具体分析源码了, 具体可以查看ArrayList中的源码分析. Vector源码分析 1.主要字 阅读全文
posted @ 2019-01-02 20:50 烟草的香味 阅读(837) 评论(0) 推荐(0) 编辑
摘要: 分布式经典结构 如图所示的结构, 当前端接收到请求时, 通过计算key的哈希值, 将哈希值模3, 然后分布到不同的后端服务器上 但是, 这样的结构当添加或减少后端服务器时就暴露了问题, 每次添加或减少后端服务器, 放在服务器中的所有数据都要全部重新计算哈希, 将哈希值摸新的台数, 重新添加. 如此, 阅读全文
posted @ 2019-01-02 20:41 烟草的香味 阅读(679) 评论(0) 推荐(1) 编辑
摘要: 什么是生成器 通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循 阅读全文
posted @ 2019-01-02 20:35 烟草的香味 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 概述 LinkedHashSet与HashSet类似, 不同的是LinkedHashSet底层使用LinkedHashMap维护元素插入的顺序. LinkedHashSet继承自HashSet, 只是重写了HashSet的构造方法, 初始化一个LinkedHashMap, 其他均与HashSet相同 阅读全文
posted @ 2019-01-02 20:35 烟草的香味 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 注释: /* */1、css和html的结合方式 (1)用(每个)html标签上的style属性结合 (2)使用html的<style>标签 (3)在style标签里使用语句 @import url(css文件路径);(某些浏览器不支持) (4)使用头标签link引入外部css文件2、css的选择器 阅读全文
posted @ 2019-01-02 20:34 烟草的香味 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 概述 ArrayList可以理解为动态数组, 根据MSDN的说法, 就是Array的复杂版本. 与数组相比, 它的容量能动态增长. ArrayList是List接口的可变数组的实现. 实现了所有可选列表操作, 允许包括null在内的所有元素. 数组的特点, 查询快增删慢. 每个ArrayList实例 阅读全文
posted @ 2019-01-02 20:24 烟草的香味 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 概述 Hashtable也是基于哈希表实现的, 与map相似, 不过Hashtable是线程安全的, Hashtable不允许 key或value为null. 成员变量 Hashtable的数据结构和HashMap一样, 采用 数组加链表的方式实现. 几个成员变量与HashMap一样: 方法 Has 阅读全文
posted @ 2019-01-02 20:12 烟草的香味 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 概述 HashMap是无序的, 即put的顺序与遍历顺序不保证一样. LinkedHashMap是HashMap的一个子类, 它通过重写父类的相关方法, 实现自己的功能. 它保留插入的顺序. 如果需要输出和输入顺序相同时, 就选用此类. LinkedHashMap原理 LinkedHashMap是如 阅读全文
posted @ 2019-01-02 19:52 烟草的香味 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 概述 HashSet是基于HashMap来实现的, 底层采用HashMap的key来保存数据, 借此实现元素不重复, 因此HashSet的实现比较简单, 基本上的都是直接调用底层HashMap的相关方法来完成. HashSet的构造方法就是创建HashMap: 基本操作 1.添加操作 2.删除操作 阅读全文
posted @ 2019-01-02 19:32 烟草的香味 阅读(285) 评论(0) 推荐(0) 编辑