当我运行以下代码时:
public class Test {
Test(){
System.out.println("1");
}
{
System.out.println("2");
}
static {
System.out.println("3");
}
public static void main(String args[]) {
new Test();
}
}
我希望按以下顺序获得输出:
1
2
3
但是我得到的却是相反的顺序:
3
2
1
谁能解释为什么输出顺序相反?
================
另外,当我创建多个的实例时Test
:
new Test();
new Test();
new Test();
new Test();
静态块 仅 在第一次执行。
我一直在看到奇怪的方括号,无法找到和有关可能存在的内容的信息,日志看起来像这样: 正如您所看到的,在日志级别后面有带逗号的括号,在某些时候,括号中的信息如下所示: 无法真正找到可能是什么,我使用的是默认的Spring启动日志记录模式,是否可以在不重新声明日志记录模式的情况下错误地使用MDC?如果是MDC问题,那么为什么括号中的任何值看起来像这样: 我使用的记录器是Slf4j
我在做Maven项目。我用log4j做了一个日志。但它在给定的文件中显示了一些starnge日志。我试图理解,为什么会出现这种奇怪的日志,但我不明白。请帮助我,为什么这些不需要的行会进入日志文件。 请帮我把这个拿开。 log.properties 我通过阅读这个链接创建了这个文件。 代码是 日志txt-(log.txt的一些起始行)
问题内容: 我正在看书,有一些带有花括号的程序示例 例如 问题答案: 这是一个代码块。在其中声明的变量在上部代码块(这些curl之外的方法体)中不可见,即它们的作用域更加有限。
问题内容: 有时在角形中我看到花括号,但有时没有。我搜索了很多,但找不到正确的问题 带花括号 不带花括号 什么我问的是,为什么我们不能写为 为什么有2不同的语法和? 问题答案: 它仅取决于“声明”所使用指令的方式。 如果指令具有以下声明: 那么,您不必使用双胡须,因为该指令需要一个对象 如果指令的声明如下: 然后,它期望一个值。如果您的值来自javascript变量,则必须使用大括号将包含在变量中
所以我更新了代码,添加了行所做的是将主线程置于Hibernate状态一段时间,因此jvm可以获得一些时间来创建一个新线程。我正在得到我的预期输出