자바6 Exception 과 Error 예외란? (Error vs Exception) 자바에서는 실행시(runtime) 발생할 수 있는 오류를 에러와 예외 두 가지로 구분한다. 에러(Error) 메모리부족 (OutOfMemory) 나 (StackOverflow)와 같이 발생하면 복구할 수 없는 오류 시스템에 비정상적인 상황이 생겼을 때 발생한다. 시스템 레벨에서 발생하기 때문에 심각한 수준의 오류이다. 개발자가 미리 예측할 수 없다. 에러는 일반적으로 복구할 수 없으며 프로그램의 실행을 중단시킨다. 예외(Exception) 예측가능한 오류 런타임 예외 (Unchecked Exception) 과 예외 (Checked Exception) 으로 나눠진다. 런타임 예외 런타임 예외는 명시적인 예외 처리가 필요하지 않고, 프로그래머의 실수에 의한 오류.. 2023. 6. 8. HashMap과 LinkedHashMap HashMap은 쌍으로 저장할수 있는 자료구조이다. 하지만 단점이 있다 put을 이용해 데이터쌍을 삽입할때 삽입 순서가 지켜지지 않는다. 경우에 따라 순서가 보장되어야 할 때가 있고 그렇지 않을 때가 있다. 순서가 보장되어야 한다면 LinkedHashMap을 사용하면 된다. 예를들어 HashMap map = new LinkedHashMap(); //map을 Integer형 key배열로 변환한다. Integer key[] = map.keySet().toArray(new Integer[map.size()]); //map에 1,2,3 이차례로 들어갔다고 가정하면 key[0] = 1 ,key[1]=2,[key[2] = 3; 이된다. //그냥 HashMap을 사용하면 이순서가 지켜지지 않는다. HashMap ma.. 2021. 5. 15. 프로세스와 스레드 스레드 프로세스 내에서, 더 작은 단위로 독립적으로 실행시키며 제어가 가능한 흐름 의 단위 - 어떠한 프로그램 내에서 (프로세스 내에서 실행되는 흐름의 단위 일반적으로는 하나의 스레드를 가지고있지만 프로그램 환경에 따라 둘이상의 스레드를 동시에 실행 할 수 있다. 이러한 방식을 멀티스레드 라고 한다. 프로세스와 스레드 차이 - 프로세스 완전한 하나의 프로그램이 실행되는것 fork() (자식복제) 를 통해 생성되는 프로세스는 원래의 프로세스와 똑같은 변수와 코드 등 여러면에서 똑같은 복사본이다. 따라서 부모와 똑같은 자식을 생성하기 위해서는 많은 자원이 요구된다. - 스레드는 부모 프로세스 전체의 복사본을 만들지 않고 필요한 코드 덩어리만을 생성하여 동시에 수행 (생성) 해당 스레드들 모두가 동일 프로그램.. 2020. 6. 9. 자바 collection - list arraylist 자바의 vector를 개선한 배열로 구현된 List 그말인 즉 데이터가 저장된 순서가 같다. 사실상 배열과 같은 자료구조이기 때문에 리스트의 연산 자체의 수행시간 속도는 배열과 같다. LinkedList 다음 노드의 주소를 기억하고 있는 List로 배열에 비해 삽입과 삭제가 간단하다. 하지만 탐색의 경우 첫번째 노드부터 탐색해 나가야 하기 때문에 느리다. - map hashmap 가장 일반적으로 사용하는 map hashtable을 사용 key값에 해시함수를 적용하여 나온 index에 value를 저장한다 중복을 허용하지 않으며 순서가 없다.(같은 값을 다른 키로 저장하는 것은 가능하다.) Tree map - Red-Black Tree 자료구조를 이용한 Map이다. Tree구.. 2020. 5. 27. 자바 개념정리 객체지향이란 OOP (객체지향 프로그래밍) (중요) 객체지향 프로그래밍은 컴퓨터 프로그래밍 패러다임(견해, 사고법)의 하나로, 프로그래밍에서 필요한 데이터를 추상화 시켜서 상태(속성, 어트리뷰트)와 행위(메서드)를 가진 객체 로 만들고, 그 객체간의 상호작용을 통해 로직을 구성하는 방법. 장점 다른 클래스를 가져와 사용할 수 있고, 상속받을 수 있어 코드의 재사용성 증가 절차지향보다 유지보수가 간단 클래스 단위로 모듈화가 가능하여, 대형 프로젝트에 적합 단점 처리속도가 상대적으로 느리다. 객체가 많으면 용량이 커진다. 설계시 많은 노력과 시간이 필요하다. 6가지 특징 클래스 현실 세계의 객체를 추상화시켜, 속성과 메서드로 정의한 것 (논리적 개념) 즉 클래스를 정의해 높은것 인스턴스 클래스에서 정의한 것을 토대로 만.. 2020. 5. 27. 자바 개념 - 자바의 특징 운영체제에 독립적이다 - 자바 가상머신을통해 자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM(자바가상머신)을 통해서만 통신한다 JVM은 자바응용프로그램으로부터 받은 명령을 해석하여 운영체가 이해할 수 있도록 변환하여 전달한다. -> 자바는 운영체제에 독립적이고 JVM은 운영체제에 종속적이므로 sun에서서 여러 운영체제에서 실행할 수 있도록 여러 버전의 JVM을 제공한다. 객체지향 언어이다 OOP (객체지향 프로그래밍) (중요) 객체지향 프로그래밍은 컴퓨터 프로그래밍 패러다임(견해, 사고법)의 하나로, 프로그래밍에서 필요한 데이터를 추상화 시켜서 상태(속성, 어트리뷰트)와 행위(메서드)를 가진 객체 로 만들고, 그 객체간의 상호작용을 통해 로직을 구성하는 방법. 장점 다른 클래스를 가져와 사용할 수 .. 2020. 5. 27. 이전 1 다음