小编Mar*_*ing的帖子

ThreadMXBean.getThreadCpuTime()是否包括在所有状态中花费的时间,或者只是RUNNABLE?

就像主题所说,它是否包括在BLOCKED和WAITING等中花费的时间,状态,还是这只是RUNNABLE?文档只是说"cpu time",这有点模糊......

java multithreading jmx

7
推荐指数
1
解决办法
4469
查看次数

在java中调用System.gc()是否建议终生代和年轻代的垃圾收集?

在java(通过JMX)中调用System.gc()时,它将尽职尽责地(尝试)清理年轻一代.这通常很有效.但我从未见过它试图清理终身一代.这引出了两个问题:

  1. 可以年老代,甚至采集(即有没有真正的垃圾在我们这一代,还是在年老代中的所有对象其实还是有活对它们的引用)?
  2. 如果可以收集终身代,可以通过System.gc()来完成,还是有另一种方法(不太可能),或者我只需要等到终身用完了?

java garbage-collection

5
推荐指数
1
解决办法
1957
查看次数

PAXOS 或 RAFT 中重新上线的副本如何赶上?

在 PAXOS 和 RAFT 等共识算法中,会提出一个值,如果法定人数同意,则会将其持久写入数据存储。在法定人数达到时无法参加的参与者会怎样?他们最终如何赶上?无论我看什么,这似乎都是留给读者的练习。

distributed-computing consensus paxos raft

5
推荐指数
1
解决办法
488
查看次数

Logback有时不会写入日志文件,有时也不会滚动日志文件

有时当我启动我的java应用程序时,logback拒绝向我的日志文件写入任何内容.有时它也拒绝在午夜(或午夜之后的第一个日志记录事件)滚动日志文件,这导致日志记录事件丢失到空白.当我在logbacks无法滚动日志时查看我的主日志文件时,它将有23:59的时间,与昨天的日期一样,并且在此之后的任何和所有日志记录语句将无法挽回地丢失.我有一个相当简单的配置文件,看起来是正确的.它当然应该是正确的,因为它在大多数时间都有效.

这是我的配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <!--See http://logback.qos.ch/manual/appenders.html#RollingFileAppender-->
    <!--and http://logback.qos.ch/manual/appenders.html#TimeBasedRollingPolicy-->
    <!--for further documentation-->
    <append>true</append>
    <File>aggregator.log</File>
    <encoder>
        <!-- was: %d{yyyy-MM-dd HH:mm:ss}%5p [%t] (%F:%L) - %msg%n -->
      <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] \(%class{25}:%line\) - %msg%n</pattern>
    </encoder>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <!-- By setting the name to .gz here, we get free compression. -->
      <fileNamePattern>aggregator.log.%d{yyyy-MM-dd}.gz</fileNamePattern>
    </rollingPolicy>
  </appender>
  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] \(%class{25}:%line\) - %msg%n</pattern>
    </encoder>
  </appender>
  <root level="DEBUG">
    <appender-ref ref="file"/>
    <appender-ref ref="console"/>
  </root>
</configuration>
Run Code Online (Sandbox Code Playgroud)

不幸的是,我无法可靠地重现此错误,因此调试它有点困难.有人能告诉我我做错了什么,或者其他可能是什么问题?如果它有任何帮助,我将STDOUT和STDERR重定向到/ dev/null(我在linux上运行,顺便说一句).

java logging file disk logback

3
推荐指数
1
解决办法
8705
查看次数