본문 바로가기
반응형

Development/Java72

Integer.paserInt 를 사용한 진법 변환 Integer.parseInt를 많이 써왔었지만 문자를 정수로 바꾼다라는 것 밖에 몰랐었다. 그런데 이 함수가 다른 기능도 있었다. 바로 진법 변환.@Testpublic void integerTest(){ String number1 = "1010"; String number2 = "10"; Assert.assertEquals(10, Integer.parseInt(number1, 2)); Assert.assertEquals(8, Integer.parseInt(number2, 8));}위 테스트 코드를 실행하면 정상적으로 실행이 된다. 첫번째는 1010을 2진법 수로 인식해서 결과값을 10을 리턴했고 두번째는 10을 8진법 수로 인식해서 결과값을 8로 리턴했다. 진법 변환하는것을 코드로 짜면 귀찮았는데 In.. 2013. 11. 12.
Null Object 사용 ...객체를 상속받는 null 객체를 만들고null일 경우 get method에 대한 처리 해줌 2013. 7. 5.
Singleton Pattern Singleton Pattern : 해당 클래스의 객체가 하나만 만들어지고 어디서든지 그 객체에 접근할수 있도록 한다. (출처 : http://www.phpbuilder.com/columns/Singleton-PHP5/Octavia_Anghel112310.php3)구현 방법은 간단하다.public class Singleton { private static Singleton singleton; private Singleton(){}; public static Singleton getInstance(){ if (singleton == null){ singleton = new Singleton(); } return singleton; }}그런데 위와 같은 방법은 문제가 있다.멀티 쓰레드 상에서 if문을 여러 .. 2013. 7. 3.
List 를 Array로 바꾸는 함수. Arrays.asList(array);이렇게 하면 array를 List로 변환해 준다.나름 유용할듯. ^^이것 이외에도 sort도 사용할수 있다.Arrays.sort(array)배열 정렬시킬때 잘 써먹을듯 하다. 2013. 7. 2.
Annotation : Retention Retention Annotation은 meta Annotation이 얼마동안 유지되는지를 정한다.사용법은 아래와 같다Retantion(RetentionPolicy.SOURCE) : Annotation이 소스 코드에만 존재하고 class 파일이나 runtime 시에 나타나지 않는다.Retantion(RetentionPolicy.CLASS) : compiler가 class파일에 기록은 하지만 runtime시에 나타나지 않는다. Retantion을 명시하지 않으면 default가 CLASS이다.Retantion(RetentionPolicy.RUNTIME) : compiler가 class파일에 기록을 하고 runtime시에 영향을 준다. 2013. 7. 1.
Meta Annotaion Annotation을 지정할 때에 특정 field나 method에 한정해서 지정해 줄 수 있다. @Target(ElementType.FIELD)위와 같이 사용하게 되면 해당 Annotation은 Field에만 사용할 수 있게된다.FIELD 이외에도 다른 타입들이 존재한다.TYPE(Class, interface..) METHOD PARAMETER CONSTRUCTOR LOCAL_VARIABLE ANNOTATION_TYPE PACKAGE여러개를 사용하고 싶을 때에는 다음과 같이 Array형태로 지정한다.@Target({ElementType.FIELD,ElementType.METHOD }) 2013. 7. 1.
Type-Safe Code란? Compile Time에 object의 type이 매칭이 제대로 되었는지 확인할 수 있는 코드를 말한다.java의 Generic이 그 예가 된다. 2013. 6. 25.
Fileld명을 테이블 컬럼명으로 바꾸자 가끔 이런것이 필요할 때가 있다.userId 를 USER_ID 로 바꾸는 기능.public class Test { public static void main(String[] args) throws Exception { String regex = "([a-z])([A-Z])"; String replacement = "$1_$2"; String str = "UserId"; String value = ""; value = str.replaceAll(regex, replacement).toUpperCase(); System.out.println(value); }} 2013. 4. 6.
Tomcat 구동시 라이브러리를 못찾을 경우.. 해당 workspace 아래에 있는 .metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\프로젝트 명\WEB-INF이 폴더를 찾아가서 lib가 제대로 들어가 있는지 확인해 보자..이클립스 화면에 보인다고 해서 다 돌아가는게 아니더라...-_-;;프로젝트 publising 할대 위에 폴더로 jar 파일이랑 다 들어가는데 그때 안들어가는 경우가 생기기도 한다..그러니... 잘 기억해두고 찾아보자.. 2013. 3. 29.
ExecutorService ExecutorService 1. newFixedThreadPool vs newCachedThreadPool일단 doc 문서를 참고 하자면 아래와 같이 설명이 되어있다..newFixedThreadPool();Creates a thread pool that reuses a fixed number of threads operating off a shared unbounded queue. At any point, at most nThreads threads will be active processing tasks. If additional tasks are submitted when all threads are active, they will wait in the queue until a thread is a.. 2013. 3. 22.
오버라이딩 규칙 1. 오버라이딩 할때에는 접근 제한자의 범위가 같거나 커야한다. 2. 오버라이딩 된 하위 클래스의 메서드에 throws 구문이 있으면 상위 클래스의 오버라이딩을 준 메서드도 반드시 해당 예외 클래스에 준하는 throws 구문이 있어야 한다. 맨날 오버로딩하고 헷갈리는 오버라이딩규칙도 있다는것을 처음 알았다 참고로 오버 로딩은 매개변수가 다르거나 매개변수의 자료형이 틀린 동일한 메서드를 말한다.까먹지 말아야지.. 2013. 2. 12.
Java에서 Null 값을 비교할 때 음.. 미묘한 내용이라 잘 이해가 되실지 모르겠습니다만.. 좀 전문적인 관점에서 설명을 해드리겠습니다. (어려운 내용이지만 오히려 이편이 이해가 더 빠를 수도 있을거 같아서요) 먼저 객체란 것은 무엇이고 변수란 것은 무엇인가? 그냥 다 그냥 값을 저장하는 공간 아닌가? 객체는 힙(heap)이라는 메모리 영역에 생성됩니다. 힙은 프로그램(프로세스 process)이 실행되는 동안 무언가 저장할 공간이 필요할 때 사용되는 메모리 공간입니다. 변수는 스택(stack)이란 메모리 영역에 생성됩니다. 스택은 쓰레드(thread)가 실행되는 동안 사용되는 영역입니다. (쓰레드란거에 대해서 이해를 하셨는지 모르겠습니다만) 하나의 프로세스에는 여러개의 쓰레드가 있을수 있습니다. 각 쓰레드는 고유의 스택영역을 가지지만 하.. 2013. 2. 12.
728x90
반응형