We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
在Java常见关键字总结中, 有如下说明:
🐛 修正(参见: issue #677) :静态代码块可能在第一次new的时候执行,但不一定只在第一次new的时候执行。比如通过 Class.forName("ClassDemo")创建 Class 对象的时候也会执行。
这句话有歧义, 我第一次看到的时候认为是static有可能会执行两次, 即"不一定只在第一次new的时候执行"我理解为"在new的时候执行static块后, 可能还会再执行一次static块".
当然通过代码验证以及查看issue后明白是指 "可以通过new或者Class.forName来执行static". 代码验证如下:
public void staticExecTimeTest(){ try { Thread.sleep(2000); Class.forName("yourClassName"); } catch (Exception e) { e.printStackTrace(); } }
所以也是觉得消除歧义可能对于不熟悉的人更加友好.
The text was updated successfully, but these errors were encountered:
可以通过new或者Class.forName来执行static
已经修正~
Sorry, something went wrong.
No branches or pull requests
在Java常见关键字总结中, 有如下说明:
这句话有歧义, 我第一次看到的时候认为是static有可能会执行两次, 即"不一定只在第一次new的时候执行"我理解为"在new的时候执行static块后, 可能还会再执行一次static块".
当然通过代码验证以及查看issue后明白是指 "可以通过new或者Class.forName来执行static".
代码验证如下:
所以也是觉得消除歧义可能对于不熟悉的人更加友好.
The text was updated successfully, but these errors were encountered: