Java is a very popular Object-oriented programming (OOP) language because of its platform independent and automatic memory release mechanism (or garbage collection). However, garbage collection also speeds CPU time and should be done after careful consideration. In the paper, memory usage behavior and run-time object characteristics, including heap and object size, object age and access frequency, are studied using several commercial benchmarks. The profiler design method and experiment detail are represented in the paper. The runtime object characteristics are very important to guide the employment of different memory management algorithm.