上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 35 下一页
摘要: 类加载器介绍: 从虚拟机的角度说,只存在两种类加载器: 一种是启动类加载器,这个类加载器使用C++编写,是虚拟机自身的一部分; 另一种是所有其他类的加载器,这些类加载器使用Java编写,独立于虚拟机,并且全部继承自抽象类java.lang.ClassLoader; 从Java开发人员的角度看,类加载 阅读全文
posted @ 2018-10-07 02:10 使用D 阅读(719) 评论(0) 推荐(0)
摘要: 装饰者定义:动态的将责任附加到对象上,想要扩展功能,装饰者提供有别于继承的另一种选择。 解决继承滥用的问题,使用组合的方式在运行时装饰类; 对扩展开放,对修改关闭; 继承属于扩展形式之一,但是也可以使用委托的方式实现扩展; 在设计当中,应该允许行为可以被扩展,而无须修改现有的代码; 组合与委托可以用 阅读全文
posted @ 2018-10-07 00:44 使用D 阅读(198) 评论(0) 推荐(0)
摘要: 命令模式定义:将“请求”封装成对象,以便使用不同的请求,队列或者日志来参数化其他对象。 命令模式将发出请求的对象(RemoteControl遥控器类)和执行请求的对象(点灯类)解耦; 在被解耦的对象之间通过Command对象进行沟通(例如LightCommand封装Light类的开灯与关灯命令); 阅读全文
posted @ 2018-10-07 00:09 使用D 阅读(230) 评论(0) 推荐(0)
摘要: 观察者模式定义:定义了对象之间一对多的依赖,这样一来,当一个对象状态发生变化时,它所有的依赖者都会收到通知并自动更新。 个人理解:主题发生变化时,把变化情况及时通知到订阅了主题的各个观察者(订阅者) 观察者模式设计方式让主题 与 观察者 之间实现了松耦合,能够适应变化。 观察者模式定义了对象之间一对 阅读全文
posted @ 2018-10-06 22:11 使用D 阅读(193) 评论(0) 推荐(0)
摘要: ReentrantLock与synchronized一样都可以用来控制多线线程对共享资源的访问。 synchronized关键字是隐式的获得锁,即进入synchronized方法或者synchronized代码会自动的获得锁,离开同步方法或者同步代码块自动释放锁。 ReentrantLock相对于s 阅读全文
posted @ 2018-10-03 20:02 使用D 阅读(170) 评论(0) 推荐(0)
摘要: import java.util.Stack; /** * @Author: * @Date: 2018/9/28 11:36 */ public class TreeSort { public static void main(String[] args) { TreeNode level4_1 = new TreeNode(8,null,null); ... 阅读全文
posted @ 2018-09-28 21:51 使用D 阅读(205) 评论(0) 推荐(0)
摘要: ArrayBlockingQueue 基于同一个ReentrantLock锁实现线程安全,同时记录takeIndex与putIndex两个索引用于拿取和增加队列索引 使用集合实现的有界队列,一旦创建ArrayBlockingQueue对象,容量就固定了,对于排队等待的生产者或者消费者线程ArrayB 阅读全文
posted @ 2018-09-28 11:29 使用D 阅读(253) 评论(0) 推荐(0)
摘要: ArrayList 线程:不安全 实现方式:数组 初始大小:10 扩容:(原数组容量+原数组容量/2),如果(原数组容量+原数组容量/2)<传入的minCapacity,则扩容到minCapacity 数组最大值:Integer.MAX_VALUE - 8,由于有一些vms会在数组头存储一些字,为了 阅读全文
posted @ 2018-09-28 11:28 使用D 阅读(898) 评论(0) 推荐(0)
摘要: 链表提供高效的节点重排能力,以及顺序性的节点访问方式,并且可以通过增删节点来灵活的调整链表的长度。 1、Redis构建了自己的链表, 链表节点的结构(adlist.h/listNode): typedef struct listNode{ //前置节点 struct listNode *pre; / 阅读全文
posted @ 2018-09-26 00:02 使用D 阅读(375) 评论(0) 推荐(0)
摘要: 1、简单动态字符串SDS全称simple dynamic string。 SDS是Redis自己构建的抽象类型,并将SDS用作Redis的默认字符串表示。 例如:set msg "hello world" 其中键msg是一个字符串对象,对象的底层实现是一个保存着字符串msg的SDS; 其中值为hel 阅读全文
posted @ 2018-09-25 23:45 使用D 阅读(496) 评论(0) 推荐(0)
上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 35 下一页
点击右上角即可分享
微信分享提示