본문 바로가기
[Java] ArrayList 와 Vector 의 차이. 자바, ArrayList 와 Vector 의 차이 ArrayList 는 synchronized 되어있지 않고, Vector 는 synchronized 되어 있다. 즉 ArrayList 는 thread-not-safe 이고, Vector 는 thread-safe 하다. 즉 multi-thread 에서 사용하지 않는 경우에는그냥 ArrayList 가 성능에 유리하다. ArrayList, Java, java arraylist, java arraylist synchronized, java arraylist thread safe, java multi thread arraylist, java vector, java vector multi thread, java vector synchronized, java vect.. 2013. 10. 8.
[java] 한글 판별 코드 자바, 한글 판별 코드 요즘 모바일 웹에서 이름을 한글로만 입력해야 한다거나, 아이디를 영문과 숫자로만 입력해야 한다거나 하는 등의 제약사항이 있는 경우가 많이 있다. 영문과 숫자로만 구성되었는지는 Patterns 를 이용해 쉽게 매치가 가능하지만, 한글은 판별하기가 조금 힘들었다. 그 이유인즉 TextWatcher 를 이용하여 아예 한글이 아니면 입력이 안되도록 하려고 하는데, 'ㄱ', 'ㅏ' 와 같이 자음이나 모음만 존재하는 경우의 경우도 판별해야 하기에 Patterns 로 매칭하기가 쉽지 않았다. 그래서 찾아낸 것이 바로 이 코드. Character.UnicodeBlock 을 사용한다. Character.UnicodeBlock unicodeBlock = Character.UnicodeBlock.of.. 2013. 10. 5.
[Java] Overriding 성립 조건에 대해 알아보자. 자바, Overriding 성립 조건에 대해 알아보자. 오버라이딩의 친구 오버로딩( Overloading ) 에 대해서도 알아보자. 오버라이딩은 상속에 관련된 녀석인데, 부모 class 가 정의한 함수에 대해서, 자식이 다시 정의해서 사용하는 것을 이야기한다. 부모의 구현이 맘에 들지 않아서일수도 있고, 추가사항이 있어서일수도 있다. class Parent{public void doSth(){ // purnish children}} class Child extends Parent{@Overridepublic void doSth(){// love children}} 위의 경우는 약간의 상상을 더한 개념인데 ㅋㅋ우선 Parent 의 doSth 은 아이들을 혼내는 구현이다. Parent 를 상속한 Child .. 2013. 10. 1.
[java] 자바 환경변수 설정 방법. Java 환경 변수 설정 방법 Java JRE 혹은 JDK 를 설치하고 나서, 해당 폴더에 들어가지 않고도 Java 관련 실행파일들을 실행시키려면 환경변수를 설정해야 한다. 방법은 매우 쉽다. 1. 내 컴퓨터 우클릭 -> 속성 2. [고급 시스템 설정] 클릭. 3. [고급] 탭의 [환경변수] 클릭. 4. [시스템 변수] 쪽에서 [새로 만들기] 클릭 5. 변수이름 : JAVA_HOME 변수 값 : [JAVA 가 설치된 폴더] - 보통 Program files\Java\버전 에 설치된다. 이걸로 끝! 자 이제 열심히 개발해보세용~ environment variable, environment variable setting, Java, java jre, java sdk, java 설치 폴더, JAVA_HOME,.. 2013. 9. 26.
[Java] JDBC, Database Stored Procedure 와 CallableStatement 자바, JDBC, Database Stored Procedure 와 CallableStatement StoredProcedure StoredProcedure 는 데이터베이스 내에 일종의 "함수" 를 선언하여 반복적으로 어떤 작업을 수행하는 것을 말한다. 이것은 수행자체가 서버쪽에서 되는 것이기 때문에 수행속도도 더 빠르고, 네트워크에 사용되는 트래픽도 줄어든다. CREATE OR REPLACE PROCEDURE insert_user( name VARCHAR2 )ISBEGININSERT INTO user VALUES( name )END 이렇게 기술한 파일을 .sql 파일로 저장하여 sql console 을 수행할 폴더에 넣어주고,console 에서 이 파일의 파일명을 호출하면 stored procedure.. 2013. 9. 24.
[Java] 햇갈리는 array literal 에 대한 이야기 자바, 헷갈리는 array literal 에 대한 이야기 Array Literal 은 정말 좋은 언어 특성이기는 하지만, 자바를 사용하다 보면 가끔 "어 될 꺼 가튼데 왜 IDE 가 에러를 뿜지?" 하는 경우를 가끔 접하게 된다. 물론 필자가 기초가 부족한 허접이라 그럴지는 모르겠지만,깔끔하게 정리해본다. String[] vegetables = { "감자", "고구마", "양배추" }; String[] vegetables2 = new String[]{ "감자", "고구마", "양배추" }; 위처럼 variable 정의와 함께 literal 을 사용하는 경우는 2가지 모두 사용할 수 있다.하지만, 예를 들어 variable declaration 과 값 assign 부가 분리되어 있다면, array lite.. 2013. 9. 23.
[Java] Variable Argument 가변인자!? 자바, 가변인자 ( Variable Argument ) 이전부터 알고 있었지만, 기억나지 않고 딱히 쓸 일이 없어서 자주 잊어먹는 가변인자. 이 녀석은 용어도 조금 생소하다. 이 녀석은 영어로 하면 Variable Argument. 즉 argument 가 가변적이라는 이야기인데.. 다시 이야기하면, 인자가 몇개가 될지 확실치 않을 때 확장성 있게 정해진 갯수가 아닌, caller 쪽에서 정하는 갯수의 argument 를 갯수 상관없이 마음껏 받을 수 있다는 이야기. 이 녀석은 잘만 쓰면 정말 유용하게 쓰일 수도 있기는 하다. 기본 syntax 만 정리하고 넘어가자. public void printSth ( String ... printTarget ){ for( int i=0; i < printTarget.. 2013. 9. 19.
[Java] enum 에 대한 자세한 이야기. 자바, enum 에 대한 자세한 이야기. enum 은 특수한 형태의 class 이다.이 class 에는 기본적으로 다음 2개의 함수들이 제공된다. values() : enum 안에 정의된 값들을 enum 타입의 배열로 return ordinal() : enum 안에 정의되어 있는 각 값들의 인덱스 번호를 반환. values() 는 iteration 용으로 사용하기 좋은데, ordinal() 의 경우는 사실 EnumSet 이나 EnumMep 등에서 사용하기 위해서 고안된 녀석, 즉 내부적인 사용용도로 고안되기 때문에 일반 유저가 사용하는 것은 비추된다. 그 이유는 ordinal 이라는 것이 정의순서에 기인하는데, 이는 enum 의 설계목적 자체에서 어긋나버린다. 따라서 만약 값이 따로 필요하다면 다음과 같.. 2013. 9. 17.
[eclipse] Java 실행하면서 인자 전달하기. Eclipse, Java 실행하면서 인자 전달하기. 소소한 팁이기는 한데, 필자는 지금까지 기본적인 console program 의 경우 그냥 명령창 ( 소위 dos창 혹은 cmd 창 ) 에서 작업을 했기 때문에 몰랐던 내용이라 공유한다. Eclipse 를 통해 console program 을 작성할 경우 public static void main( String[] args ){ } 의 args 에 들어갈 인자 ( parameter ) 값을 전달할 때 어려움이 있었을 것이다. 이 방법을 몰랐다면.그럼 인자를 가지고 실행할 때마다 명령 프롬프트로 가서 해야 하는데 귀찮다..( 물론 인자값을 자주 바꿔가며 첫 스타트 부분을 테스트하기에는 명령 프롬프트만한 게 없긴 하다. ) 이클립스에서 Console Pro.. 2013. 9. 17.
반응형