전체 글
-
[Java] 체크예외와 언체크 예외(Checked, Unchecked Exception)란?Language/Java 2020. 4. 10. 11:18
에러(error)와 예외(exception)의 차이는 알 것이다. 에러의 예시는 메모리 부족(OutofMemoryError)이나 스택오버플로우(StackOverflowError)처럼 복구하기 힘든 것이고, 예외는 상대적으로 덜 심각해 처리할 수 있는 것이다. 자바는 예외를 클래스로 만들어서 관리를 하고 전체 계층 구성도는 위와 같다. 여기서 잘 봐야 할 점은 Exception 클래스와 RuntimeException 클래스를 주의 깊게 보자. RuntimeException에 대해서 먼저 말하자면 말 그대로 프로그래머의 실수에 의해서 Runtime시에 예외가 발생할 수 있는 것들이다. (예를들어, 범위 밖의 인덱스를 참조한다던지, 분모를 0으로 나눈다던지 등이 있다) Checked와 Unchecked를 말하..
-
[Java] JDBC를 사용한 데이터베이스 연동(Mysql)DBProgramming/JDBC 2020. 4. 9. 23:57
1. JDBC API Java DataBase Connectivity의 약자로 JDBC는 자바 언어로 데이터베이스 프로그래밍을 하기 위한 라이브러리이다. JDBC는 DBMS에 종속되지 않는 관련 API를 제공한다. JDBC API는 JDK에서 제공하며 JDBC 프로그래밍을 위해서는 JDBC드라이버가 필요하다! JDBC 드라이버는 각 DBMS 회사에서 제공하는 라이브러리 압축파일이다. 우리는 MySQL 데이터베이스관리시스템을 사용하지만 오라클을 사용한다면 오라클용 JDBC 드라이버가 필요하다. 2. JDBC API 클래스 JDBC는 다양한 클래스와 인터페이스로 구성된 패키지 java.sql와 javax.sql로 구성되어 있다. 데이터베이스를 연결하여 테이블 형태의 자료를 참조 SQL 문을 질의 SQL 문의..
-
[Java] HashMap을 정렬하는 방법Language/Java 2020. 4. 8. 23:37
Map의 구조처럼 Key, Value의 형태를 정렬을 할 때는 Comparable or Comparator 인터페이스를 구현한 후에 해당 인터페이스에 맞는 compare or compareTo 메소드를 오버라이딩 해서 정렬의 기준을 재정의 한 후에 하면 된다는 것은 알았지만 자세히 사용법을 정리해보려 한다. Key를 기준으로 정렬을 하고 싶다는 그냥 TreeMap을 이용하면 된다. 하지만 Value를 기준으로 정렬하고 싶다면 어떻게 해야할까? 1. Value를 기준으로 Map을 정렬하기 Value를 기준으로 정렬하고 싶다면 위에서 말한 것처럼 Comparator 인터페이스를 implements 한 후에 compare 메소드를 오버라이딩 하여야 한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 ..
-
[Java] LinkedHashMap은 무엇일까?Language/Java 2020. 4. 8. 18:48
HashMap에 대해서 간략하게라도 알고 있다면 LinkedHashMap을 이름만 봐도 LinkedList + HashMap 합쳐진 것이라고 추측할 수 있다. HashMap은 순서가 존재하지 않는다. (즉 버전에 따라 환경에 따라 달라진다는 뜻이다) 그래서 내가 추측했던 것 처럼 실제로 LinkedHashMap은 HashMap에서 자료들이 입력된 순서를 기억하는 것을 추가하기 위해 만든 클래스이다. 사실 왜 HashMap이 데이터의 순서를 유지하지 않는지?에 대해서는 깊게 생각해본적이 없다. 이번에 짧게라도 생각해보면서 공부한 것을 정리해보려 한다. HashMap이 데이터의 순서를 유지하지 않는 이유 HashMap은 연관 배열을 저장하기 위한 자료구조이다. (연관 배열이라는 말은 처음 들어본다) 그러면 ..