06 2021 档案

摘要:ThreadLocal ThreadLocal存储当前线程私有的数据 Thread类中有一个默认(包级别)访问权限的字段:ThreadLocals,它是ThreadLocalMap类型的。 ThreadLocal.ThreadLocalMap threadLocals = null; ThreadL 阅读全文
posted @ 2021-06-18 22:02 keepkeep 阅读(39) 评论(0) 推荐(0) 编辑
摘要:方法调用 确定被调用方法的版本 包括解析调用和方法分派 解析调用 对于在那些"编译器可知,运行期不可变"的方法,主要包括静态方法和私有方法。前者与类型直接关联,后者外部不可访问,决定了它们都不能通过继承或者别的方式重写出其它版本,适合在类加载阶段进行解析。 对应的字节码指令:invokestatic 阅读全文
posted @ 2021-06-18 16:19 keepkeep 阅读(70) 评论(0) 推荐(0) 编辑
摘要:ArrayList ArrayList是基于数组的实现,支持随机访问,可以动态扩容 初始化: 可以用带参的构造函数指定初始值,如果传入的参数是正数就创建指定容量的数组,如果是0就创建一个空数组,如果是负数,就抛出异常 默认大小是10 添加元素: 添加元素时使用ensureCapacityIntern 阅读全文
posted @ 2021-06-17 15:22 keepkeep 阅读(54) 评论(0) 推荐(0) 编辑
摘要:HashMap HashMap的内部包含了一个Node类型的数组table,Node是静态内部类,实现类Map.Entry接口,有四个主要属性:key、value、next、hash。也就是说table数组的每个位置看做是一个桶,一个桶可以存储一个单向链表。HashMap 使用拉链法来解决冲突,同一 阅读全文
posted @ 2021-06-17 13:51 keepkeep 阅读(44) 评论(0) 推荐(0) 编辑
摘要:装饰模式和静态代理在实现上很接近,它们的区别可以从功能和具体场景分析: 装饰模式是强调对原有类型自身能力的拓展;代理模式强调对功能的控制; 装饰模式是继承的一种替代方案,与被装饰者是is-a的关系,符合里氏替换法则;代理模式是一种委托模式,将被代理角色的功能委托给另外一个角色去实现和控制; 装饰模式 阅读全文
posted @ 2021-06-15 10:35 keepkeep 阅读(313) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示