Checked or Unchecked Exceptions? 우선 Checked Exception은 throws를 사용해서 명시적으로 표시해주거나, try-catch-finally를 사용해서 예외를 처리하게 된다. 반면, UncheckedException은 이런 요구들을 처리하지 않아도 된다. 둘째로, Checked Exception은 java.lang.Exception을 바로 상속하며, UncheckedException은 java.lang.RuntimeException을 상속받도록 되어있다. (자바 예외 계층구조는 다음과 같이 되어있다.) RuntimeException을 상속받은 예외들(UncheckedException)은 런타임시에 확인되며, CheckedException은 컴파일시에 확인되는 예외들이다.
properties을 사용하기 위해 우선, 프로젝트에 properties파일을 생성해야한다. 자신이 원하는 이름의 properties파일을 사용하는 프로젝트에 생성하자. 확장명은 ????.properties이다. properties는 자료구조의 Map에서 key와 value로 구성되어, 사용되는 것과같이 유사한 방식으로 사용한다. properties에서 key=value로 개행하면서 글만 써주면된다. public static String getClassName(String key) { Properties properties = new Properties(); try { properties.load(new FileInputStream("project.properties")); } catch (FileNot..
문자열로 클래스를 만들기 위해서는 java.lang.Class.forName() 을 사용할 수 있다. 우선, Class.forName()의 정의는 이렇다. The java.lang.Class.forName(String name) method returns the Class object associated with the class or interface with the given string name. The java.lang.Class.forName(String name, boolean initialize, ClassLoader loader) method returns the Class object associated with the class or interface with the given stri..
자바에서 MySql을 사용하기 위해서는 Connector가 필요하다. 다음 링크에서 최신버전의 mysql Connector를 받고, 압축 해제 후 jar파일을 사용하고자하는 프로젝트에 추가해준다. LINK http://dev.mysql.com/downloads/connector/j/5.0.html#downloads jar파일을 추가한 다음에는 사용하는 프로젝트의 클래스에서 import java.sql.*; 를 추가해준다. public class DBManager { private Connection conn; private Statement stmt; private DBManager() { }; private static class SingleHolder { public static DBManager s..
자바를 사용할 때 문자열을 합하는 경우가 꽤 많다. 문자열을 합칠 때에는 StringBuilder와 StringBuffer의 append를 사용한 경우와 단순히 String에서 '+'를 사용한 경우의 시간을 비교해 보았다. public class test { public static void main(String[] args) { String a = new String(); StringBuilder sb = new StringBuilder(); StringBuffer sbf = new StringBuffer(); long start1 = System.nanoTime(); for (int i = 0; i < 10000; i++) { a += "abcde"; } long end1 = System.nanoTi..
public static void gc()Runs the garbage collector.Calling the gc method suggests that the Java Virtual Machine expend effort toward recycling unused objects in order to make the memory they currently occupy available for quick reuse. When control returns from the method call, the Java Virtual Machine has made a best effort to reclaim space from all discarded objects. gc는 가비지 콜렉터를 말한다. System.gc(..
자바에서 List나 배열과 같은 일련의 오브젝트들을 접근할 때에는 for, for-each, iterator, while과 같은 반복문, 반복자를 사용한다. 우선 가장 기본적인 for문을 살펴보면, List의 크기를 구해서 그 해당 크기만큼 출력한다. public class test { public static void main(String[] args) { ArrayList number_list = new ArrayList(); number_list.add("num_1"); number_list.add("num_2"); number_list.add("num_3"); number_list.add("num_4"); number_list.add("num_5"); System.out.print("[For Lo..
startWith: 문자열이 지정한 문자로 시작하는지 판단 같으면 true반환 아니면 false를 반환한다.(대소문자구별) String str = "apple"; boolean startsWith = str.startsWith("a"); System.out.println("startsWith: " + startsWith); 결과값:true endWith:문자열 마지막에 지정한 문자가 있는지를 판단후 있으면 true, 없으면 false를 반환한다.(대소문자구별) String str = "test"; boolean endsWith = str.endsWith("t"); System.out.println("endsWith: " + endsWith); 결과값:true equals:두개의 String에 값만을 비교..
자바를 사용하다보면 @Override라는 문구를 볼 수있다.그렇다면 @Override를 왜 쓰는 걸까? @Override를 쓰게 되면 프로그래머가 볼 때, 해당함수는 인터페이스의 메소드를 구현하거나 부모클래스의 함수를 재정의 한 상태라는 것을 알려주게된다.이 상태를 알려주면 프로그래머가 코드를 확인하는 과정에서 해당 메소드를 파악하는데 도움이 될 수 있다. 또한 @Override라는 문구를 적어주게되면 그 해당 메소드가 정말 오버라이드 되었는지 확인하게된다. 이를 테면, @Override annotation은 있는데 메소드명이나, 매개변수가 달라서 부모클래스 또는 인터페이스의 메소드와 다르다면 에러를 발생하게된다. 에러를 검출하기도 쉽고, 가독성을 높일 수 있으니 사용하는 것을 추천한다.
- Total
- Today
- Yesterday