분류 전체보기(58)
-
스레드(thread)&멀티스레드&동기화-미완성
다중 스레딩(multi-threading)은 하나의 프로그램이 동시에 여러가지 작업을 할 수 있도록 하는 것. 각각의 작업은 스레드 라고 불린다. (두개 이상의 스레드- 멀티 스레드) 멀티 프로세스는 한번에 여러가지 프로그램을 실행시키는 것 멀티 스레드는 하나의 프로그램 안에서 여러개의 명령처리를 하는 것. 프로세스: 자신망의 데이터를 가진다. 스레드: 동일한 데이터를 공유한다. 스레드는 어떠한 프로그램 내에서 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 스레드를 생성하는 방법 class Count extends Thread{ public void run(){ for(int i=0;i run() 한번 실행. ==> 프로그램이 실행되면 처음 만들어지는 쓰레드 하나, 얘는 하는일이 main()함수를..
2020.03.17 -
예외처리 (Exception )
Error(에러)와 Exception(예외의 차이) 예외 -> 컴파일 때 아니라 런타임 때 발생한다. 프로그램 실행 중 어떤 이유로 프로그램이 종료됨. 예외처리 -> 프로그램이 종료되는상황 (런타임 에러) 이 왔을때 어떻게 대응 할 것인지에 대한 명세를 작성 해주는 것. 에러(Error)란 컴퓨터 하드웨어의 오동작 또는 고장으로 인해 응용프로그램에 이상이 생겼거나 JVM 실행에 문제가 생겼을 경우 발생하는것을 말한다. 이 경우 개발자가 대처할 방법은 극히 제한적이다. 하지만 예외(Exception)은 다르다. 예외란 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류를 말한다. 예외가 발생하면 프로그램이 종료가 된다는것은 에러와 동일하지만 예외는 예외처리(Exception H..
2020.03.17 -
래퍼클래스 (wrapper class)
프로그램에 따라 기본 타입의 데이터를 객체로 취급해야 하는 경우가 있습니다. 예를 들어, 메소드의 인수로 객체 타입만이 요구되면, 기본 타입의 데이터를 그대로 사용할 수는 없습니다. 이때에는 기본 타입의 데이터를 먼저 객체로 변환한 후 작업을 수행해야 합니다. 이렇게 8개의 기본 타입에 해당하는 데이터를 객체로 포장해 주는 클래스를 래퍼 클래스(Wrapper class)라고 합니다. 래퍼 클래스는 각각의 타입에 해당하는 데이터를 인수로 전달받아, 해당 값을 가지는 객체로 만들어 줍니다. 이러한 래퍼 클래스는 모두 java.lang 패키지에 포함되어 제공됩니다. 자바의 기본 타입에 대응하여 제공하고 있는 래퍼 클래스는 다음과 같습니다. 기본타입 래퍼 클래스 byte Byte short Short int I..
2020.03.16 -
제네릭(generic) -미완성
제네릭(generic)이란? 자바에서 제네릭(generic)이란 데이터의 타입(data type)을 일반화한다(generalize)는 것을 의미합니다. 제네릭은 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법입니다. 이렇게 컴파일 시에 미리 타입 검사(type check)를 수행하면 다음과 같은 장점을 가집니다. 1. 클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있습니다 2. 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있습니다. JDK 1.5 이전에서는 여러 타입을 사용하는 대부분의 클래스나 메소드에서 인수나 반환값으로 Object 타입을 사용했습니다. 하지만 이 경우에는 반환된 Object 객체를 다시 원하는 타입으로 타입 변환해..
2020.03.16 -
iterator & hasnext (), next() 메소드 - 미완성
iterator는 자바의 컬렉션 프레임 워크에서 컬렉션에 저장되어 있는 요소들을 읽어오는 방법을 표준화 한 것이다. 컬렉션 프레임 워크란 데이터를 저장하는 클래스들을 표준화 한 설계이다. 컬렉션 프레임 워크는 아래 그림과 같이 데이터를 저장하는 구조에 따라 3가지 인터페이스로 구성된다. Set, List, Map은 어떤 데이터들의 집합체라고 볼 수 있다. Set과 List는 데이터의 그룹(Collection)이다. Set은 순서를 유지하지 않는 데이터의 집합이다. 데이터의 중복이 허용되지 않고 HashSet, TreeSet 등이 있다. List는 순서를 유지하는 데이터의 집합이다. 데이터의 중복이 허용되며 Vector, LinkedList, ArrayList 등이 있다. List 클래스에 대해서는 한번 ..
2020.03.16 -
Hashmap(해쉬맵) -미완성
key 키값은 숫자 못들어간다. value 객체가 들어간다..? 1. HashMap이란? : HashMap은 Map을 구현한다. Key와 value를 묶어 하나의 entry로 저장한다는 특징을 갖는다. 그리고 hashing을 사용하기 때문에 많은양의 데이터를 검색하는데 뛰어난 성능을 보인다. Map 인터페이스의 한 종류로 ( "Key", value) 로 이뤄져 있다. key 값을 중복이 불가능 하고 value는 중복이 가능. value에 null값도 사용 가능하다. 멀티쓰레드에서 동시에 HashMap을 건드려 Key - value값을 사용하면 문제가 될 수 있다. 멀티쓰레드에서는 HashTable을 쓴다 2. HashMap 생성자 / 메서드 생성자/메서드 내용 HashMap() - HashMap 객체를 ..
2020.03.16