首页 > 编程语言 >Java原型模式大大节省资源测试

Java原型模式大大节省资源测试

时间:2022-11-23 19:59:39浏览次数:61  
标签:Java 节省 模式 原型 Date new CloneCat

但你需要创建大量相同对象的时候,使用原型模式吧!原型模式

 

 


 

 

克隆猫猫:

public class CloneCat implements Cloneable {
    public CloneCat() {
        try {
            Thread.sleep(10);//模拟创建类耗时耗力
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    @Override
    protected Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}

测试代码:

class Test {
    //使用new创建100个猫猫对象
    static void test1(){
        Date start = new Date();
        for(int i =0;i<100;i++){
            CloneCat temp = new CloneCat();
        }
        Date end = new Date();
        System.out.println("new  耗时:"+(end.getTime()-start.getTime()));
    }

    static void test2() throws CloneNotSupportedException {
        Date start = new Date();
        //使用克隆创建100个猫猫对象
        CloneCat cloneCat = new CloneCat();
        for(int i =0;i<100;i++){
            CloneCat temp = (CloneCat) cloneCat.clone();
        }

        Date end = new Date();
        System.out.println("clone  耗时:"+(end.getTime()-start.getTime()));
    }

    public static void main(String[] args) throws CloneNotSupportedException {
        test1();
        test2();
    }
}

测试结果:

 

标签:Java,节省,模式,原型,Date,new,CloneCat
From: https://www.cnblogs.com/lurenjia-bky/p/16919571.html

相关文章

  • 原型模式
    当我需要创建多个相同的对象时,若通过new创建对象比较费时费力,那么可以通过克隆来创建一个一样的新对象,即通过原型创建新对象。 克隆方式:实现Cloneable接口(声明接口:声明......
  • Java实现平衡二叉搜索树(AVL树)
    上一篇实现了二叉搜索树,本章对二叉搜索树进行改造使之成为平衡二叉搜索树(BalancedBinarySearchTree)。不平衡的二叉搜索树在极端情况下很容易退变成链表,与新增/删除/......
  • java中级考试
    选择2020分判断1010分解答55分程序页面+综合45分 第2章Css选择器CSS规则由三部分构成:选择符,属性和属性值   选择符{属性:属性值;属性:属性值;...}CSS......
  • Java工具库Guava的数学运算常用方法示例代码
    场景Java核心工具库Guava介绍以及Optional和Preconditions使用进行非空和数据校验:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/127683387为什么使用Gu......
  • 如何通过Java 合并和取消合并 Excel 单元格
    在整理Excel中的数据时,我们不可避免地需要合并和取消合并单元格。同时,如果需要创建跨列或行的标题,我们可以合并Excel单元格以在电子表格中轻松完成此操作。合并单元格......
  • java执行流程
    编译:是指使用Java编译器对源文件进行错误排査的过程,编译后将生成后缀名为.class的字节码文件,不像C语言那样生成可执行文件。Java解释器负责将字节码文件翻译成具体......
  • JAVAEE
    javaee背景克服传统Client/Server架构的弊端迎合Browser/Serexer架构的潮流应用领域为中大型企业软件中大型网站B/S部署企业应用或者网站(联网)Web服务器......
  • JavaScript
    JavaScript内部标签<script>......</script>外部写法j.js<scriptsrc="js/j.js"></script>基础语法<script>//1.定义变量变量类型变量名=变量值......
  • java:绘制图形
    java绘图类:Graphics类 绘图是高级程序中必备的技术,在很多方面都能用到,如:绘制闪屏图片,背景图片和组件外观等。1.Graphics类 Graphics类是所有图形上下文的抽象基类,Gr......
  • java pdf 合并
    packagecom.hefeng.demo.controller;importjava.io.File;importjava.io.IOException;importjava.util.*;importorg.apache.pdfbox.io.MemoryUsageSetting;impo......