728x90

프로그래머의 삶 Programmer's Life/Java!! 20

자바 클래스파일 컴파일 버젼 알아내기

import java.io.DataInputStream; import java.io.FileInputStream; import java.io.IOException; /** * Java Version Check Program * * by lvsin 2012/03/23 */ public class VersionChk { public static void main(String[] args) throws IOException { checkClassVersion("a.class"); } public static void checkClassVersion(String filename) { String script = " - java compile version is : "; try { DataInputStream i..

Static 클래스를 유연하게 사용하기~ ( Builder 패턴 사용 )

public class NutritionFacts { private final int servingSize; private final int servings; private final int calories; private final int fat; private final int sodium; private final int carbohydrate; public NutritionFacts (){} ... ... .. public NutritionFacts (int servingSize, int servings, int calories, int fat, int sodium, int carbohydrate){ this. 어쩌고 = 저쩌고; this. 어쩌고 = 저쩌고; ... ... .. } 위의 방법은 ..

Collection 객체 default 및 for performance

Vector - 10 (내부적으로 배열로 생성되어 있다....즉 중간에 값 삽입한다면 엄청난 퍼포먼스 OTL ) Hasgtable - 11/0.75(부하율) => a 갯수의 버킷이 필요할 시에는 a * 4/3 개를 생성해야 한다. => default 로 생성했을 때 rehash 가 되는 경계선은 11*0.75 이다. StringBuffer - 16 Map - HashMap - 가장 빠른 매핑( 동기화 x ) Hashtable - HashMap 보다 늘지미나 동기화한 hashMap 보다 빠르다.( 동기화 o ) TreeMap - Key 로 정렬되어 있음, 트리로된 맵 , (동기화 x) List - ArrayList - 가장 빠른 리스트 ( 동기화 x ) Vector - ArrayList 보다 느리지만 동기..

Characters to Bytes ( getBytes )

String 클래스에서 getBytes() 메소드는 계산량이 가장 많은 메소드이다. (사용해 보면 알겠지만 캐릭터셋 비교하고...encode....후덜덜이다.-_-;) 이 메소드는 char배열을 byte 배열로 바꿔주는 메소드인데 각각 유니코드 캐릭터는 하나나 둘 또는 심지어 3개의 바이트로 변환이 되며 이를 위한 판단 작업도 뒤따라야 한다. 단, ASCII 문자의 경우는 간단해진다. 각각의 ASCII 문자는 2byte 유니코드에서 한 byte 를 잘라버리고 남은 1byte 만을 변환하면 된다. 다양한 문자 인코딩 형식에 맞춰 변환시키기위해서는 좀 더 복잡하고 계산량이 많은 작업을 할 수밖에 없다. 그러나 ASCII는 인코딩 방식에 상관없이 1byte만 변환하면 되므로 계산량이 확인히 줄게 된다. pub..

ANT build 오류 - eclipse

ant 1.6.2버전부터 ftp를 이용하여 서버의 데이터를 로컬로 받을수 있는기능을 제공한다. 필수 라이브러리 1. Commons Net 2. ORO 1. Commons Net (commons-net.jar) http://jakarta.apache.org/commons/net/index.html http://apache.cdnetworks.co.kr/commons/net/binaries/commons-net-1.4.1.zip 2. ORO (jakarta-oro-2.0.8.jar) http://jakarta.apache.org/oro/index.html http://apache.cdnetworks.co.kr/jakarta/oro/binaries/jakarta-oro-2.0.8.zip // 없는 경우 Ant..

자바 정규 표현식

java.util.regex패키지의 Match클래스와 Pattern 클래스를 사용하여 문자열 정규 표현식으로 검증 할 수 있다...의외로 편리하다 사용 방법은 boolean ret=Pattern.matches("^[0-9]*$", str); 정규 표현식 ^ - 문자열의 시작 $ - 문자열의 종료 . - 임의의 한 문자 | - or 를 나타냄 ? - 앞 문자가 없거나 하나 있음 + - 앞 문자가 하나 이상임 * - 앞 문자가 없을수도 무한정 많을수도 있음 [] - 문자 클래스를 지정할 때 사용합니다. 문자의 집합이나 범위를 나타내면 두 문자 사이는 '-' 기호로 범위를 나타낸다. [] 내에서 ^ 가 선행하여 나타나면 not 을 나타냄 {} - 선행문자가 나타나는 횟수 또는 범위를 나타낸다. a{3} - a..

728x90