우리가 흔히 Daemon 이라 하면 Background 에서 도는 프로세스를 생각할 것이다. 그러나 Java에서는 조심해야 한다.


Java 에도 Daemon Thread라는 것이 있다.

(Java에서 Thread를 처음 만들면 User thread 이고, 이것을 setDaemon(true)를 하면 Daemon Thread로 바뀐다.)


그런데 이 Daemon Thread는 Background에서 돌아가는 (Parent JVM이 종료되어도 돌아가는) Thread로 생각하면 안된다. 오히려 정 반대이다.


Daemon은 뒤에서 숨어서 조력한다는 의미로 Daemon인 것이고, 이 Daemon Thread가 조력하는 대상은 Parent JVM이다. 따라서 Parent JVM이 종료되면 Daemon Thread도 같이 종료된다. 이 때, finally 등의 구문이 실행되지 않으니 주의가 필요하다.


Daemon Thread가 아닌 User Thread의 경우, Parent JVM이 종료되어도 자신은 종료되지 않고 작업을 계속 한다.


예) Tomcat 에서 생성한 Thread가 Tomcat 종료시에 같이 종료되게 하려면 Daemon Thread로 만들어야 한다.



Posted by 임장관입니다

댓글을 달아 주세요


(매버릭스 기준입니다)

2010 맥북에어에서는 매버릭스의 부트캠프로는 USB 설치가 지원되지 않습니다.

지원되지 않는다기 보다는 애플에서 일부러 막아놓았다고 보는 것이 맞습니다.

이를 뚫기 위해서는 Boot Camp Assistants 의 패키지를 열어서 Info.plist 를 수정해야 합니다.


<key>PreUSBBootSupportedModels</key>         // 여기서 Pre를 지웁니다

<array>

...

<string>MacBookAir3,2</string>                  // 여기서 MacBookAir3,1로 바꿔줍니다.

...

</array>


저장하고 나옵니다. 수정할때 관리자 권한이 필요합니다. 터미널 열어서 sudo vi 등을 써서 하시면 됩니다.


그리고 Boot Camp Assistants 패키지의 서명을 수정해야 합니다. 터미널에서 

codesign -fs - /Applications/Utilities/Boot\ Camp\ Assistant.app

을 입력합니다. (패키지의 서명을 수정하지 않으면 Boot Camp 실행시 crash 납니다)


이제 부트캠프를 실행하면 됩니다. !!



Posted by 임장관입니다

댓글을 달아 주세요

SSD에 윈도우7을 깔아서 사용 중에


인터넷 익스플로러 그림이 잘 안나오는 경우가 있다.


원인은 잘 모르겠지만, 내 경우에


IE 인터넷 옵션에서 임시 파일 폴더를 하드디스크인 D드라이브의 폴더를 지정했더니


문제가 사라졌다. -_-;;


?

Posted by 임장관입니다

댓글을 달아 주세요

Android 에서 

Apache Httpclient 를 사용하는 라이브러리를 실행하려고 할 때,

기존 Android Application Framework에 포함되어 있는 Httpclient와 버전간 충돌이 나는 경우가 있습니다.

원하는 버전의 Httpclient 라이브러리를 dependency로 잡아주어도

Android Application Framework의 ClassLoader가 먼저 로딩이 되어버리기 때문에 Run-time Error가 나게 되지요.


이 경우 ClassLoader를 직접 로딩해서 원하는 클래스를 만들거나 해야하는데 정말 귀찮은 일이 아닐 수 없습니다.


이를 위해서 누군가가 Apache Httpclient 를 리패키징 해 놓았습니다.

https://code.google.com/p/httpclientandroidlib/


기존 Httpclient 라이브러리 dependency를 해제하고 이 리패키징 라이브러리를 dependency로 잡은 다음,

이놈이 제공하는 httpclient 클래스를 대신 로딩하면 됩니다.

(실제로 할 일은 import 부분에 있는 org.apache.http~ 부분을 이놈이 제공하는 패키지 경로로 바꾸어 주기만 하면 됩니다)



참고로 다른 방법들도 있습니다.

http://helloworld.naver.com/helloworld/377316


Posted by 임장관입니다

댓글을 달아 주세요

Java를 쓰다보면 File Access 할 때 객체 종류가 달라서 상호간 변환을 해야 할 일이 있다.


이 방법은 성능을 저하시키지만, 일단 변환이 주 목적인 분들이 참고하시라고 써 본다.

아래 방법은 apache commons io 라이브러리가 필요하지만, 

그냥 input stream에서 output stream으로 쓰기만 하면 된다.



import org.apache.commons.io.IOUtils;


private File convertInputStreamToFile(InputStream is) throws IOException {

File file = File.createTempFile("my", "tmp");

OutputStream outputStream = new FileOutputStream(file);

IOUtils.copy(is, outputStream);

outputStream.close();

return file;

}


ㅑㅒ

Posted by 임장관입니다

댓글을 달아 주세요

  1. cheap nhl jerseys 2013.07.23 08:28  댓글주소  수정/삭제  댓글쓰기

    슬퍼서 우는거 아니야..바람이 불어서 그래..눈이 셔서..

  2. longchamp 2013.07.26 18:57  댓글주소  수정/삭제  댓글쓰기

    창밖을 봐 바람에 나뭇가지가 살며시 흔들리면 네가 사랑하는 사람이 널 사랑하고 있는거야.

Xend 실행시에 다음과 같은 오류가 뜬다면...

WARNING!  Can't find hypervisor information in sysfs!
Error: Unable to connect to xend: No such file or directory. Is xend running?
이것은 grub2가 hypervisor가 없는 kernel을 실행시키기 때문이다.
따라서 xen hypervisor를 우선 순위로 놓아야 한다.
가장 좋은 방법은 다음의 커맨드를 치는 것이다.

mv /etc/grub.d/10_linux /etc/grub.d/50_linux

update-grub2

 
출처: http://xen-orchestra.com/2010/08/xen-4-on-squeeze-how-to/
 
 


 
Posted by 임장관입니다

댓글을 달아 주세요

  1. ugg boots 2013.07.24 19:09  댓글주소  수정/삭제  댓글쓰기

    지금은 반짝반짝 빛이 나겠지,, 하지만 시간이 흐르면 그빛은 사라저버릴거야,지금 우리처럼

http://www.cyworld.com/SelfPerfection/8311108

 
Posted by 임장관입니다

댓글을 달아 주세요

  1. ugg boots 2013.07.24 06:58  댓글주소  수정/삭제  댓글쓰기

    당신은 내가사랑할 만한 사람이 아니예요,사랑하지 않으면 안될 사람이예요.

보통 Java UI 관련된 프로그램에서는

이벤트 리스너 클래스를 Inner Class로 선언하게 되는데

이 때 가끔 Inner Class에서 Outer Class를 refer 해야하는 경우가 생긴다.


(이전에는 Inner Class의 Constructor에 this 키워드로 자기 자신의 reference를 넘겨주고

Inner Class의 멤버로 keep해두는 방식을 사용했지만 더 좋은 방법이 있었다.)


(Outer Class 이름).this 

를 사용하면 Outer Class의 현재 인스턴스에 접근이 가능하다 !

까먹을까봐 적어 놓는다~

출처: http://juixe.com/techknow/index.php/2009/04/07/java-nested-inner-class-this/
 
Posted by 임장관입니다

댓글을 달아 주세요

  1. J 2013.01.12 10:37  댓글주소  수정/삭제  댓글쓰기

    좋은 정보 글 담아갑니다~ 혹시나 언짢으시다면 삭제하겠습니다!
    좋은 하루 되세요^^

  2. louis vuitton outlet 2013.07.24 04:24  댓글주소  수정/삭제  댓글쓰기

    슬퍼서 우는거 아니야..바람이 불어서 그래..눈이 셔서..

어느새부터인지 인터넷 익스플로러9의 초기 구동이 느려지는 현상이 발생하였다.

약 5초에서 10초 정도 걸리는 것 같다.

해결책은

도구 - 인터넷 옵션 - 연결 탭에서 

LAN 설정 버튼 클릭 후

자동으로 설정 검색 체크 해제

하면 IE9가 순식간에 뜨게 된다. 



까먹을까봐 적어놓습니다. 

 출처: http://shots.egloos.com/1359563

 
Posted by 임장관입니다

댓글을 달아 주세요

  1. christian louboutin 2013.07.22 22:37  댓글주소  수정/삭제  댓글쓰기

    좋으면 좋고 싫으면 싫은 거지, 뭐가 이렇게 어렵고 복잡하냐구

원인은 잘 모르겠지만 내 경우에

Android 어플을 device에서 실행시키려고 하면 

디바이스를 못잡고

$ adb devices

???????? no permissions

를 띄우는 경우가 있다.

이 경우에 해결책은

root 계정으로 로그인하여

adb kill-server
adb start-server
adb devices


하면 된다. 
 

출처: http://decsers.tistory.com/214


 
 
Posted by 임장관입니다

댓글을 달아 주세요