摘要: 为什么需要回收 垃圾回收(Garbage Collection,GC),顾名思义就是释放垃圾占用的空间,防止内存泄露。有效的使用可以使用的内存,对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收。 每一个Java程序中的对象都会占用一定的计算机资源,最常见的,如:每个对象都会在堆空间上申请一 阅读全文
posted @ 2021-03-12 23:22 chenzufeng 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 运行时数据区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域: Java虚拟机由三个子系统构成,分别是类加载子系统、JVM运行时数据区和执行引擎。类加载子系统将硬盘上的字节码文件加载进内存,JVM运行内存有一套自己的结构划分如图所示,最终程序要运行,需要操作系 阅读全文
posted @ 2021-03-12 23:05 chenzufeng 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 排序效率对比 冒泡排序 将数组中相邻的两个数进行比较,较小的数值向下沉,数值比较大的向上浮。 算法实现 package sort; public class BubbleSort { /** * 设置标志位needNextPass,如果发生了交换needNextPass设置为true;如果没有交换就 阅读全文
posted @ 2021-03-12 21:42 chenzufeng 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 创建型模式 提供了一种在创建对象的同时,隐藏创建逻辑的方式,而不是使用new运算符直接实例化对象。这使得程序在判断,针对某个给定实例,需要创建哪些对象时,更加灵活。 工厂模式 单例模式 结构型模式 关注类和对象的组合。 代理模式 装饰器模式 代理模式和装饰器模式的区别 对装饰器模式来说,装饰者(de 阅读全文
posted @ 2021-03-12 15:11 chenzufeng 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 概念 装饰(Decorator)模式的定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式——通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为,它属于对象结构型模式。 通常情况下,扩展一个类的功能会使用继承方式来实现。但继承具有静态特征,耦合度高,并 阅读全文
posted @ 2021-03-12 14:34 chenzufeng 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 概念 在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。 例如,去银行办理业务一般要经过以下4个流程:取号、排队、办理具体业务、对银行工作人员进行评分等,其中取号 阅读全文
posted @ 2021-03-12 14:14 chenzufeng 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 概念 在现实生活中常常遇到实现某种目标存在多种策略可供选择的情况,例如,出行旅游可以乘坐飞机、乘坐火车、骑自行车或自己开私家车等。 策略模式结构 策略模式主要包含 抽象策略(Strategy)类:定义了一个公共接口,各种不同的算法以不同的方式实现这个接口,环境角色使用这个接口调用不同的算法,一般使用 阅读全文
posted @ 2021-03-12 13:38 chenzufeng 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 概念 观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 顾客对某个特定品牌的产品非常感兴趣(例如最新型号的 iPhone 手机),而该产品很快将会在商店里出售。 顾客可以每天来商店看看产品是否到货。但如果商 阅读全文
posted @ 2021-03-12 12:13 chenzufeng 阅读(929) 评论(0) 推荐(0) 编辑
摘要: 概念 适配器模式是一种结构型设计模式,它能使接口不兼容的对象能够相互合作。 适配器模式(Adapter)的定义:将一个接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。 在现实生活中,经常出现两个对象因接口不兼容而不能在一起工作的实例,这时需要第三者进行适配。 阅读全文
posted @ 2021-03-12 10:35 chenzufeng 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 概念 在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。例如,购买火车票不一定要去火车站买,可以通过12306网站或者去火车票代售点买。 代理模式是一种结构型设计模式,它能够提供对象的替代品。代理控制着对于原对象的访问,并允许在将请求提交 阅读全文
posted @ 2021-03-12 01:29 chenzufeng 阅读(56) 评论(0) 推荐(0) 编辑