博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
模板设计模式
阅读量:6715 次
发布时间:2019-06-25

本文共 1637 字,大约阅读时间需要 5 分钟。

  • 模板设计模式
    • 模版设计模式概述 
      • 模版方法模式就是定义一个算法的骨架,而将具体的算法延迟到子类中来实现 
    • 优点 
      • 使用模版方法模式,在定义算法骨架的同时,可以很灵活的实现具体的算法,满足用户灵活多变的需求 
    • 缺点 
      • 如果算法骨架有修改的话,则需要修改抽象类
    • 代码实现过程 
      • 定义一个计算时间模板
public abstract class CountTime {    public Long getCodeTime() {        Long startTime = System.currentTimeMillis();        code();        Long endTime = System.currentTimeMillis();        return endTime - startTime;    }    public abstract void code();}

 

      • 定义for循环执行1000万次需要的时间
public class ForTime {    public static void main(String[] args) {        CountTime countTime = new CountTime() {            @Override            public void code() {                for (int i = 0; i < 1000; i++) {                    System.out.println(i);                }            }        };        Long time = countTime.getCodeTime();        System.out.println("      " + time);    }}

 

      • 定义拷贝视频的逻辑
public class CopyFile {    public static void main(String[] args) {        CountTime countTime = new CountTime() {            @Override            public void code() {                try {                    FileOutputStream fos = new FileOutputStream("copy.avi");                    FileInputStream fis = new FileInputStream("test.avi");                    int len = 0;                    byte[] buf = new byte[1024];                    while ((len = fis.read(buf)) != -1) {                        fos.write(buf, 0, len);                    }                } catch (Exception e) {                    e.printStackTrace();                }            }        };        Long codeTime = countTime.getCodeTime();        System.out.println("用时:" + codeTime);    }}

 

转载于:https://www.cnblogs.com/nangongyibin/p/10183831.html

你可能感兴趣的文章
vue的虚拟dom
查看>>
如何设置一个本地测试服务器?
查看>>
iOS11以上 获取系统剩余可用空间不准确
查看>>
警告忽略
查看>>
Python3 CookBook | 迭代器与生成器
查看>>
深入理解 Android 中的各种 Context
查看>>
Android 6 0 运行时权限处理解析
查看>>
JavaScript引用类型之Array类型API详解
查看>>
数据库事务和MVCC多版本并发控制
查看>>
自定义控件实践-倒计时控件
查看>>
《JavaScript高级程序设计(第三版)》
查看>>
随手记 - Springboot Application Properties 值
查看>>
java B2B2C Springcloud多租户电子商城系统- 分布式事务
查看>>
屏幕方向读取与锁定:Screen Orientation API
查看>>
记:解决angular报错'Missing locale data for the locale "zh-cn"
查看>>
【半月刊 2】前端高频面试题及答案汇总
查看>>
contentSize, contentInset 和 contentOffset的含义
查看>>
vue全家桶
查看>>
springMVC---配置文件解析(web.xml)
查看>>
angular4微信公众号开发遇到的问题
查看>>