Concurrent management and data distribution problems in parallel program design frustrate the construction of large scale software. In recent years, the researches to combine both parallel processing and object oriented techniques have got many result, including explicit parallel languages and automatic parallelizing compilers. Object oriented languages have many features that traditional languages have not. Java even has many new parallel facilities of modern languages. These features greatly frustrate the direct application of traditional techniques of parallelization to object oriented languages. For example, many small functions in object oriented programs are main obstacles to optimize the performance because these small functions generally have little computing cost but quite a bit invocation cost. In this paper, we propose one method for parallelizing OOL to reduce RPC cost. We discuss the condition for applying our techniques and introduce how to apply our techniques to reduce RPC cost. The optimization firstly separates one loop into multiple loops, and then distributes separated loops into different processors where the invoked object in loop is allocated. Finally, we reduce the iteration space and transports data by message passing. We apply the optimization after distributing objects and parallelizing loops. The optimization localizes method invocation at the processor. Through the optimization we exploit further parallelism, reduce computing complexity and reduce function call cost. The optimization is suitable for small function optimization in OOL. We have implemented the optimization in our automatic parallelizing compiler for JAVA, JAPS II. Our experiment demonstrates ultra linear speedup.