当前位置: 首页 > news >正文

有什么网站建设类岗位三合一网站指的是什么

有什么网站建设类岗位,三合一网站指的是什么,wordpress输入xml,青岛网站定制多少钱原型模式#xff08;Prototype Pattern#xff09;是一种创建型设计模式#xff0c;它通过拷贝现有的实例来创建新的实例#xff0c;而不是通过新建实例。这种方式可以避免复杂的构造过程#xff0c;同时还能保持对象的创建和使用分离#xff0c;提高系统的灵活性和扩展性…原型模式Prototype Pattern是一种创建型设计模式它通过拷贝现有的实例来创建新的实例而不是通过新建实例。这种方式可以避免复杂的构造过程同时还能保持对象的创建和使用分离提高系统的灵活性和扩展性。 了解原型模式之前需要先搞懂浅拷贝和深拷贝。 浅拷贝指的是创建一个新对象然后将原对象的非静态字段复制到新对象中。如果字段是基本数据类型那么直接复制其值如果字段是对象引用则复制引用本身而不是引用的对象。这意味着新对象和原对象的引用字段指向同一个对象。 深拷贝意味着不仅要复制对象本身还要复制对象中所有引用的对象以及这些引用对象中引用的其他对象直到所有相关对象都被复制。 另外java中有一些特殊的引用类型不可变对象如下。这些引用类型创建的对象是不可变对象在拷贝是都是理解成是一种深拷贝。 在Java中不可变对象是指一旦创建后其状态即对象的字段值就不能被改变的对象。不可变对象具有线程安全性、可缓存性和可共享性等优点。以下是一些常见的不可变引用类型对象基本数据类型的包装类 Integer Byte Short Long Float Double Character Boolean 这些包装类都是基本数据类型的对应引用类型。它们是不可变的因为它们的值一旦被设置就不能被改变。例如当你对一个Integer对象进行加法运算时实际上会创建一个新的Integer对象来表示新的值而不是修改原来的对象。字符串类 String String类是Java中最常用的不可变类之一。字符串对象一旦被创建其内容就不能被改变。例如当你使用操作符连接两个字符串时会创建一个新的字符串对象而不是修改原来的字符串对象。原子类 AtomicInteger AtomicLong AtomicBoolean 其他java.util.concurrent.atomic包中的原子类 这些原子类提供了对基本数据类型的安全操作它们是不可变的因为它们的值只能通过原子操作来更新而不是直接修改对象的状态。其他不可变类 BigDecimal 和 BigInteger 这些类用于表示任意精度的数值。它们是不可变的因为每次进行数学运算时都会返回一个新的对象来表示结果而不是修改原来的对象。java.time包中的日期和时间类 例如LocalDate LocalTime LocalDateTime ZonedDateTime Duration Period 这些类是Java 8引入的新的日期和时间API的一部分。它们都是不可变的每次进行日期或时间的修改操作时都会返回一个新的对象。不可变对象的设计原则 要设计一个不可变对象通常需要遵循以下原则所有字段都是final的确保字段一旦被初始化就不能被改变. 不提供修改字段值的方法不提供任何可以修改对象状态的方法. 确保对象的所有字段都是不可变的如果对象的字段是引用类型确保这些引用类型也是不可变的. 如果需要提供访问字段的方法返回字段的副本而不是引用例如对于包含可变对象的字段返回字段的副本以防止外部代码修改对象的状态. 通过设计不可变对象可以提高程序的安全性和可维护性特别是在多线程环境中. 原型模式核心概念 原型Prototype声明一个克隆自身的接口用于创建当前对象的副本。在Java中通常通过实现Cloneable接口并重写clone()方法来实现原型模式。具体原型ConcretePrototype实现原型接口提供具体的克隆实现生成自己的副本。 实现步骤 实现Cloneable接口让类实现Cloneable接口表示该类的对象可以被克隆。重写clone()方法在类中重写Object类的clone()方法以实现深拷贝或浅拷贝。创建原型对象创建一个原型对象作为后续克隆的模板。克隆原型对象通过调用原型对象的clone()方法创建新的对象实例. 示例代码 以下是一个简单的Java示例展示如何使用原型模式 import java.util.Date;// 具体原型类 class Resume implements Cloneable {private String name;private String sex;private String age;private Date birthDate; // 假设包含日期对象public Resume(String name, String sex, String age) {this.name name;this.sex sex;this.age age;this.birthDate new Date(); // 初始化日期对象}Overrideprotected Object clone() throws CloneNotSupportedException {// 实现深拷贝//super.clone()是调用Object类的clone()方法它会创建一个新的对象并将原对象的字段值复制到新对象中。对于基本数据类型的字段值会被直接复制而对于引用类型的字段复制的是引用本身而不是引用所指向的对象. 这一步本身是浅拷贝.Resume clonedResume (Resume) super.clone();clonedResume.birthDate (Date) this.birthDate.clone();return clonedResume;}Overridepublic String toString() {return Resume{ name name \ , sex sex \ , age age \ , birthDate birthDate };} }public class PrototypePatternDemo {public static void main(String[] args) throws CloneNotSupportedException {Resume originalResume new Resume(John Doe, Male, 30);System.out.println(Original Resume: originalResume);Resume clonedResume (Resume) originalResume.clone();System.out.println(Cloned Resume: clonedResume);} } 优缺点 优点 性能优势通过拷贝现有对象避免了复杂的构造过程特别是在对象创建过程中需要进行大量数据计算或资源获取时.代码简洁简化了对象的创建代码使得代码更加简洁和易于维护.缺点 实现复杂需要实现深拷贝对于包含复杂对象引用的类实现起来可能比较复杂.对类的约束需要实现Cloneable接口并且所有涉及的对象都需要支持拷贝操作这可能对类的设计有一定的约束. 适用场景 当一个系统应该独立于其产品的创建、组合和表示时.当需要通过动态指定创建对象的类别、数目和初始化参数时.当对象的创建过程复杂且需要避免重复创建大量相似对象时.
http://www.hkea.cn/news/14395485/

相关文章:

  • 国外做网站公司能赚钱吗wordpress菜单导入导出
  • 网络科技公司网站网站综合开发怎么做
  • seo技术外包 乐云践新专家seo推广引擎优化
  • 网站logo下载购票网站模板
  • 网站开发人员晋升体系wordpress html5 主题
  • 江西建设信息港网站wordpress模板制作视频
  • 公司网站建设案例怎么建设自己的一个服务器网站
  • 怎么做一个自己网站wordpress 编辑器增强
  • 天津企业网站建站深圳公司做网站
  • 网站建设的相关资料网页设计旅游网站前言
  • wordpress-5.6.20长沙抖音seo公司地址
  • 南头专业外贸网站建设公司深圳培训手机网站建设
  • 聊城网站建设品牌如何制作网站设计
  • 如何看出网站是用wordpress搭建官方网站开发模板
  • 重庆渝北做网站哪里便宜网站改版汇报
  • 洛卡博网站谁做的wordpress表白墙模板下载
  • 明年做那些网站致富百度收录提交申请网站
  • asp网站管理系统破解版惠州市网站建设个人
  • 做服装哪个网站图片多wordpress 分类页面打开400
  • 深圳建设网官方网站南宁建设网站制作
  • 上海建设检测网上登记网站软文发布平台哪家好
  • 上海网站开发月薪多少钱上海网站建设制作
  • 网站不备案可以做微信小程序么设计发明的网站
  • 行业前10的网站建设公司中国建设银行威海分行网站
  • cnzz网站建设教学包头建设网站
  • 自己建的网站如何做海外推广茶道网站开发背景
  • 网站建设如何选择服务器公司加强网站建设
  • 聚美优品网站设计门户网站建设和运行保证的磋商文件
  • 太原网站建设列表网四川网站开发公司
  • 个人网站建站教程新闻头条最新消息