精华内容
下载资源
问答
  • 为满足这些特殊应用场合的需求,本文从理论上分析了决定掉电保持时间的因素,并提出了一种简单的通过外围电路来增加掉电保持时间的方法。  ACDC开关电源有一项重要的技术参数——掉电保持时间,指从AC掉电到输出...
  • 假设处理器在执行同一个程序时,执行时间减少了40%,相应会使CPI随之增加20%,那么CPU1的频率应该增加到_______GHz,才能满足执行时间减小40%的要求。 正确答案:4 或 4.0 或 4.00 解析: ----假设指令的总条数= m,...

    假设处理器在执行同一个程序时,执行时间减少了40%,相应会使CPI随之增加20%,那么CPU1的频率应该增加到_______GHz,才能满足执行时间减小40%的要求。


    正确答案:4 或 4.0 或 4.00
    解析: ----假设指令的总条数= m, 且原来的总执行时间为t0, 时间减少40%则执行时间变为0.6t0, 但CPI随之增加到1.2CPI
    变化前: m=(频率f0×t0)÷CPI
    变化后:m=(频率f1×0.6t0)÷1.2CPI
    因为是执行的同一个程序,这说明时间减少前后,程序的总指令数是不会变化的,所以
    (频率f0×t0)÷CPI = (频率f1×0.6t0)÷1.2CPI
    求解这个等式即可计算出f1和f0的关系,f1=2f0

    展开全文
  • 基本思路是对业务对应的表增加这四个字段,对应的Java Bean增加四个属性,在业务中的增加操作时填充创建人和创建时间信息到数据库,在修改操作时对修改人和修改时间进行填充。     ...

            现在项目有个需求,需要对现有业务中可编辑数据增加创建人、创建时间、修改人、修改时间。基本思路是对业务对应的表增加这四个字段,对应的Java Bean增加四个属性,在业务中的增加操作时填充创建人和创建时间信息到数据库,在修改操作时对修改人和修改时间进行填充。
            由于业务繁多,所以重复这样操作比较麻烦,就想能不能有什么能够简化的操作,一开始想通过Spring的AOP实现,但是问题出现在前后置通知无法获得业务存放信息的Bean和各个操作业务的方法没有同意的规范在配置切入点时会很麻烦所以最终放弃了。最后决定利用反射技术将信息填充到Object对象中,写了一个工具类方便实现该功能。

    先贴上工具类:

    /**
     * @author: sunzhen
     * @date: 2019/7/31
     * @time: 18:18
     * @description: 填充用户信息(创建人、创建时间、修改人、修改时间)工具类
     */
    public class FillUserInfoUtil {
    
        /**
         * @author: sunzhen
         * @date: 2019-07-31 18:24
         * @param: obj
         * @param: request
         * @return: void
         * @throws:
         * @description: 从request中获取创建人、创建时间信息通过反射填充到obj对象中
        */
        public static void fillCreateUserInfo(Object obj, HttpServletRequest request){
            try {
            	//从session中获取到当前登录者的信息
                SessionInfo sessionInfo = (SessionInfo) request.getSession().getAttribute("sessionInfo");
                Class<?> clazz = obj.getClass();
                Method setCreateUserName = clazz.getMethod("setCreateUserName", String.class);
                Method setCreateUserTime = clazz.getMethod("setCreateUserTime", Date.class);
                setCreateUserName.invoke(obj,sessionInfo.getUser().getName());
                setCreateUserTime.invoke(obj,new Date());
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            } catch (NoSuchMethodException e) {
                e.printStackTrace();
            } catch (InvocationTargetException e) {
                e.printStackTrace();
            }
        }
    
        /**
         * @author: sunzhen
         * @date: 2019-07-31 18:24
         * @param: obj
         * @param: request
         * @return: void
         * @throws:
         * @description: 从request中获取修改人、修改时间信息通过反射填充到obj对象中
         */
        public static void fillUpdateUserInfo(Object obj, HttpServletRequest request){
            try {
            	//从session中获取到当前登录者的信息
                SessionInfo sessionInfo = (SessionInfo) request.getSession().getAttribute("sessionInfo");
                Class<?> clazz = obj.getClass();
                Method setUpdateUserName = clazz.getMethod("setUpdateUserName", String.class);
                Method setUpdateUserTime = clazz.getMethod("setUpdateUserTime", Date.class);
                setUpdateUserName.invoke(obj,sessionInfo.getUser().getName());
                setUpdateUserTime.invoke(obj,new Date());
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            } catch (NoSuchMethodException e) {
                e.printStackTrace();
            } catch (InvocationTargetException e) {
                e.printStackTrace();
            }
        }
    
    }
    

            先解释下为什么用反射,因为作为工具类,是准备在后面的业务中广泛使用的,肯定不能指定参数中的Object对象为某一业务存放信息的Bean对象,所以先在各业务存放信息的Bean类中增加创建与修改相关的四个属性,就可以利用反射的特性填充数据进去了。
            给各业务存放信息的Bean类中增加创建人、创建时间、修改人、修改时间这四个属性时,我采用的是创建一个基类让其他业务Bean继承可以减少代码的编写。贴上基类代码:

    /**
     * @author: sunzhen
     * @date: 2019/7/31
     * @time: 18:18
     * @description: 基类Bean,可继承到创建人,创建时间,修改人,修改时间属性
     */
    @MappedSuperclass
    public class BaseEntity {
    
        //创建人姓名
        public String createUserName;
        //创建时间
        public Date createUserTime;
        //修改人姓名
        public String updateUserName;
        //修改时间
        public Date updateUserTime;
    
        public String getCreateUserName() {
            return createUserName;
        }
    
        public void setCreateUserName(String createUserName) {
            this.createUserName = createUserName;
        }
    
        @DateTimeFormat(pattern = "yyyy-MM-dd")
        public Date getCreateUserTime() {
            return createUserTime;
        }
    
        @DateTimeFormat(pattern = "yyyy-MM-dd")
        public void setCreateUserTime(Date createUserTime) {
            this.createUserTime = createUserTime;
        }
    
        public String getUpdateUserName() {
            return updateUserName;
        }
    
        public void setUpdateUserName(String updateUserName) {
            this.updateUserName = updateUserName;
        }
    
        @DateTimeFormat(pattern = "yyyy-MM-dd")
        public Date getUpdateUserTime() {
            return updateUserTime;
        }
    
        @DateTimeFormat(pattern = "yyyy-MM-dd")
        public void setUpdateUserTime(Date updateUserTime) {
            this.updateUserTime = updateUserTime;
        }
    
    }
    

    最后到业务代码中使用,下面举个新增的例子,需要增加创建人和创建时间信息,直接使用工具类就可以了(别忘了数据库表与Java Bean的映射关系,本项目使用的是Hibernate所以在xxxx.hbm.xml里编写四个属性的映射关系,由于基本上每个Bean都得写所以我找了个能够简化的方法,就是写一个公共xml文件存放四个字段的映射部分,让映射xml导入这个公共xml就好了,详情参考我的另外一篇文章讲解hbm.xml如何导入外部xml文件)
    在这里插入图片描述
    操作后我们可以查看数据库里是否插入成功
    在这里插入图片描述
    有记录代表成功!

    展开全文
  • 但是其中一列X所要显示的数据无法通过查询语句A来获取,必须在循环显示查询语句A所得到的结果的基础上再分别通过查询语句B来获取相应数据,这个步骤严重增加了页面的加载时间。 目前想到的方法。使用Ajax异步加载...
  •  1、【基本题】定义一个时间类,提供设定时间、显示时间和秒数增加1的功能,其中设定时间的方法需要校验数据的正确性,  并在main函数中验证。 */ #include using namespace std; class Clock { public:  ...
    /*
      1、【基本题】定义一个时间类,提供设定时间、显示时间和秒数增加1的功能,其中设定时间的方法需要校验数据的正确性,
      并在main函数中验证。
    */
    #include<iostream>
    using namespace std;
    class Clock
    {
    public:
     void settime(int h,int m,int s);
     
     void showtime();
     void add();
     
     Clock(int h=0,int m=0,int s=0);
     Clock(const Clock &c);
     
    private:
     int hour;
     int minute;
     int second;
     int state;
    };
    Clock::Clock(int h,int m,int s):hour(h),minute(m),second(s),state(0)
    {
    }
    Clock::Clock(const Clock &c):hour(c.hour),minute(c.minute),second(c.second)
    {
    }
    void Clock::settime(int h,int m,int s)
    {
     this->hour=h;
     this->minute=m;
     this->second=s;
     if(h>0&&h<24)
     {
      state=state|0x4;   
     }
     if(m>0&&m<60)
     {
      state=state|0x2;
     }
     if(s>0&&s<60)
     {
      state=state|0x1;
     }
     
    }
    void Clock::add()
    { 
     if(this->hour==24)
     {
      this->hour++;
      this->hour=0;
     }
     if(this->minute==60)
     {
      this->minute++;
      this->minute=0;
     }
     if(this->second==60)
     {
      this->second++;
      this->second=0;
     }
    }
    void Clock::showtime()
    {
     if((state&0x4)==0)
     {
      cout<<"小时错了"<<endl;
     }
     if((state&0x2)==0)
     {
      cout<<"分钟错了"<<endl;
     }
     if((state&0x1)==0)
     {
      cout<<"秒错了"<<endl;
     }
     cout<<this->hour<<":"<<this->minute<<":"<<this->second<<endl;
    }
    void main()
    {
     Clock clock;
     clock.settime(21,78,90);
     clock.showtime();
     
    }
    
    展开全文
  • Python 当前时间增加或减少一个月

    万次阅读 2017-03-29 17:38:47
    问题今天在之前的代码中发现了一个bug,有个计算当前时间减少一个月的函数,其报出下面的异常信息:ValueError: day is out of range for month 看一下代码:import datatime def _last_month(now_time): last_...

    问题

    今天在之前的代码中发现了一个bug,有个计算当前时间减少一个月的函数,其报出下面的异常信息:

    ValueError: day is out of range for month
    

    看一下代码:

    import datatime
    def _last_month(now_time):
        last_month = now_time.month - 1
        last_year = now_time.year
        if last_month == 0:
            last_month = 12
            last_year -= 1
        month_time = datetime.datetime(month=last_month, year=last_year, day=now_time.day)
        return month_time

    原因

    问题出现在day=now_time.day上。后来想了一下,发现问题原因是3月30日减少一个月是2月30日,而2月没有30日,所以就抛出了上面的异常信息。


    解决办法

    对于日期操作,网上的写法都不太一样,而且不确定存在什么bug。日期函数是靠时间来验证的,没准一年以后就出现了(我这个bug是在指定的3月29日以后才能出现,神奇不:D)。
    所以我找了一个现有的日期扩展库,希望别人已经踩过大部分坑了。代码如下

    import datetime
    from dateutil.relativedelta import relativedelta
    
    if __name__ == "__main__":
        print(datetime.date.today() - relativedelta(months=+1))

    可以看出,主要是使用relativedelta类。初始化参数months是月的差异。
    安装这个库也很简单,执行命令pip install python-dateutil


    源码分析

    代码在
    https://github.com/dateutil/dateutil/blob/master/dateutil/relativedelta.py

    判断应该是在354行开始:

    if self.months:
                assert 1 <= abs(self.months) <= 12
                month += self.months
                if month > 12:
                    year += 1
                    month -= 12
                elif month < 1:
                    year -= 1
                    month += 12
            day = min(calendar.monthrange(year, month)[1],
                      self.day or other.day)

    参考:
    https://dateutil.readthedocs.io/en/stable/
    https://github.com/dateutil/dateutil

    @完

    展开全文
  • file_get_contents 增加超时的时间限制

    万次阅读 2011-01-19 18:28:00
    这里就简单介绍两种:一、增加超时的时间限制这里需要注意:set_time_limit只是设置 你的PHP程序的超时时间,而不是file_get_contents函数读取URL的超时时间。 我一开始以为set_time_limit也影响到file_get_...
  • HTML5表单教程之input新增加的六种时间类型今天介绍一下input在HTML5中新增加时间类型的应用,如果在以下这几种输入框中输入的格式不正确,是无法提交的。注意:此种类型的input在Opera10+中效果为佳,Chrome中...
  • jquery append脚本增加的html onclick时间无法生效的原因以及解决方案
  • 我当时系统时间是2018-06-07,大家可以看到,过去的时间还是选择的。 考虑到项目需求,很大可能选择日期只能是未来的时间。如:还款日期,发布日期,项目上线时间等。 默认显示一个时间框的代码如下: &...
  • HTML5表单教程之input新增加的六种时间类型 今天介绍一下input在HTML5中新增加时间类型的应用,如果在以下这几种输入框中输入的格式不正确,是无法提交的。 注意:此种类型的input在Opera10+中效果为佳,...
  • 精确对时:增加Internet时间服务器

    千次阅读 2005-02-17 08:23:00
    很多朋友喜欢使用Windows XP的Internet时间服务(时间服务对采用域登录的用户无效)。不过在默认情况下,Windows XP只为我们提供了两个时间服务器,一旦出现同步不成功的情况,可以选择的余地太小。其实,如果你很...
  • RAM是要在通电的情况下才能保持存储的信息,一当断电就将丢失存储的信息.在增加RAM容量的情况下,就等于供电增加,直接影响电池使用时间.建议在增加RAM的情况下,同时增加电池容量. 
  • JQuery 和 bootstrap 插件自己导入,这里...结束时间 在 开始时间之后,不选择开始之前的时间! 开始时间在结束时间之前! 从前面开始时间选择: 从后面 结束时间选择: $("#pzTime").datetimepicker({
  • 1、jsp页面时间规范显示 页面头部: 规范显示: 2、jsp页面无缓存 3、后台session读写 写 取 4、后台增加后的跳转(后台向前台输出js) 5、写的时候遇到列表页超出不显示滚动条的...
  • java程序在运行一段时间后,内存逐渐爆满,随后cpu使用率上升 上周遇到一个很奇葩的问题,现场反应,程序运行20分钟以后cpu使用率在90%以上,拿到代码无从下手,经过几天的研究,最终找到原因并解决。 通过现场bug...
  • ORACLE数据表有很多数据如果增加字段需要很长时间   关于创建的方式哪种更快,需要综合考虑,由于楼主的库是非归档模式的,所以估计是个测试库。 对于测试环境,楼主的两种加载数据的方式都可行,...
  • 首先是通过增加磁盘的方式:最近需要在虚拟机里面实际操作些东西,需要至少两个盘,一个系统盘,一个普通盘,结果发现安装完虚拟机后默认只有一个C盘,本来还想打算采用工具无损分区从C盘分出来一些,后来发现不行,...
  • 简单粗暴LSTM:LSTM进行时间序列预测

    万次阅读 多人点赞 2018-12-14 21:12:48
    使用LSTM进行时间序列预测 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新...
  • PT站的种和魔力值是如何增加换算的?相信混了一段PT界的小伙伴,一定头疼一个问题,各大站点的PT魔力值是怎么计算的呢?今天小编就针对这个问题,给大家一个解答,希望帮助大家了解到PT网站的魔力值计算方法。...
  • 发现获取到的日期格式如果直接传的话会是英文+数字的格式XXXTXXXZ这种格式,这种格式如果靠自己手动来格式化日期,无疑会增加非常大的工作量。 所以这里需要通过mount插件进行日期的格式化。这里需要对其进行转化为...
  • 当一个主题被创建之后,依然允许我们对其一定的修改,比如修改分区个数、修改配置等,这个修改的功能就是由kafka-topics.sh脚本中的alter指令所提供。 我们首先来看如何增加主题的分区数。以前面的主题topic-...
  • 对比 Android 的 Intent 与 iOS StoryBoard 的 Segue - Intent 如果也能增加个prepareForSegue回调就好了
  • 前几天在客户现场出现,WCF客户端调用服务端答复超时的现象...考虑答复超时主要是由于服务端繁忙,导致不及时反馈信息给客户端,当时考虑并发导致,更改了WCF的最大连接数以及iis服务的最大连接数等操作,参考博文:...
  • 在正常显示时间界面按下K4键会进入设置闹钟界面(不会暂停时钟芯片),通过K2键选中光标闪烁的单位(时,分),按下K1键为+1,再次按下K4退出设置闹钟界面并保存闹钟时间,当显示时间到达闹钟时间蜂鸣器开始报警,...
  • Greenplum节点增加

    千次阅读 2016-02-24 14:13:31
    在日常的运维过程中,会发现目前的节点数量不够,需要单独增加节点的情况。本文就是基于此种情况。增加的过程其实很简单,大部分的配置和之前的文档–安装前的准备差不多。 1.关闭iptables和selinux 2.增加机器和...
  • 101个增加外链的方法,增加反向链接是一件费时间,令人烦恼,有时候让人迷惑的事。但是,无可避免。最终,链接是好的排名的王牌。很多人希望情况会改变。下面先看2个问题: 1)建立反向链接在一段时间内对排名还很重要吗...
  • 增加收入的 6 种方式

    千次阅读 多人点赞 2017-05-29 06:50:11
    个人赚取收入的本质是:出售时间。从这个角度出发,可以找到 6 种提升个人收入的方法
  • 我相信你在linux mint 鼠标主题美化的时候一定遇到过这样的问题 没错!!! 下载的鼠标的主题的示例图片不正确显示,当然这样虽然不影响正常的鼠标主题更换使用,但是对于我这种强迫症来说简直难受死 解决...
  • csdn如何增加访问量

    千次阅读 热门讨论 2019-12-11 18:21:45
    作为一个记忆不太好的程序猿,在我印象中,大部分的程序猿,每天都没有什么话,沟通的时间很少,从早上9点开始,一直到6点,有时候可能是996,当然,本人,也是不善言辞的那种类型,之前都是通过有道云记录工作中的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,773,663
精华内容 709,465
关键字:

怎样做才能增加时间