/*
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();
}
}
반응형
'JAVA' 카테고리의 다른 글
[JAVA] String 관련메서드 사칙연산 (0) | 2021.12.18 |
---|---|
[JAVA] String 관련 메서드 (0) | 2021.12.17 |
[JAVA] String 클래스 + 해쉬코드 (0) | 2021.12.17 |
자바 String Trim() 특징 (유의사항) (0) | 2021.12.17 |
JAVA ArrayList 초기화 하는방법 (0) | 2021.12.17 |
최근댓글