[JAVA] String 과 StringBuffer

JAVA / / 2021. 12. 17. 20:45
/*
Stirng클래스
1.final클래스이므로 상속을할수없다.
2.String클래스는 불변의 원칙이다.
3.정적인 문자열처리는 String를 사용하고 동적인 경우는 StringBuffer를 사용한다.
*/
public class RunTimeTest {

 public void stringTime() {
  //프로그램 실행시 필요한 정보를 리턴
  Runtime rt = Runtime.getRuntime();

  System.out.println("String........");
  System.out.print("실행전 : " + rt.freeMemory());  //남은 메모리공간
  System.out.println("/" + rt.totalMemory());   //전체 메모리공간

  long start=System.currentTimeMillis(); //현재 시간을 나노세컨드로 변환
  String str="a";
  for(int i=1; i<=30000; i++)
   str+="a";
  long end=System.currentTimeMillis();

  System.out.println("실행시간:" + (end-start) + "ms");

  System.out.print("실행후 : " + rt.freeMemory());
  System.out.println("/" + rt.totalMemory());
 }

 public void stringBufferTime() {
  Runtime rt = Runtime.getRuntime();

  System.out.println("StringBuffer........");
  System.out.print("실행전 : " + rt.freeMemory());
  System.out.println("/" + rt.totalMemory());

  long start=System.currentTimeMillis();
  StringBuffer str=new StringBuffer("a");
  for(int i=1; i<=30000; i++)
   str.append("a");
  long end=System.currentTimeMillis();

  System.out.println("실행시간:" + (end-start) + "ms");

  System.out.print("실행후 : " + rt.freeMemory());
  System.out.println("/" + rt.totalMemory());
 }

 public static void main(String[] args) {
  RunTimeTest ob = new RunTimeTest();

  ob.stringTime();
  System.out.println();

  ob.stringBufferTime();
 }
}

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기