분류 전체보기
java 문자열 형변환
- 기본형 -> 문자열String valueOf(boolean b)String valueOf(char c)String valueOf(int i)String valueOf(long l)String valueOf(float f)String valueOf(double d) - 문자열 -> 기본형boolean Boolean.getBoolean(String s)byte Byte.parseByte(String s)short short.parseShort(String s)int Integer.parseInt(String s)long Long.parseLong(String s)float Float.parseFloat(string s)double Doubel.parseDouble(string s)
자바 얕은 복사, 깊은복사 개념 및 예제
1. shallowCopypublic static int [] shallowCopy(int arr[])return arr; 얉은 복사를 의미하고 배열이나 객체를 복사할 때 단순히 참조만 복사하는것으로써 원본이 변경되면 복사본도 같이 변경된다. 2. deep copypublic static int [] deepCopjy(int arr[]){if (arr == null)return null; int result[] = new int[arr.length]; System.arraycopy(arr, 0 , result, 0, arr.length);return result;} ex) package javas; public class javas { public static void main(String args[])..
java iterator 간단 사용법
public static void main(String args[]) { LinkedList list = new LinkedList(); list.add(1); list.add(2); list.add(3); list.add(4); Iterator it = list.iterator(); while(it.hasNext()){ System.out.println(it.next()); } } boolean hasNext() : 읽어 올 요소가 남아있는지 확인Object next() : 다음요소를 읽어온다.,void remove() : next()로 읽어 온 요소를 삭제한다.
java HashSet 설명 및 예제
Hashset HashSet은 Set인터페이스를 구현한 가장 대표적인 컬렉션이며, Set인터페이스의 특징대로 HashSet은 중복된 요소를 저장하지 않는다. HashSet은 저장 순서를 유지하지 않기때문에 저장순서를 유지하고 싶은경우에는 LinkedHashSet을 사용하면 된다.(JDK 1.4 부터 추가됨) 사용예 public static void main(String args[]) { Set set = new HashSet(); for(int i=0;i
Comparable vs Comparator
Comparable vs Comparator - Comparable은 기본 정렬기준을 구현하는데 사용한다.- Comparator은 기본 정렬기준 외에 다른 기준으로 정렬하고자할 때 사용된다. - 오버라이딩 하지 않고 그냥 compare를 사용한다면 그게 Comparable이다. Class 클래스명 implements Comparator{public int compare(Object o1, Object o2){Comparable c1 = (Comparable) o1;Comparable c2 = (Comparable) o2;return c1.compareTo(c2) * -1 ; // -1을 곱하면 내림차순으로 정렬이 된다. }}
java stringtokenizer 예제
tringTokenizer(String str, String delim) : 문자열 str을 지정된 구분자로 나누는 StringTokenizer를 생성한다.int countTokens() : 전체 토큰수를 반환한다.boolean hasMoreTokens() : 토큰이 남아있는지 알려준다.String nextToken() : 다음토큰을 반환한다. ex) String source = "100, 200, 300, 400, 500";StringTokenizer st = new StringTokenizer(source, ","); while(st.hasMoreTokens()){System.out.println(st.nextToken());}}}
JAVA 메모리 관련 정보 GC, 메모리영역
자바 메모리 누수 측정 방법자바 프로그램의 실제 메로리 사용량은 시스템의 작업관리자에서 나오는 메모리 사용량으로는 측정 할 수없기에 디버그 출력으로 totalMemory() - freeMemory()를 출력하거나, 개발 도구를 사용하여 측정하는 것이좋다. GC 알고리즘메모리가 GC로 부터 해소가 되지 않는 루트 참조 객체(직간접적으로 참조가 되는 모드 객체)는 크게 3가지경우이다.Static 변수에 의한 객체 참조모든 현재 자바 스레드 스택내의 지역 변수, 매개 변수에 의한 객체 참조JNI 프로그램에 의해 동적으로 만들어지고 제거되는 JNI global 객체 참조이러한 경우에 사용할 수 있는 객체로 분류되어 GC에서 가져가지 않아 메모리가 누수될 수 있다. 자바 메모리영역은 3가지로 구성되어 있다.Hea..
두가지 유형의 자바 예외처리
1. 코드public static void main(String args[]){method 1();} statci void method1(){try{throw new Exception(); // 일부러 예외처리}catch (Exception e){System.out.println("method1 메서드 내에서 예외가 처리되었습니다");e.printStackTrace();}}} 결과method1메서드 내에서 예외가 처리 되었습니다.java.lang.Exception at javas.javas.method1(javas.java:12) at javas.javas.main(javas.java:8) 2. 코드public static void main(String args[]){try{method1();}catch..
자바 예외처리
1. try - catch -finally 문try{// 예외가 발생할 가능성이 있는 문장들을 넣는다.} catch (Exception e){//예외처리를 위한 문장을 적는다.} finally{// 예외 발생여부에 관계없이 항상 수행되어야 하는 문장들을 넣는다.} 2. 메서드 예외 처리 메서드에 예외를 선언하려면, 메서드의 선언부에 키워드 throws를 사용해서 메서드내에서 발생할 수 있는 예외를 적어주기만 하면 된다.(예외가 여러개일 경우에는 , 쉼표로 구분한다.) void method() throws Exception1, Execption2, ... ExceptionN{} 이 메서드를 사용하려는 사람은 이메서드를 사용하기 위해서 어떤한 예외들일 처리되어야 하는지 쉽게 알수 있다. ( 자바가 가지는 장..
Eclipse 구성
Eclipse - 종전의 개발 툴은 개발자로 하여금 툴에 갇혀 있또록 만드는 한계가 있었다. 이클립스는 모든 플랫폼을 제공해 주는것을 지향한다. - eclipse 기본 플랫폼 위에 각자의 갭라 용도에 맞는 플러그인을 추가하고, 스스로가 업무 환경에 맞춰 개발 환경을 꾸밀 수 있도록 지원한다. Eclipse plug_in- 이클립스를 구성하는 각각의 기능 단위.- 이클립스에서 동작하는 코드조각- plugin.xml : 해당 플러그인이 다른 플러그인과의 확장점 등을 설명하는 설명서- icons : 아이콘과 같은 리소스- com : 컴파일된 자바코드 플러그인 설치 방법1. 플러그인 파일을 다운 받아서 압축을 푼 후, 내부에 있는 jar 파일을 복사하여 eclipse 폴더 아래 plugins 폴더에 붙여넣고 이..