gpt4 book ai didi

Java-Fake 系统时钟启动

转载 作者:行者123 更新时间:2023-12-01 13:40:05 27 4
gpt4 key购买 nike

作为解决方法,我需要更改某个 Java 程序的系统时钟,而不触及代码才能获取:

calendar.getinstance().get(calendar.year) = 2013

是否可以仅通过启动配置设置变量?

谢谢

编辑:抱歉,我想将当前年份模拟为 2013

最佳答案

首先,如果没有管理员权限,则无法在操作系统级别设置系统时钟。这也会影响机器上运行的所有软件。但您只想为一个程序更改时钟。因此,当您拒绝设置系统时钟的此选项时,那么任何类型的代码更改都是必要的(您不想要的)。您无法仅通过配置属性来伪造系统时间而不更改任何代码。

其次,模拟 java.util.Date (编写子类)的想法可能对您有用,尽管它需要更改代码。看到这个有趣的link使用仪器。

第三,Java 8 中的新 JSR-310 有一个特殊的类 java.time.Clock,它允许注入(inject)到现有代码中并可以模拟假时钟。该解决方案的优点是:一旦您以这种方式准备好程序,那么您以后确实可以通过配置来更改时钟。但至少有一次您需要更改初始代码。

关于Java-Fake 系统时钟启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20898378/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com