2017년 2월 27일 월요일
2017년 2월 22일 수요일
Thread와 Runable
Thread와 Runable 의 차이점을 어찌 시원하게 알려주는책이 없는거 같아 검색좀 때려봤다.
Thread :
ThreadClass 의 method를 사용할수있음
작업 대상의 Class가 다른 Class로 부터 상속받을경우(자식 Class일 경우) Thread가 사용 불가능함
왜냐면 이미 extends를 했으니(부모는 하나 이상을 둘 수 없기 때문에!)
Runable:
다른Class로부터 상속받은 후, 해당Class를 Thread같이 사용가능
Thread Class의 Method를 사용 할 수 없음 Thread를 상속한 것이 아닌, Thread를 돌리기 위한 기능들을 모아놓은 인터페이스를 implement를 했으니깐. 즉, Runnable를 구현한뒤, 추상메소드를 객관화작업이 끝이나면, Thread를 돌릴 준비가 된 상태일 뿐이다.
Runnable 클래스 생성을 했던 곳에서, 생성한 클래스를 Thread화 시키고, 실행을 해야 비로소 제 역활을 할 수 있다.
Thread를 사용하기 전에,만들 코드에서 항상 유의점이, 싱크로나이즈가 되지 않아도 되는 코드인가 여부를 아는것이 중요하다고 한다, 이유는 열심히 설명이 적혀있는것을 보면 알다싶이, 아무리 열심히 동기화를 해주고 쓰레드에 제한을 잘 잡아줘도에외현상은 생기기 마련. 임시방편책으로 쓸만한 Thread Queue를 쓴다면 그러한 문제를 어느정도 해결할 수 있으나, 듀얼코어 이상의 성능을 기대할 수 없다고 하는데 이해는 잘..
Runnable은 Interface를 상속받는 방식이기 때문에 Thread의 상속방식보다 유연하다. 상속을 하나 이상 받아야 하는상황이 자주 생길태니.
정리 잘 한 곳 http://ra2kstar.tistory.com/130
Thread :
ThreadClass 의 method를 사용할수있음
작업 대상의 Class가 다른 Class로 부터 상속받을경우(자식 Class일 경우) Thread가 사용 불가능함
왜냐면 이미 extends를 했으니(부모는 하나 이상을 둘 수 없기 때문에!)
Runable:
다른Class로부터 상속받은 후, 해당Class를 Thread같이 사용가능
Thread Class의 Method를 사용 할 수 없음 Thread를 상속한 것이 아닌, Thread를 돌리기 위한 기능들을 모아놓은 인터페이스를 implement를 했으니깐. 즉, Runnable를 구현한뒤, 추상메소드를 객관화작업이 끝이나면, Thread를 돌릴 준비가 된 상태일 뿐이다.
Runnable 클래스 생성을 했던 곳에서, 생성한 클래스를 Thread화 시키고, 실행을 해야 비로소 제 역활을 할 수 있다.
Thread를 사용하기 전에,만들 코드에서 항상 유의점이, 싱크로나이즈가 되지 않아도 되는 코드인가 여부를 아는것이 중요하다고 한다, 이유는 열심히 설명이 적혀있는것을 보면 알다싶이, 아무리 열심히 동기화를 해주고 쓰레드에 제한을 잘 잡아줘도에외현상은 생기기 마련. 임시방편책으로 쓸만한 Thread Queue를 쓴다면 그러한 문제를 어느정도 해결할 수 있으나, 듀얼코어 이상의 성능을 기대할 수 없다고 하는데 이해는 잘..
Runnable은 Interface를 상속받는 방식이기 때문에 Thread의 상속방식보다 유연하다. 상속을 하나 이상 받아야 하는상황이 자주 생길태니.
정리 잘 한 곳 http://ra2kstar.tistory.com/130
2017년 2월 20일 월요일
JAVA \r\n 문자열 \n 먹는 사태..
carriage return 이 \r
line feed 가 \n
인데 공부중에 \n은 c하면서도 잘 쓰고 해서 뭔지는 알지만, \r은 뭐고, 또 String타입 입력을 하는 도중에 엔터까지 다 씹어먹고 들어가는지 멘붕하면서 찾기시작..
자바 종특 안습 부분인듯 허다
syso를 하면 println이출력을 끝낸뒤 \r\n을 자동으로 써준다는 뜻인거 같은데,
윈도우에서 다음 라인으로 넘어가기 위한 행동이라 헌다.
유닉스에서는 \n으로 자알 돌아가는데 윈도우는 뭔가 안된다 하여 특별히 넣어준 놈인데, 이게 또 유닉스 운영체제로가면 인식을 못해서 붸에엑 한다고 한다..
초보인 나에게는 그냥 println을 주로 쓰려고 하지만, 부득이시 \n만 쓰지말고 \r\n도 쓰는 버릇을 들이면 좋을법 허다.
문자열 입력중 \n까지 씹어먹는 애로사항이 발생했다면
myScanner.nextLine(); 를 다음 문자열 입력 이전에 써보길!
line feed 가 \n
인데 공부중에 \n은 c하면서도 잘 쓰고 해서 뭔지는 알지만, \r은 뭐고, 또 String타입 입력을 하는 도중에 엔터까지 다 씹어먹고 들어가는지 멘붕하면서 찾기시작..
자바 종특 안습 부분인듯 허다
syso를 하면 println이출력을 끝낸뒤 \r\n을 자동으로 써준다는 뜻인거 같은데,
윈도우에서 다음 라인으로 넘어가기 위한 행동이라 헌다.
유닉스에서는 \n으로 자알 돌아가는데 윈도우는 뭔가 안된다 하여 특별히 넣어준 놈인데, 이게 또 유닉스 운영체제로가면 인식을 못해서 붸에엑 한다고 한다..
초보인 나에게는 그냥 println을 주로 쓰려고 하지만, 부득이시 \n만 쓰지말고 \r\n도 쓰는 버릇을 들이면 좋을법 허다.
문자열 입력중 \n까지 씹어먹는 애로사항이 발생했다면
myScanner.nextLine(); 를 다음 문자열 입력 이전에 써보길!
JAVA 소숫점 자르기
c에서 이렇게 편하던
printf("%2f",val);
이 자바에는 비슷한 방식이 없다는것을 알고 멘붕
문논 c더쿠님들의 항의로 printf를 쓸수 있지만, 다른 방법은 뭐가 있나 해서 검색..
딱ㅎ ㅣ어느게 더 잘쓰인다 라 할건 없음
printf("%2f",val);
이 자바에는 비슷한 방식이 없다는것을 알고 멘붕
문논 c더쿠님들의 항의로 printf를 쓸수 있지만, 다른 방법은 뭐가 있나 해서 검색..
딱ㅎ ㅣ어느게 더 잘쓰인다 라 할건 없음
Syntax error on token "class", char expected
자바에서 class 선언시
Syntax error on token "class", char expected
이런 애러가 나타났었다
코드는 이러했다.
class object() {
int a;
}
class object{
}
가 문법적으로 알맞는 class 생성법이었다
()를 쓰는말은 즉 method를 선언한다는건데,
이런 이유로 내가 쓴 코드는 class와 method를 같이 선언하는 꼴이 되었었다.
Syntax error on token "class", char expected
이런 애러가 나타났었다
코드는 이러했다.
class object() {
int a;
}
class object{
}
가 문법적으로 알맞는 class 생성법이었다
()를 쓰는말은 즉 method를 선언한다는건데,
이런 이유로 내가 쓴 코드는 class와 method를 같이 선언하는 꼴이 되었었다.
2017년 2월 17일 금요일
자바 정렬 root api
정렬알고리즘에서 기준점 root 를 알아내는 키워드는 comperator, 수동 제어방법 존재
http://egloos.zum.com/iilii/v/4537561
http://egloos.zum.com/iilii/v/4537561
피드 구독하기:
글 (Atom)