When the Java language is used in a large-scale real-time communications system, processing power presents a problem. The authors have been investigating an essential solution for this problem. This paper proposes a technique in which native code which has already been on-line compiled by a JIT compiler is dynamically reordered, based on profiling data obtained in the Java execution environment. The realization procedure is clearly described. The technique is to place segments of compiled code with high execution frequency close to each other as a group in memory. In addition, codes with low execution frequency are allocated to another area, so that the codes with high frequencies are more compactly placed. By this measure, the instruction cache hit rate of the processor is greatly increased and the processing performance in a large-scale program can be improved. The extent of performance improvement by applying the dynamic code reordering technique is evaluated, using applications with characteristics close to those of the real large-scale real-time communications program, and the effectiveness of the proposed method is demonstrated. © 2006 Wiley Periodicals, Inc. Electron Comm Jpn Pt 1, 89(11): 78–88, 2006; Published online in Wiley InterScience (www.interscience.wiley.com). DOI 10.1002/ecja.20185 [ABSTRACT FROM AUTHOR]