String 관련 개념
- String 변수명 = 문자 : 형식으로 구현하면 상수풀에서 관리되서 같은 문자면 주소값이 같다.
- new String(문자) 형식으로 같은 문자를 넣고 구현하면 힙객체에서 관리되서 선언할때마다 주소값이 다르다.
- 문자열 끼리 더하면 append 함수를 많이 사용하므로 성능에 좋지 않아 StringBuffer 버퍼를 사용해서 구현한다.
- StringBuffer 동기화를 지원하고 StringBuilder는 동기화를 지원 하지 않는다. 제공하는 메소드는 같다.
- 문자를열을 더할때 매번 String 인스턴스를 생성하는 방식에서 Jdk 1.5버전 부터는 컴파일단계에서 내부적으로 new StringBuilder()의 append함수를 통해 더한다.
public class stringTest {
public static void main(String[] args) {
String str1 = "hello"; //상수풀 영역에 저장
String str2 = "he";
String str3 = "llo";
String str4 = str2 + str3;
String str5 = "he" + "llo";
String str6 = "he" + "llo" + "hi";
if(str1 == str4){ //변수를 통해 더하면 힙에 생성된다
System.out.println("str1 == str4");
}else{
System.out.println("str1 != str4");
}
if(str1 == str5){ //문자열로 더하는 방식은 상수풀에서 관리해서 존재하는 것을 사용한다
System.out.println("str1 == str5");
}else{
System.out.println("str1 != str5");
}
if(str1 == str6){
System.out.println("str1 == str6");
}else{
System.out.println("str1 != str6");
}
// '+' 연산자를 많이 사용할때는 아래와 같이 StringBuffer를 사용해서 처리한다
StringBuffer sb = new StringBuffer();
sb.append("select id from test ");
sb.append("where name like '%kim%'");
String sql = sb.toString();
}
}
Junit Test
- Service -> DAO 구조일때는 단위테스트가 아니다. Mock객체를 통해
- 파일을 여러개 선택하고 Run ... with Coverage 를 클릭한다.
- Coverage를 볼수 있고 리포트를 출력할수 있다(리포트 출력파일은 프로젝트 경로에 하지말것)
Git Flow 사용중 최신 소스로 로컬에서 개발하기
- develop 브랜치에서 자주 fetch를 받자
- 작업중인 파일이 있으면 git stash에 넣어 놓는다.
- feature 브랜치를 선택하고 stash에 넣어둔 파일을 가지고온다.
- 최신소스를 유지하기 위해 feature 브랜치를 선택하고 develop 브랜치에서 오른쪽 버튼을 누르고 merge한다.
0 개의 댓글:
댓글 쓰기