1) The instance blocks are executed irrespective of any condition.
2) The instance blocks and instance variables are executed before constructor execution. If you are giving a chance to the constructors then only instance blocks are executed.
3) In the class it is possible to take the any number of instance blocks. the execution order is top to bottom.
4) Instance blocks are executed based on the object creation. If we are creating ten objects ten times instance blocks will be executed.
5) If the source file contains inheritance concept at that situation first parent class instance block will be executed then child class instance blocks will be executed.