본문 바로가기

2017/0610

[java] StringBuilder, StringBuffer의 차이 String객체에 문자열을 추가하고자 할 때는 3가지 방법이 있다.String 객체간의 단순한 append 연산StringBuilder 클래스 사용StringBuffer 클래스 사용String append이 경우는 단순히 + 연산자 오버라이딩된 메서드를 통해 append가 수행된다. 이러한 연산은 string 객체 2개를 메모리에 할당하게 되기 때문에 심각한 메모리 문제로 번질 수 있다고 하지만, jdk 1.5 버전 이후 부터는 내부적으로 StringBuilder를 통해 append된다하여 성능 면에서는 크게 상관이 없다고는 한다. 다만 String은 heap 공간에 생성되었을 시 한번 생성된 객체의 내용을 수정할 수 없는 immutable class이기 때문에 메모리 이슈를 해결하지는 못하는 것 같다... 2017. 6. 1.
[java]thread Thread 생성과 실행Thread 클래스로부터 직접 생성Runnable 인터페이스를 implements한 클래스를 Thread 생성자의 매개값으로 전달한다class Task implements Runnable{} Thread t1= new Thread(new Task()); t1.start();Thread 하위 클래스로부터 생성Thread 클래스를 상속해서 바로 run()을 구현해서 실행class Task2 extends Thread{} Task2 t1= new Task2();비교implements를 통한 Thread 생성은 다중상속이 가능하지만, extends를 활용한 Thread 생성은 다중상속이 불가능하기 때문에 Thread 상속을 활용한다면 추가적인 클래스 상속이 불가능하다. 따라서 추가적인 상.. 2017. 6. 1.