随笔分类 -  java

摘要:HashMap、LinkedHashMap、TreeMap HashMap 底层结构 数组 链表 当链表的长度大于等于 8 时,链表会转化成红黑树; 红黑树 当红黑树的大小小于等于 6 时,红黑树会转化成链表。 常见属性 主要操作 新增 链表的新增 链表的新增比较简单,就是把当前节点追加到链表的尾部 阅读全文
posted @ 2020-05-06 01:14 甜树果子二号 阅读(244) 评论(0) 推荐(0)
摘要:ArrayList和LinkedList ArrayList 底层结构 数组 主要操作 初始化 无参数直接初始化 指定大小初始化 指定初始数据初始化 添加元素与扩容 添加元素 判断是否需要扩容,如果需要,就执行扩容操作; 扩容完成之后,赋值是非常简单的,直接往数组上添加元素即可:elementDat 阅读全文
posted @ 2020-05-05 22:45 甜树果子二号 阅读(202) 评论(0) 推荐(0)
摘要:记录一个问题先: AndroidS Studio打包APK时出现问题:org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:lintVitalRelease'. 什么意思?任务':app:lintVi 阅读全文
posted @ 2019-08-30 21:28 甜树果子二号 阅读(981) 评论(0) 推荐(0)
摘要:直觉地使用计算机机能理解的面向过程的方式去解决问题,会出现耦合的问题,是一种短期的方案,使得程序不容易维护与拓展。所以应该将面向对象的思想应用到程序设计当中,通过封装、继承、多态将程序的耦合度降低,运用设计模式增强程序的灵活性,使得它易于修改与复用。为了培养更好的编程思维与习惯,先从设计模式的学习与使用开始,希望有计划地学习设计模式,并且逐渐从了解到化为内用嘤嘤嘤!一、简单工厂模式:创建一个专门的 阅读全文
posted @ 2019-08-26 09:03 甜树果子二号 阅读(192) 评论(0) 推荐(0)
摘要:java虚拟机将内存分为哪些区域? 根据Java SE7版本的Java虚拟机规范,虚拟机管理的内存包括5个运行时数据区域: 1. 程序计数器 2. 虚拟机栈 3. 本地方法栈 4. 方法区 5. 堆 运行时数据区各部分的 作用 ? 一个线程所执行的字节码的行号指示器。 字节码解释器会通过改变计数器的 阅读全文
posted @ 2019-08-25 15:05 甜树果子二号 阅读(157) 评论(0) 推荐(0)
摘要:一、反射 反射被视为动态语言的关键,反射机制允许程序在执行期间借助于Reflection API取得任何类的内部信息,并且直接操作任意对象的内部属性及方法。 二、Java反射机制提供的功能 在运行时判断任意一个对象所属的类; 在运行时构造任意一个类的对象; 在运行时判断任意一个类具有的成员变量和方法 阅读全文
posted @ 2019-07-31 22:33 甜树果子二号 阅读(210) 评论(0) 推荐(0)
摘要:一、观察者模式 观察者模式又叫发布-订阅模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时会通知所有的观察者对象,使它们能够自动地更新自己。当一个对象的改变需要改变其他的对象的时候就可以用观察者模式。 二、结构图 Subject类是抽象的主题对象 阅读全文
posted @ 2019-07-28 11:51 甜树果子二号 阅读(171) 评论(0) 推荐(0)
摘要:一、建造者模式 当需要创建一些复杂的对象,而且这些对象当中的内部建造顺序稳定的时候,就可以使用建造者模式。 即是将一个复杂对象的构造与表示分离,使得同样的构建过程可以创建不同的表示,提了依赖倒转原则,细节依赖于抽象。 二、结构图 Product是具体产品; Builder是为创建一个Product对 阅读全文
posted @ 2019-07-27 17:04 甜树果子二号 阅读(168) 评论(0) 推荐(0)
摘要:外观模式就是为子系统的一组接口提供了一个一致的界面,既定义一个高层接口,来简化客户端对子系统的接口方法的调用。 这样,客户端就不需要知道系统内部调用的复杂联系,只需要通过一个统一的接口与系统交互。 就像股民炒股,新手直接进行投资可能风险很大不易上手,但是如果都投入基金,将多个股民的资金汇集在一起,就 阅读全文
posted @ 2019-07-27 14:06 甜树果子二号 阅读(131) 评论(0) 推荐(0)
摘要:一、原型模式 原型模式就是从一个对象再创建另一个可定制的对象,而且不需要知道任何创建的细节。 二、基本的原型模式 这里模拟简历的创建与复制来说明原型模式的应用。 输出结果: 三、原型模式中的浅复制与深复制 上面的Resume类通过实现Cloneable接口才能使用clone方法,进行对象的克隆。 J 阅读全文
posted @ 2019-07-10 10:16 甜树果子二号 阅读(291) 评论(0) 推荐(0)
摘要:一、代理模式的作用 远程代理:为一个对象在不同的地址空间提供局部代表,以此隐藏一个对象存在于不同地址空间的事实。 虚拟代理:根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真是对象。 安全代理:用来控制真实对象访问时的权限。 智能指引:当调用真实的对象时,代理处理另外一些事。 二、简单实 阅读全文
posted @ 2019-06-23 16:07 甜树果子二号 阅读(115) 评论(0) 推荐(0)
摘要:一、装饰模式 动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活。 将不同的装饰功能,即需要向原有类添加的功能集成于不同的类当中,让这个类包装所要修饰的对象。 那么当需要有顺序地执行特殊的行为时,就可以采用装饰模式了。 二、实现思路 阅读全文
posted @ 2019-06-23 15:28 甜树果子二号 阅读(122) 评论(0) 推荐(0)
摘要:一、策略模式: 如果说简单工厂模式对对象分类, 那么策略模式就是对相似逻辑算法分类, 将算法的切换变成一个目标可变的行为, 由策略决定行为。 二、基本思路: 1.创建策略抽象类,定义所有支持的算法的公共接口; 2.继承抽象类,策略具体化; 3.定义Context类作为上下文承接的角色,是使用了某种策略的类,通过策略改变自身行为。三、简单样例: 以简单收银软件为例,灵活解决原价、打折... 阅读全文
posted @ 2019-06-05 22:10 甜树果子二号 阅读(152) 评论(0) 推荐(0)