2015-07-11 47 views
0
public static synchronized strictfp void main(String... arg) 

在上述声明中的主要方法使用strictfp修饰符和synchronized关键字,可以有人请解释的​​和strictfp的宗旨,为main方法。对于Java的synchronized什么是Java中

+3

main()方法应该由JVM调用,不应该被程序员调用以供内部使用。因此它不应该synochonized –

+0

至于'strictfp'你可能想看看[这个问题](http://stackoverflow.com/questions/517915/when-should-i-use-the-strictfp-keyword -in-java的)。旁注:它是一个关键字,而不是修饰符。 – Turing85

+1

@ Turing85 - 它是一个修饰符,请参阅[JLS](https://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.4.3)。 – RealSkeptic

回答

0

很少有很好的解释在这里给出 - what-does-synchronized-meanlearning-java-use-of-synchronized-keyword

现在,如果主要方法是同步的,只有一个线程可以进入这个方法,它是Java主线程(假设类作为主类执行)。

为了执行此方法,主线程将获取类级锁(作为静态方法)。所以,如果这个类有更多的静态同步方法,这些方法将永远被其他线程阻塞,直到主线程完成执行或进入等待状态。

strictfp是Java的解释when-should-i-use-the-strictfp-keyword-in-javastrictfp-in-java

它不具有任何main()不同的行为。