<P> Java has built - in tools for multi-thread programming . For the purposes of thread synchronization the synchronized statement is included in Java language . </P> <P> To make a code block synchronized, it is preceded by the synchronized keyword followed by the lock object inside the brackets . When the executing thread reaches the synchronized block, it acquires a mutual exclusion lock, executes the block, then releases the lock . No threads may enter this block until the lock is released . Any non-null reference type may be used as the lock . </P> <P> assert statements have been available since J2SE 1.4 . These types of statements are used to make assertions in the source code, which can be turned on and off during execution for specific classes or packages . To declare an assertion the assert keyword is used followed by a conditional expression . If it evaluates to false when the statement is executed, an exception is thrown . This statement can include a colon followed by another expression, which will act as the exception's detail message . </P> <P> Primitive types in Java include integer types, floating - point numbers, UTF - 16 code units and a boolean type . There are no unsigned types in Java except char type, which is used to represent UTF - 16 code units . The lack of unsigned types is offset by introducing unsigned right shift operation (>>>), which is not present in C++ . Nevertheless, criticisms have been levelled about the lack of compatibility with C and C++ this causes . </P>

Write down the syntax of main() method in java