草庐IT

cpu-time

全部标签

java - HashSet vs ArrayList CPU 使用率高

我有104k个字符串值,其中89k个是唯一的。我想检查这个列表中是否存在一个字符串。这是我的类及其保存所有这些记录的方法。publicclassTestClass{privatestaticTestClasssingletonObj=null;privateListstringList=null;publicstaticsynchronizedTestClassgetInstance(){if(singletonObj==null){singletonObj=newTestClass();}returnsingletonObj;}publicbooleanisValidString(S

java - 设置java使用一个cpu

我有一个应用程序拥有一定数量的cpus许可证,我希望能够在检查完成之前将运行java的cpus数量设置为1。我正在运行Solaris并查看了pbind但认为如果我启动应用程序然后使用pbind它会在设置java可以使用的CPU数量之前检查许可证。有谁知道在Solaris上启动具有一定数量CPU的应用程序的方法吗? 最佳答案 这是一种变通方法,但使用Solaris10,您可以设置一个具有单个可用CPU的区域,然后在该区域内运行应用程序。如果您想在不运行完整应用程序的情况下进行测试,他们很可能使用这段Java来获取CPU的数量:Runt

针对 JDK8 构建时,Java 应用程序 CPU/负载更高

我有一个在Windows中的EclipseLuna中开发的Java应用程序,它在AmazonEC2(c3.large,AmazonLinux)中运行。此应用程序进程以非常一致的传入速率工作。当我针对JDK8u31构建应用程序时,EC2CPU负载远高于针对JDK7u75构建的同一应用程序。该应用程序最初在EC2上使用默认JRE运行,我添加了OpenJDK1.8.0.31以利用Java8ProcesswaitFor(longtimeout,TimeUnitunit)。该应用程序的主要工作涉及使用Runtime.exec调用应用程序。$sudoalternatives--configjava

java - 算法 : Hybrid MergeSort and InsertionSort Execution Time

美好的一天SO社区,我是一名CS学生,目前正在进行结合MergeSort和InsertionSort的实验。据了解,对于某个阈值S,InsertionSort将比MergeSort具有更快的执行时间。因此,通过合并两种排序算法,将优化总运行时间。但是,在多次运行实验后,使用1000的样本大小,不同大小的S,每次实验的结果都没有给出确定的答案。这是获得的更好结果的图片(请注意,有一半的时间结果不是确定的):现在,尝试样本大小为3500的相同算法代码:最后,以500,000的样本量尝试相同的算法代码(注意y轴以毫秒为单位:尽管从逻辑上讲,当S目前,这些是教给我的时间复杂度:合并排序:O(n

java - XSLT 文档() : Is it slower when calling it multiple times?

2013年7月17日更新:XALAN2.7不缓存document()请求中的调用。因此,将每个需要的文档存储在XSL中的一个变量中至关重要。我已经搜索了很长时间,但没有找到我这个简单问题的具体答案:哪种方法更快或者编译器是否足够“智能”以致于两种变体相同?注意:我使用的是Xalan2.7(JDK1.6中的默认实现):1)我必须读取外部XML中的属性:每当我需要城市时,我都会使用上面的表达式(比如说100次)2)我没有调用document()100次,而是将XML节点存储在一个变量中:然后我用了100次哪个更快、更好,原因是什么?谢谢! 最佳答案

java - 用户名的正则表达式会增加 CPU 消耗

我们有以下用户名验证规则:用户名可以包含字母数字字符用户名可以有下划线、连字符或句号现在假设用户名是ASCII用户名不能以句点开头或结尾用户名不能开始、结束或有任何空格我们有以下相同的正则表达式:^(([a-zA-Z0-9]+[_-]*[a-zA-Z0-9]*)([\\.]*[a-zA-Z0-9])*)+$现在尝试匹配特定的字符串,CPU使用率呈指数增长。例如:M45766235H.M96312865E@EXAMPLE.COM显然,像上面那样匹配字符串应该会立即失败,但我想知道为什么要占用那么多CPU周期。最终代码:importjava.util.regex.*;publicclass

Java VisualVM CPU 使用率和处理器亲和性

根据我今天的经验,我发现Oracle的JavaVisualVM将cpu使用率显示为总机器内核的百分比,即使被监视的JVM在操作系统中设置了有限的进程亲缘关系也是如此。这是在“监视器”选项卡中。使用taskset(在linux、Ubuntu上)限制受监控的jvm,当允许该jvm的处理器在htop中接近100%利用率时,cpu百分比显示在VisualVM显然等于cpu总数除以被监控的jvm允许的处理器数。因此,秤的分辨率对于这种情况是不够的。您能否确认您在其他操作系统或一般情况下观察到相同情况?有没有办法让VisualVM在显示CPU使用率时只考虑关联分配的核心?

java - java.time API 如何确定政府对区域规则的更改?

我不住在使用夏令时的国家/地区。我在数据库中保存了一个futureLocalDateTime、与UTC的偏移量和ZoneId该地区的政府更改DST规则那个future的时间到了,我将检索那个区域的LocalDateTime如果我应用ZoneId和Offset来获取该区域中的LocalDateTime,java.timeAPI如何正确获取它?它怎么知道政府改变了规则?它是否从互联网上获取更新? 最佳答案 时区更新通常随JRE更新一起提供。每当某个特定地区的时区发生变化时,此信息都会包含在下一版本的JRE中。Here您可以找到有关JRE

linux倒序查看占用cpu或内存最多的进程

一、获取当前系统占用CPU最高的前10个进程命令:psaux|head-1;psaux|sort-rn-k3|head-10该命令组合由2条独立的命令组成:psaux|head-1:这一句是为了获取标题(USERPID%CPU%MENVSZRSSTTYSTATSTARTTIMECOMMAND)信息。而head:-N可以指定显示的行数为N行,默认显示10行。psaux|sort-rn-k3|head-10:这一句是一个输出加排序组合,ps参数的a指代all,表示所有的进程;u指代userid,就是执行该进程的用户ID;x指代显示所有程序,不以终端机来区分。接下来是sort命令:1.参数r指代re

java - 如何确定应用程序中的 gc-cpu 利用率?

我们希望将JConsole/JVisualVM的一些功能内部化,并从正在运行的应用程序中收集有关cpu利用率和内存消耗的数据。原因是,安全约束阻止我们在生产系统上向外部开放jmx端口。所需的大部分数据都可以通过MXBeans进行监控,但是,用于垃圾收集的cputime仍然让我们望而却步。通过GarbageCollectorMXBean监控gc-time没有用,因为它只提供并行工作收集器的walltime。我假设可以使用ThreadMXBean来确定所有gc线程的cputime。我看不出有什么办法可以安全地识别这些线程。有人知道JVisualVM是如何计算这个数字的吗?