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