工作之余就想写这篇文章了,但是种种原因没有写上,回到家中记录一下,以供在被岁月摧残的N多年之后回忆一下,也许还可以给别人带来帮助,而更多的是为了温故而知新,不善言谈,直接上代码。
class MyTask extends TimerTask {
public void run() {
System.out.print("hello everybody!");
}
}
Timer timer = new Timer();
timer.schedule(new MyTask(), 60*1000, 60*1000);
上面这段代码的意思非常简单,每隔60秒输出一次hello everybody!
那么问题来了!
1、如果在linux上面运行,调整了系统时间比当前时间多一分钟,那么这个输出不会等待60秒后输出,而是马上输出。
2、如果在window上面运行,调整了系统时间比当前时间多一分钟,这个输出还是需要等待60秒才会输出。
于是我分别查看了linux和window下的java soource,没发现出入。
然后我远程调试最终发现是因为Object.wait()方法是native实现的,调用的是dll文件,linux下的wait会受到系统时间调整的影响,而window不会,所以导致了这个问题,懒得找c++代码去看,而且猜也能猜到c++的大概写法,就到这了,有兴趣的童鞋可以把c++的代码贴出来供大家学习。
分享到:
相关推荐
SldView是一款由西安建华科技实业有限公司研发的嵌入式Linux集成开发环境,它专为Windows系统设计,支持对uC/OS-II、uCLinux和Linux三种嵌入式操作系统的开发工作。SldView提供了从代码编辑、交叉编译到交叉调试的...
6. **兼容性**:作为开源项目,Poker Tournament Timer可能有跨平台版本,可以在Windows、Mac OS、Linux等多种操作系统上运行。 7. **社区支持**:开源社区的存在使得用户可以获取及时的帮助和支持,同时也能分享...
在Linux或其它Unix-like系统中,消息循环可能表现为事件循环,如Glib的g_main_loop或Qt的QEventLoop,它们通过监听文件描述符、定时器等事件来实现异步处理。 ### 回调函数 回调函数是程序员提供的一个函数指针,...
【JMeter学习】 Apache JMeter是一个由Apache组织开发的开源性能测试工具,主要用来进行压力测试和性能评估。它是纯Java应用程序,适用...通过深入理解和熟练使用,可以有效地评估系统在高负载下的性能表现和稳定性。
它提供了图形化的用户界面,便于用户分析性能指标和在高负载下测试服务器、脚本或对象的能力。此外,JMeter还用于模拟高负载,测试服务器、网络或其他对象在压力下的服务承受能力,以及分析它们在不同负载条件下的...
- **负载测试**:模拟成千上万的用户同时访问应用,检查系统在高负载下的表现。 - **压力测试**:测试系统的极限承受能力,确定崩溃点。 - **功能测试**:验证应用的正确性,例如检查响应数据是否符合预期。 - **...
除了基本的配置,JMeter还提供了丰富的功能,如采样器(Sampler)用于发送不同类型的请求,断言(Assertion)用于验证响应结果,监听器(Listener)用于收集和显示测试结果,以及定时器(Timer)来控制请求间隔等。...
直方图和曲线图虽然在表现形式上不同,但它们都涉及到了实时数据更新和图形绘制,所以这个文件可能会提供一些实现动态曲线绘制的灵感或代码片段。 总结来说,实现MFC下的实时动态曲线绘制,需要掌握MFC应用程序开发...
1. **安装与配置**:介绍了如何在不同的操作系统环境下安装Swoole扩展,包括Windows、Linux以及各种PHP版本的兼容性。此外,还会讲解如何配置php.ini文件以启用Swoole扩展。 2. **基础概念**:讲解Swoole的核心概念...
2. 可靠性评估:检查定时器在高并发、网络延迟或系统负载变化等情况下的表现。 3. 资源消耗:确认定时器不会过度消耗CPU或内存资源,影响系统整体性能。 4. 错误处理:验证定时器在异常情况下,如任务执行失败或...
ACE库的核心组件包括ACE_Win32和ACE_POSIX,分别针对Windows和Unix/Linux等操作系统提供适配层。 2. **ACE的类结构**:ACE库包含众多类,如ACE_SOCK,ACE_SOCK_Dgram,ACE_SOCK_Stream,用于不同类型的网络通信...
例如,使用跨平台框架如Qt或.NET Core可以确保在Windows、Linux和MacOS上的表现一致。 8. **测试与调试**: - 在开发过程中,需要进行充分的测试,确保时间显示的准确性,尤其是在时区切换、夏令时调整等复杂情况...
- 时间复杂度:通过分析算法的时间复杂度,如O(1)常数时间、O(logn)对数时间、O(n)线性时间、O(n log n)线性对数时间和O(n^2)平方时间,可以预测代码在大规模数据下的表现。 - Shell命令`time`:在Linux中,`time`...
这款开源软件由Apache基金会开发,遵循100%纯Java的原则,确保其跨平台性,可以在Windows、Linux、Mac OS等不同操作系统上运行。JMeter不仅限于Web应用测试,它也适用于测试各种协议和服务,如FTP、SMTP、HTTP、SOAP...
JMeter允许用户通过创建脚本来模拟大量并发用户,以测试系统在高负载下的表现。 在"apache-jmeter-5.3.zip"压缩包中,你可以找到JMeter的完整安装文件,包括可执行文件、文档、示例测试计划和其他必要的组件。解压...
这款主板能够兼容的操作系统包括Windows XP、Windows Embedded CE、Windows Embedded Standard和Linux等,为用户提供了多样化的选择空间。在系统监控和管理方面,EPIA-P820支持网络唤醒(Wake-on-LAN)、键盘开机、...
2. **逐步增加负载**:采用渐进式加载,逐步增加用户数,以便观察系统在不同负载下的表现。 3. **监控系统资源**:测试期间监控服务器CPU、内存、网络等资源,有助于找出性能瓶颈。 通过以上对JMeter的详细解析,...
安装JMeter本身相对简单,只需将下载的JMeter压缩包解压到指定目录,然后通过bin目录下的jmeter.bat(Windows)或jmeter.sh(Linux或Mac OS)启动。 JMeter的工作原理是通过模拟多个用户(线程)同时发送请求来测试...
Java是一种跨平台的面向对象的编程语言,它的“一次编写,到处运行”特性使得这个小工具可以在多种操作系统上运行,包括Windows、Mac OS和Linux等。这个项目中包含的“jre”指的是Java运行环境,它是执行Java程序所...
【标题】"Jmeter简单的压力测试" 在IT领域,性能测试是评估系统在高负载下运行能力的关键步骤。...通过理解和掌握JMeter的使用,你将能够更好地理解你的应用程序在高负载下的表现,并作出相应的优化决策。