草庐IT

CPU时间

全部标签

java - Spring-retry(Spring Boot)中如何配置延迟时间

是否可以配置@Retryable?此方法(getCurrentRate)将被调用3次。一开始是5分钟,之后是10分钟,最后是15分钟。我该如何配置?@Retryable(maxAttempts=3,value=RuntimeException.class,backoff=@Backoff(delay=1000))示例publicclassRealExchangeRateCalculatorimplementsExchangeRateCalculator{privatestaticfinaldoubleBASE_EXCHANGE_RATE=1.09;privateintattempts=

Java:如何确保接口(interface)方法不会比 X 花费更多时间?

我有一个接口(interface)方法booleanright(),如果它在一秒钟内没有“应答”,它应该返回false。 最佳答案 是的,这可以通过例如java.util.concurrent.Future(标准interface表示类型为V的异步计算的结果),结合方法get(longtimeout,TimeUnitunit).该方法可能会抛出TimeoutException,除其他异常(exception)情况外,但在正常执行时返回计算结果。在这种情况下,您需要一个Future,与get(1,TimeUnit.SECONDS)在t

java - 高 CPU,可能是由于上下文切换?

我们的一台服务器的应用程序的CPU负载非常高。我们查看了各种统计数据,但无法找到问题的根源。目前的一个理论是涉及的线程太多,我们应该尽量减少并发执行的线程数。只有一个主线程池,有3000个线程,和一个与之一起工作的WorkManager(这是JavaEE-Glassfish)。在任何给定时刻,大约有620个独立的网络IO操作需要并行执行(使用java.NIO也不是一个选项)。此外,大约有100个不涉及IO的操作也是并行执行的。这种结构效率不高,我们想看看它是否真的造成了损害,或者仅仅是一种不好的做法。原因是这个系统中的任何更改都非常昂贵(就工时而言),因此我们需要一些问题的证据。现在我

java - 似乎在等待的线程的高 CPU 使用率

我目前正在运行一些JMeter测试来测试Web服务的性能。它使用了大量的CPU。对于一个JMeter请求线程,它使用10-30%(取决于请求类型)。当我将其增加到仅15个线程时,我的CPU利用率约为95%。自然,我想弄清楚发生了什么。我做了一个HprofCPU示例(我尝试了times选项,但需要一个半小时才能启动我的服务,并且没有消息会通过)。以下是该采样的结果片段(超过15分钟)。CPUSAMPLESBEGIN(total=220846)FriAug2213:38:542014rankselfaccumcounttracemethod114.96%14.96%33038300514j

java - jackson :解析自定义偏移日期时间

我有一个具有时间戳属性的模型:classModel{@JsonProperty("timestamp")privateOffsetDateTimetimestamp;}时间戳格式如下:2017-09-1713:45:42.710576+02OffsetDateTime无法解析:com.fasterxml.jackson.databind.exc.InvalidFormatException:Cannotdeserializevalueoftypejava.time.OffsetDateTimefromString"2017-09-1713:45:42.710576+02":Text'2

java - 处理线程最大执行时间的最佳方法(在 Java 中)

所以,我很好奇。您如何处理设置线程的最大执行时间?在线程池中运行时?我有几种技巧,但我对它们总是不太满意。所以,我想我会问问社区他们是怎么做的。 最佳答案 怎么样:将您的Callable提交给ExecutorService并保留返回的Future的句柄。ExecutorServiceexecutorService=...//CreateExecutorService.Callablecallable=newMyCallable();//Createworktobedone.Futurefut=executorService.subm

java - 从 hbase 行中检索时间戳

使用HbaseAPI(获取/放置)或HBQLAPI,是否可以检索特定列的时间戳? 最佳答案 假设您的客户端已配置并且您有一个表格设置。执行get返回ResultGetget=newGet(Bytes.toBytes("row_key"));Resultresult_foo=table.get(get);结果由KeyValue支持.KeyValues包含时间戳。您可以使用list()获取键值列表或使用raw()获取数组。KeyValue有一个获取时间戳的方法。result_foo.raw()[0].getTimestamp()

java - 将 joda LocalTime 转换为 sql 时间

我想将LocalTime对象转换为java.sql.Time对象。java.sql.Timetime=newjava.sql.Time(newLocalTime(1,0,0,0).getMillisOfDay());System.out.println(time);//20:00:00上面的代码并没有创建一个值为01:00:00的时间对象,而是创建了一个时间为20:00:00的对象。本地时间为东部时间。我应该采取什么步骤? 最佳答案 Time(..)接受从1970年开始的时间戳。所以你应该传递它:新时间(newLocalTime(.

java - 验证时间戳格式 yyyy-MM-dd'T'HH :mm:ssZ in java?

我正在尝试使用jodatime-1.6.2进行时间戳验证。请指出我的错误并帮助我。代码Stringtimestamp="2014-09-23T23:03:11Z";StringdatePattern="yyyy-MM-dd'T'HH:mm:ssZ";try{DateTimeFormatterdateFormatter=DateTimeFormat.forPattern(datePattern);dateFormatter.parseDateTime(timestamp);}catch(Exceptione){LOG.info("Timestampisinvalidformat"+e);

java - 使用具有当前时间的随机数生成器与不使用

我想了解使用以System.currentTimeMillis()作为种子的随机数生成器与仅使用默认构造函数之间的区别。也就是说,这之间有什么区别:Randomrand=newRandom(System.currentTimeMillis());还有这个:Randomrand=newRandom();我知道这些数字是伪随机的,但我还没有完全理解细节,以及它们是如何产生的,介于将当前时间用作种子时获得的“随机性”级别与默认时间之间使用构造函数。 最佳答案 提供您自己的种子对于您有意多次生成相同的伪随机值序列的模拟非常有用。不过,一般来