More information:
1. Have had a look at robocode source — when you don't call execute yourself, robocode will call that for you every turn, which is theoretically the same as while(true){execute();}.
while(true){execute();}
2. I call rescan instead of execute to fix some missed scan bugs.