목록BackEnd/JAVA (11)
매일 매일 미라클 코딩
개념적으로 전혀 비슷하지 않지만 이름 때문에 자바 입문시 혼란이 있는 용어 설명에도 능숙한 전문가가 되기 위해 기록 OverLoading 오버로딩 더 (over) 적재(load) 하다 같은 이름의 메소드를 더 선언한다는 뜻. 이름이 같더라도 매개변수 개수와 반환 타입이 다르면 다른 메소드로 인식하기 때문에 가능하다. Overriding 오버라이딩 덮어쓰다 기존에 있는 메소드를 재정의하는 것 오버라이딩은 매개변수의 개수와 반환타입이 같아야 성립한다.

프로세스 실행중인 프로그램. 운영체제로부터 자원을 할당받는 작업의 단위 자원과 이를 실행하는 쓰레드로 구성 쓰레드 프로세스 내에서 실제 작업을 수행하는 단위 모든 프로세스는 하나 이상의 쓰레드를 가진다. 멀티 쓰레드 하나의 프로세스(프로그램) 에 하나 이상의 쓰레드를 생성하여 실행 멀티 프로세스 두개 이상의 프로세서(CPU)가 하나 이상의 작업(Task)을 동시에 처리하는 것 (병렬처리) 멀티 Thread 멀티 Process T메모리 스레드 개수만큼 분할 다수의 T메모리 메모리 공유 힙과 스태틱 영역을 공유, 스택은 분할 다른 프로세스의 영역 침범 X 장점 공유하는 영역이 있기 때문에 메모리를 적게 사용 안전한 메모리 구조. 다른 프로세스의 영향을 받지 않음 단점 동기화 문제, 하나의 스레드 문제로 전체..

Java의 메모리 영역은 크게 4가지로 나눌 수 있다 코드 영역(Code), T 메모리 구조라 불리는 스태틱(Static), 스택(Stack), 힙(Heap) 영역으로 구분된다. static 영역 ( JVM 종료 시 소멸) 개발자가 작성한 모든 클래스와 임포트 패키지 정보는 static 영역에 배치 static이라는 키워드를 붙여서 선언된 클래스 멤버도 static 영역 메소드는 static 있든 없든 static 영역 클래스나 메소드가 실제로 호출 될 때 올라가며 JVM이 종료될 때 까지 상주. static 영역에 있는 것은 어떤 곳에서나 접근이 가능 static(전역) 변수는 읽기 전용이 아닌 경우에는 가능한 사용하지 않는게 좋다. 읽기전용 전역 상수 선언 추천. stack 영역 (컴파일 시 작동) ..
해쉬구조: key->value . '검색'에 특화된 제일 빠른 구조. 정렬은 하지 않는다. 모든것, 아무리 긴 것도 다 64bit 로 변환하는 해쉬 알고리즘을 사용한다. 대신 저장하는데 오래걸리고 워낙 큰값도 64bit로 변환하다보니 동일한 해쉬값나올수 있다(충돌). Map: (Key, Value) Key를 Hash화하여 정렬 후 value를 저장 키에 해당하는 값을 찾는 구조로 검색속도가 빠르다. key값은 중복이 없지만 다른 key에 같은 value가 존재 가능하다 ex) 위도 경도 입력해 독도 찾기 Set: 집합 Value를 Hash화 하여 정렬 후 저장 - value를 찾아내는 구조 - 값의 중복을 허용하지 않는다 HashSet, TreeSet : Data의 중복을 허용하지 않음 HashMap, ..