- 博客(13)
- 收藏
- 关注
翻译 Java对象的创建过程、内存布局、访问定位
文章目录步骤1:类加载检查步骤2:为新生对象分配内存内存分配的两种方式1.指针碰撞(Bump The Pointer)2.空闲列表(Free List)选择哪种分配方式内存分配并发情况下的问题解决方案1. CAS+失败重试2.TLAB+(CAS+失败重试)步骤3:将分配到的内存空间(不包含对象头)初始化为零值步骤4:虚拟据对对象进行必要设置(对象头设置)步骤5: 执行Class文件中的``()``...
2020-05-01 16:03:39
475
1
翻译 JVM内存结构
Java虚拟机什么是Java虚拟机JVM体系结构图JVM内存结构1.程序计数器概念特点2.虚拟机栈概念栈帧组成局部变量表操作数栈动态连接方法出口栈帧的生命周期 什么是Java虚拟机 Java Virtual Machine(JVM):java虚拟机,用来保证Java语言跨平台 Java虚拟机可以看做是一台抽象得计算机,如同真实的计算机那样,它有自己的指令集以及各种运行时内存区域 Java虚拟机与...
2020-04-29 23:45:34
365
原创 9. 适配器模式(Adapter Pattern)
文章目录定义类型适用场景优点缺点扩展相关设计模式代码示例角色类适配器模式步骤UMLTest对象适配器模式步骤UMLTest生活场景步骤 定义 将一个类的接口(被适配者)转换成客户期望的另一个接口(目标) 使原本接口不兼容的类可以一起工作 类型 结构型 适用场景 已经存在的类,它的方法和需求不匹配时(方法结果相同或相似) 不是软件设计阶段考虑的设计模式,是随着软件维护,由于不同产品、不同厂...
2019-11-02 14:09:29
231
原创 8. 装饰者模式(Decorator Pattern)
文章目录定义类型使用场景优点缺点相关设计模式代码示例步骤 定义 在不改变原有对象的基础之上,将功能附加到对象上 提供了不继承更有弹性的替代方案(扩展原有对象功能) 类型 结构型 使用场景 扩展一个类的功能或给一个类添加附加职责 动态的给一个对象添加功能,这功能可以再动态的撤销 优点 继承的有力补充,比继承灵活,不改变原有对象的情况下给一个对象扩展功能 通过使用不同装饰类以及这些装饰类...
2019-10-21 22:00:42
154
原创 7. 外观模式(Facade Pattern)
文章目录定义类型组成优点缺点相关设计模式代码示例使用场景 定义 外观模式又叫门面模式,提供了一个统一的接口,用了访问子系统中的一群接口 外观模式定义了一个高层接口,让子系统更容易使用 类型 结构型 组成 外观角色:了解子系统所有的方法,它也有自己的方法,客户端通过调用外观角色的方法来调用子系统的功能 子系统:可以是一个也可以是多个,子系统按照不同的维度,完成不同的处理模块,并不是单独的类,子...
2019-10-16 20:57:27
184
原创 6. 原型模式(Prototype Pattern)
文章目录定义类型适用场景优点缺点扩展代码示例 定义 原型模式指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 不需要知道任何创建的细节,不调用构造函数 类型 创建型 适用场景 类初始化消耗较多的资源 new 产生的一个对象需要非常繁琐的过程(数据准备、访问权限等) 构造函数比较复杂 循环体种产生大量对象 优点 原型模式性能比直接new一个对象性能高 简化创建过程 缺点 ...
2019-10-15 23:18:41
227
原创 5. 单例模式(Singleton Pattern)
文章目录定义类型适用场景优点缺点重点代码实例懒汉式改进方法synchronized改进方式Double Check (双重检查)方式静态内部类方式饿汉式 定义 保证一个类仅有一个实例,并提供一个全局访问点 类型 创建型 适用场景 想确保任何情况下都绝对只有一个实例 优点 在内存里只有一个实例,减少了内存的开销。特别是一个对象需要频繁的创建和销毁时,而且创建销毁时的性能又无法优化 可以...
2019-10-14 22:36:46
193
原创 4. 建造者模式(Builder Pattern)
文章目录定义类型适用场景优点缺点建造者模式 VS 工厂模式组成代码示例一般实现改进 定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 用户只需指定需要建造的类型就可以得到它们,建造过程及细节不需要指定 类型 创建型 适用场景 如果一个对象有非常复杂的内部结构(很多属性) 想把复杂对象的创建和使用分离 优点 封装性好,创建和使用分离 扩展性好、建造类之间独...
2019-10-11 23:33:50
290
原创 3. 抽象工厂模式(Abstract Factory Pattern)
文章目录定义类型适用场景优点缺点产品等级结构与产品族代码实例 定义 抽象工厂模式提供了一个创建一系列相关或相互依赖对象的接口 无须指定具体类 类型 创建型 适用场景 客户端(应用层)不依赖于产品类实例如何被创建、实现等细节 强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量重复的代码 提供一个产品类的库,所有的产品以同样的接口出现,从而使客户端不依赖于具体实现 优点 具体...
2019-10-10 22:25:44
164
原创 2. 工厂方法模式(Factory Method Pattern)
文章目录定义类型使用场景优点缺点代码示例UML组成实例 定义 利用面向对象的多态性和里氏替换原则,该模式子类对象覆盖父类对象,从而使程序更容易扩展 定义一个创建对象的接口,但让实现这个接口的类来觉得实例化哪个类 工厂方法让类的实例化推迟到子类中进行 解决同一产品等级的业务抽象问题 类型 创建型 使用场景 创建对象需要大量的重复代码 客户端(应用层)不依赖与产品类实例如何被创建、实现等细...
2019-10-09 10:50:26
183
原创 1. 静态工厂方法/简单工厂 (Static Factory Method)
文章目录序定义类型适用场景优点缺点代码示例 序 定义 由一个工厂对象决定创建出哪一种产品类的实例 类型 创建型。但不属于GOF23种设计模式 适用场景 工厂类负责创建的对象比较少 客户端(应用层)只知道传入工厂类的参数,对于如何创建对象(逻辑)不关心 优点 只需要传入一个正确的参数,就可以获取你所需要的对象,而无须知道其创建细节 缺点 工厂类的职责相对过重,增加新的产品需要修改工...
2019-09-29 22:53:23
348
原创 设计模式概述
文章目录定义 定义 面向对象中最基础的设计原则。他指导我们如何建立稳定灵活的系统,核心思想面向抽象编程 一个软件实体如类、模块和函数应该对扩展开发,对修改关闭,所谓开闭,是对扩展和修改两个行为的原则 强调:用抽象构建框架,用实现扩展细节 优点:提高软件系统的可复用性及可维护性 ...
2019-09-25 23:39:36
221
原创 UML类图和时序图
文章目录定义特点分类UML2.2中一共定义了14中图示,分类如下结构式图形行为式图形交互式图形类图时序图记忆技巧UML箭头方向实线-继承|虚线-实现实线>继承虚线>实现实现-关联|虚线-依赖实现-关联虚线-依赖 定义 统一建模语言(英语:Unified Modeling Language,缩写UML) 非专利的第三代建模和规约语言 特点 UML是一种开放的方法 用于说明、可视化、...
2019-09-23 22:27:10
1389
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人