Category Archives: JAVA

서블릿에서 클라이언트 IP 얻어오기

By | 4월 3, 2012

* 네트워크장비 구성에 따라서 취해야 하는 헤더명이 다르므로 완벽한 코드는 아니다.     HttpServletRequest hReq = (HttpServletRequest)request;     String cltAddr = hReq.getHeader(“X-Forwarded-For”);    if(cltAddr == null || cltAddr.equals(“”)) {     cltAddr = hReq.getHeader(“Proxy-Client-IP”);     if(cltAddr == null || cltAddr.equals(“”)) {     cltAddr = request.getRemoteAddr();     }    }     * 참고링크    http://whitebear.tistory.com/80

[펌글] ThreadLocal 사용법과 활용

By | 3월 14, 2012

– 출처 : 최범균님의 자바캔 블로그 – 자바 1.2 버전부터 제공되고 있지만 아직 다수의 개발자들이 잘 몰라서 활용을 잘 못하는 기능이 하나 있는데, 그 기능이 바로 쓰레드 단위로 로컬 변수를 할당하는 기능이다. 이 기능은 ThreadLocal 클래스를 통해서 제공되는데, 본 글에서는 ThreadLocal 클래스의 기본적인 사용방법과 활용 방법을 살펴보도록 하겠다.ThreadLocal이란?일반 변수의 수명은 특정 코드 블록(예, 메서드 범위,… Read More »

Commons Logging과 Log4J

By | 3월 12, 2012

– 관련링크 : [스프링 3.0] 로깅은 SLF4J를 이용한 Log4J로                   Logging libraries – Facade   – 출처 : http://blog.naver.com/kotaeho0512/50033476064 –  ※ 출처 : 고수로 가는 지름길! Jakarta Project(최범균저) : 요약   1. Commons Logging   Commons Loggin API는 자카르타 Commons에 포함되어 있는 프로젝트들이 로거로 사용하는 API이다. Commons Logging API는 자체적으로 로깅 기능을… Read More »

[펌글] Java Fail-Fast Iterator

By | 2월 28, 2012

– 출처 :  http://entireboy.egloos.com/4024389 – Fail-fast는 어떠한 시스템이나 모듈에 잘못됐거나 문제가 생길 것 같을 때 바로 알려주는 특성을 나타낸다. 이는 언제 잘못될지 모르는 상태를 가지고 시스템을 계속 동작시키는 것 보다 평범하게 멈추는 것이 낫다는 생각에 기반한 것이다. 소프트웨어 공학에서 Iterator와 함께 사용된다. Fail Fast Iterator라고 하여 Iterator가 도는(?) 동안 Iterator가 변경되거나 하면 오류를 발생하도록 하는 것이다.… Read More »

[펌글] 스레드(Thread)를 종료하는 방법

By | 2월 17, 2012

– 출처 :  http://www.herongyang.com/Java/Thread-interrupt-Method-to-Terminate-Thread.html – There are 3 ways to terminate a thread: The thread has finished the work it is designed to do, and exits the run() method naturally. The thread has received an interruption signal, while doing its work. It decides to not continue with work and exits the run() method. It may also… Read More »

윈도우에서 자바 스레드 덤프 (java thread dump) 확인하는 유틸

By | 2월 15, 2012

웹서핑 하다가 우연히 발견 >,, < ~!! * 단독실행    –  http://visualvm.java.net/download.html     – 윈도우에서 visualvm.exe의 바로가기를 만들고 –jdkhome “JDK홈경로” 옵션을 추가해 주자.  * 이클립스 런쳐    –  http://visualvm.java.net/eclipse-launcher.html      – 아무데나 압축 풀고, 그 디렉토리를 로컬 업데이트 사이트로 사용하라는데 안됨 ㅠ_ㅠ…       이유가 뭘까…  

정적클래스(static), 내부클래스(inner, nested) 에 대한 개념 정리

By | 2월 13, 2012

* 일단 내가 이것저것 줏어들은 것으로 정리한 것은 다음과 같다. (개념 또 개념 >, < !!) – static class는 단독 클래스로 사용할 수 없다 (static 이라는 키워드 자체가 멤버의 성격을 나타내므로) – static class는 특정 클래스를 내부 class로 사용시, 필요할 경우에만 사용한다. – 내부 class를 static으로 정의하면 외부 class의 인스턴스 없이도 내부 class의 인스턴스를 만들… Read More »

java.exe와 javaw.exe의 차이

By | 2월 9, 2012

java.exe는 콘솔윈도우와 더불어 실행되고 javaw.exe는 콘솔윈도우가 없다. 이 차이를 제외하고 두 가지 명령어는 서로 동일하다 * 참고 링크 http://stackoverflow.com/questions/1997718/difference-between-java-exe-and-javaw-exe

Exception in thread 'main' java.lang.NoClassDefFoundError 혹은 Could not find the main class 에러

By | 2월 4, 2012

이 에러에 대해서 검색해 보면 주로 자바 컴파일러의 버전에 관한 이야기가 많이 나온다. 그러나 나는 배치 실행 스크립트를 개발하던 중, 초보적인 실수 때문에 이 에러를 접하게 되었었는데… 그 문제란 바로 따옴표 문제였다. . 이나 – 등 특수문자 비스무리 한 것들이 들어간 파일경로들의 묶음이 클래스패스로 들어갈 경우나, 배치 실행파일의 각각의 인수들을 따옴표로 묶어주지 않을 경우, 잘못… Read More »

자바(java)로 로그파일(텍스트파일) 출력하기

By | 1월 13, 2012

PrintWriter pw = null; try{      // Writer 객체 생성      // 파일 출력시 인코딩을 맞춰줄 경우가 많으므로 FileWriter 가 아닌 FileWriterWithEncoding 클래스 사용.      // 생성자의 마지막 boolean 인수를 true로 주었을 경우에 기존 파일을 덮어쓰지 않고 내용에 append 함.     pw = new PrintWriter(new BufferedWriter(new FileWriterWithEncoding(filePath, “UTF-8”, true)));    … Read More »

[펌글] 자바(java)에서 정규식(regex)을 사용하여 문자열 replace 하는 예제

By | 1월 5, 2012

– 출처 :  http://stackoverflow.com/questions/8308926/regex-for-matching-complete-substring – * URL에서 http:// 부분을 제거하는 예제 (Java)      String regex = “^(?:https?://)?”;      String s = “http://www.google.com”;      s = s.replaceAll(regex, “”);      System.out.println(s); * 문자열에서 마지막 콤마(컴마) 삭제 (Javascript)      selector = selector.replace(/,$/, ”);