'java'에 해당되는 글 15건
- 2011.11.27 Comparable#compareTo()
- 2011.01.27 시그널 처리 테스트 코드 작성
- 2011.01.25 Java 에서 시그널 처리하기(Windows)
- 2011.01.01 [IBM dWs] Java SE 6, Ecipse, Ant 를 이용한 간단한 웹 서비스
- 2010.12.20 Short-circuit 확인 테스트 코드
- 2010.07.27 예외 메세지를 제대로 보여주기
- 2010.07.14 instanceof
- 2010.05.26 오랜만에 스트림을 다뤘더니 헤맨다. ㅎㅎ
- 2010.05.17 Unable to find a value for "PROPERTY" in object of class "CLASS" using operator "."
- 2010.04.14 Java Decompiler
- 2010.04.12 Java XPath API
- 2010.03.29 Call By Reference Vs Call By Value
- 2010.01.17 디컴파일한 소스를 컴파일하기
- 2009.12.27 윈도우에서 기본으로 실행되는 java 명령어의 위치는?
- 2009.11.13 java, javac 명령어
- Comparable#compareTo()
- 日常茶飯事
- 2011. 11. 27. 14:26
BigDecimal expirtation = new BigDecimal("2012...."); BigDecimal now = new BigDecimal("2011...."); System.out.println(expirtation.compareTo(now)); // >, 1 expirtation = = new BigDecimal("2005...."); System.out.println(expirtation.compareTo(now)); // <, -1 boolean expired(){ return expirtation.compareTo(now) < 0; //만료일이 작으면(-1), 만료일이 지난 경우, expired? yes, 리턴 true //만료일이 크면(1), 아직 만료되지 않았으면, expired? no, 리턴 false //동일하면(0) 아직 만료되지 않았다, expired? no, 리턴 false }
- 시그널 처리 테스트 코드 작성
- 日常茶飯事
- 2011. 1. 27. 13:24
- 인터럽트 거는 부분은 어떻게 작성해야 하나?
- 테스트를 작성하면서 알아낸 사실
testRaise() 에서 시그널을 발생시켜도 바로 전달되지 않는다는 것을 알게 되었다.
sleep 을 하지 않으면 테스트가 실패할 경우도 생긴다.
테스트 작성의 순기능인가...ㅎㅎ
- 테스트를 작성하면서 알아낸 사실
testRaise() 에서 시그널을 발생시켜도 바로 전달되지 않는다는 것을 알게 되었다.
sleep 을 하지 않으면 테스트가 실패할 경우도 생긴다.
테스트 작성의 순기능인가...ㅎㅎ
- Java 에서 시그널 처리하기(Windows)
- 日常茶飯事
- 2011. 1. 25. 01:11
Windows 환경에서는 제약사항이 있다.
- TERM, ABRT, ILL, SEGV 는 Windows 운영체제에서 발생되지 않는다.
- BREAK, FPE 도 사용할 수 없다.
- QUIT 도 사용할 수 없다.
- MSDN signal
> java SignalHandlerImpl
start
signal.name : TERM, signal.number : 15 //Signal.raise() 로 발생시킴.
Ctrl - C
signal.name : INT, signal.number : 2
end
start
signal.name : TERM, signal.number : 15 //Signal.raise() 로 발생시킴.
Ctrl - C
signal.name : INT, signal.number : 2
end
- TERM, ABRT, ILL, SEGV 는 Windows 운영체제에서 발생되지 않는다.
- BREAK, FPE 도 사용할 수 없다.
Signal already used by VM: SIGBREAK
- QUIT 도 사용할 수 없다.
Unknown signal: QUIT
- MSDN signal
- [IBM dWs] Java SE 6, Ecipse, Ant 를 이용한 간단한 웹 서비스
- 日常茶飯事
- 2011. 1. 1. 16:05
- Eclipse와 Java SE 6을 사용하여 독립형 웹 서비스 개발하기, Part 1: 웹 서비스 서버 애플리케이션
Create stand-alone Web services applications with Eclipse and Java SE 6, Part 1: The Web service server application
- Eclipse와 Java SE 6을 사용하여 독립형 웹 서비스 개발하기: Part 2: 웹 서비스 클라이언트 응용프로그램
Create stand-alone Web services applications with Eclipse and Java SE 6: Part 2: The Web service client application
- Java SE 6, Ecipse, Ant 를 이용해서 간단한 웹서비스를 구현하고 모니터링한다.
Java SE 6 JDK 설치
Eclipse JRE 설정
서버
Ant 를 실행시키면 com.myfirst.wsServer.jaxws 가 생김 서버를 실행시키고, Internal Web Browser 로 http://localhost:8080/wsServerExample?wsdl 을 입력하면 WSDL 을 볼 수 있다.
Eclipse 의 Web Services Explorer 를 이용해서 웹서비스를 테스트해 볼 수 있다.
Java EE Perspective 에서 Run - Launch the Web Services Explorer 을 선택하고
http://localhost:8080/wsServerExample?wsdl 를 호출해서 getGreeting 을 직접 호출해 본다.
클라이언트
wsimport 태스크를 실행하면 WSDL 를 참조해서 JAX-WS 관련 스텁?이 생성된다.
- Eclipse TCP/IP Monitor 를 이용해서 모니터링을 할 수 있다.
Create stand-alone Web services applications with Eclipse and Java SE 6, Part 1: The Web service server application
- Eclipse와 Java SE 6을 사용하여 독립형 웹 서비스 개발하기: Part 2: 웹 서비스 클라이언트 응용프로그램
Create stand-alone Web services applications with Eclipse and Java SE 6: Part 2: The Web service client application
- Java SE 6, Ecipse, Ant 를 이용해서 간단한 웹서비스를 구현하고 모니터링한다.
Java SE 6 JDK 설치
Eclipse JRE 설정
서버
Ant 를 실행시키면 com.myfirst.wsServer.jaxws 가 생김 서버를 실행시키고, Internal Web Browser 로 http://localhost:8080/wsServerExample?wsdl 을 입력하면 WSDL 을 볼 수 있다.
Eclipse 의 Web Services Explorer 를 이용해서 웹서비스를 테스트해 볼 수 있다.
Java EE Perspective 에서 Run - Launch the Web Services Explorer 을 선택하고
http://localhost:8080/wsServerExample?wsdl 를 호출해서 getGreeting 을 직접 호출해 본다.
클라이언트
wsimport 태스크를 실행하면 WSDL 를 참조해서 JAX-WS 관련 스텁?이 생성된다.
- wsgen은 서비스 엔드 포인트 클래스를 읽고서 웹 서비스 전개 및 호출에 필요한 모든 아티팩트를 생성한다.
- wsimport는 WSDL을 읽고서 웹 서비스 개발, 전개 및 호출에 필요한 모든 아티팩트를 생성한다.
- Eclipse TCP/IP Monitor 를 이용해서 모니터링을 할 수 있다.
- Short-circuit 확인 테스트 코드
- 日常茶飯事
- 2010. 12. 20. 06:30
- 예외 메세지를 제대로 보여주기
- 日常茶飯事
- 2010. 7. 27. 18:54
에러메세지 앞부분에 자바 패키지명이 붙는 것을 없애자.
메세지를 보아하니 Exception 클래스를 사용한 것 같은데 Exception#toString()을 그대로 쓴거 같다.
Exception#getMessage()를 이용하도록 수정하면 되겠네.
SpringMVC를 사용했으니깐 HandlerExceptionResolver 를 사용했을거고, 관련 설정을 확인해 본다.
모든 예외는 exception.jsp 로 이동함.(view를 찾을 때에는 viewResolver가 사용됨)
어라...제대로 처리하고 있는데...
예외를 생성한 곳을 보니
로그인을 처리하는 서비스에서 LoginException("사용자 정보가 존재하지 않습니다.") 을 발생시키고, 컨트롤러에서는 LoginException을 다시 생성해서 던지고 있다.
예외가 겹친 경우에도 위와 같은 메세지가 보인다.
exception.jsp에서 실제 예외를 찾아서 보여주자.
xxx.user.service.LoginException: 사용자 정보가 존재하지 않습니다.
메세지를 보아하니 Exception 클래스를 사용한 것 같은데 Exception#toString()을 그대로 쓴거 같다.
Exception#getMessage()를 이용하도록 수정하면 되겠네.
SpringMVC를 사용했으니깐 HandlerExceptionResolver 를 사용했을거고, 관련 설정을 확인해 본다.
모든 예외는 exception.jsp 로 이동함.(view를 찾을 때에는 viewResolver가 사용됨)
어라...제대로 처리하고 있는데...
예외를 생성한 곳을 보니
로그인을 처리하는 서비스에서 LoginException("사용자 정보가 존재하지 않습니다.") 을 발생시키고, 컨트롤러에서는 LoginException을 다시 생성해서 던지고 있다.
예외가 겹친 경우에도 위와 같은 메세지가 보인다.
exception.jsp에서 실제 예외를 찾아서 보여주자.
- instanceof
- 日常茶飯事
- 2010. 7. 14. 09:30
- 오랜만에 스트림을 다뤘더니 헤맨다. ㅎㅎ
- 日常茶飯事
- 2010. 5. 26. 02:48
int java.io.InputStream.read() throws IOException
스트림으로부터 데이터를 읽는다.
리턴값은 읽어들인 바이트이고 0 ~ 255 사이의 값을 가진다.
스트림 끝에 도달해서 더이상 읽을 것이 없을때에는 -1을 리턴한다.
int java.io.InputStream.read(byte[] b) throws IOException
스트림으로부터 데이터를 읽어서 바이트 배열에 저장한다.
리턴값은 읽어들인 데이터의 길이이고, 스트림 끝에 도달해서 더이상 읽을 것이 없을때에는 -1을 리턴한다.
인자인 바이트 배열의 길이가 0인 경우 0을 리턴한다.(바이트 배열의 길이가 0보다 큰 경우에는 0을 리턴하지 않는다. 스트림 끝에 도달하면 -1을 리턴한다.)
java.io.FileOutputStream.FileOutputStream(File file) throws FileNotFoundException
출력할 파일이 없으면 예외가 발생한다.
이어쓰기를 하지 않는다.
스트림으로부터 데이터를 읽는다.
리턴값은 읽어들인 바이트이고 0 ~ 255 사이의 값을 가진다.
스트림 끝에 도달해서 더이상 읽을 것이 없을때에는 -1을 리턴한다.
int java.io.InputStream.read(byte[] b) throws IOException
스트림으로부터 데이터를 읽어서 바이트 배열에 저장한다.
리턴값은 읽어들인 데이터의 길이이고, 스트림 끝에 도달해서 더이상 읽을 것이 없을때에는 -1을 리턴한다.
인자인 바이트 배열의 길이가 0인 경우 0을 리턴한다.(바이트 배열의 길이가 0보다 큰 경우에는 0을 리턴하지 않는다. 스트림 끝에 도달하면 -1을 리턴한다.)
java.io.FileOutputStream.FileOutputStream(File file) throws FileNotFoundException
출력할 파일이 없으면 예외가 발생한다.
이어쓰기를 하지 않는다.
- Unable to find a value for "PROPERTY" in object of class "CLASS" using operator "."
- 日常茶飯事
- 2010. 5. 17. 22:30
javax.servlet.jsp.el.ELException: Unable to find a value for "PROPERTY"
in object of class "CLASS" using operator "."
자바 빈 명명 규칙에 어긋나서 발생하는 에러임.
멤버 | getter | 사용 | 비고 |
S_PAR_POINT | getS_PAR_POINT() | ${data.s_PAR_POINT} | ${data.S_PAR_POINT}는 안됨. |
PAR_POINT | getPAR_POINT() | ${data.PAR_POINT} | |
[todo] 자바 빈 명명 규칙을 정리할 필요있음. 어디에 있더라...
- Java Decompiler
- 日常茶飯事
- 2010. 4. 14. 12:30
http://jd.benow.ca/
http://java.decompiler.free.fr/
일반 어플리케이션과 이클립스 플러그인이 있음.
쓸만하다.
jad와 비교했을때 장단점이 있는거 같다.
2016-08-03 디컴파일된 결과를 한번에 자바 소스 파일로 저장할 수도 있다.
2021-02-21 캐시를 먹는지 jar 내용이 변경되어도 이전 내용이 보임. 프로그램을 종료시켜서 다시 시작해야 함.
- Java XPath API
- 日常茶飯事
- 2010. 4. 12. 22:22
- http://www.ibm.com/developerworks/kr/library/x-javaxpathapi.html
- Java 5에서 javax.xml.xpath패키지를 도입
- XML에서 저자가 Neal Stephenson인 모든 책을 찾으라는 XPath 쿼리는 다음과 같다.
- Java 5에서 javax.xml.xpath패키지를 도입
- XML에서 저자가 Neal Stephenson인 모든 책을 찾으라는 XPath 쿼리는 다음과 같다.
//book[author="Neal Stephenson"]/title
- Call By Reference Vs Call By Value
- 日常茶飯事
- 2010. 3. 29. 12:30
- 디컴파일한 소스를 컴파일하기
- 日常茶飯事
- 2010. 1. 17. 23:00
jad로 디컴파일한 소스를 수정해서 다시 컴파일하려니 이런 에러가 발생한다.
[todo] 방법이 없나?
WEB-INF\src>"C:\Program Files\Java\jdk1.6.0_12\bin\javac" -d . com/test/model/TestDAO.jav
a
com\test\model\TestDAO.java:159: not a statement
/* 173*/ exception;
^
com\test\model\TestDAO.java:236: not a statement
/* 258*/ exception;
^
a
com\test\model\TestDAO.java:159: not a statement
/* 173*/ exception;
^
com\test\model\TestDAO.java:236: not a statement
/* 258*/ exception;
^
[todo] 방법이 없나?
- 윈도우에서 기본으로 실행되는 java 명령어의 위치는?
- 日常茶飯事
- 2009. 12. 27. 12:52
PrcView의 Process Monitor로 확인해보면 C:\WINDOWS\system32\java.exe가 실행된다.
이 경로는 시스템 Path에서 제일 앞에 기술되어 있다.
[todo] 시스템에 설치된 jre를 사용하지 않고 내장된 jre를 사용하는 was인 경우도 확인해보자.
이 경로는 시스템 Path에서 제일 앞에 기술되어 있다.
[todo] 시스템에 설치된 jre를 사용하지 않고 내장된 jre를 사용하는 was인 경우도 확인해보자.
- java, javac 명령어
- 카테고리 없음
- 2009. 11. 13. 01:55
src> "C:\Program Files\Java\jdk1.6.0_12\bin\javac" com/test/sample/Test.java
src> java com.test.sample.Test
Hi
src> java com.test.sample.Test
Hi
src> "C:\Program Files\Java\jdk1.6.0_12\bin\javac" com/test/sample/Test.java
com\test\sample\Test.java:5: package org.apache.log4j does not exist
org.apache.log4j.Logger logger;
^
1 error
src> "C:\Program Files\Java\jdk1.6.0_12\bin\javac" -cp D:\lib\log4j-1.2.13.jar com/test/sample/Test.java
src> java com.test.sample.Test
Hi
com\test\sample\Test.java:5: package org.apache.log4j does not exist
org.apache.log4j.Logger logger;
^
1 error
src> "C:\Program Files\Java\jdk1.6.0_12\bin\javac" -cp D:\lib\log4j-1.2.13.jar com/test/sample/Test.java
src> java com.test.sample.Test
Hi
src> "C:\Program Files\Java\jdk1.6.0_12\bin\javac" -cp D:\lib\log4j-1.2.13.jar com/test/sample/Test.java
src> java com.test.sample.Test
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger
at com.test.sample.Test.main(Test.java:5)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 1 more
src>java -cp D:\lib\log4j-1.2.13.jar com.test.sample.Test
Exception in thread "main" java.lang.NoClassDefFoundError: com/test/sample/Test
Caused by: java.lang.ClassNotFoundException: com.test.sample.Test
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: com.test.sample.Test. Program will exit.
src> java -cp D:\lib\log4j-1.2.13.jar;. com.test.sample.Test
Hi
src> java com.test.sample.Test
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger
at com.test.sample.Test.main(Test.java:5)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 1 more
src>java -cp D:\lib\log4j-1.2.13.jar com.test.sample.Test
Exception in thread "main" java.lang.NoClassDefFoundError: com/test/sample/Test
Caused by: java.lang.ClassNotFoundException: com.test.sample.Test
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: com.test.sample.Test. Program will exit.
src> java -cp D:\lib\log4j-1.2.13.jar;. com.test.sample.Test
Hi
Recent comment