일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- cs 공부)준비
- HTML
- Entity
- 항해99
- 면접(java
- Spring
- 우선순위 큐(priorityqueue)
- GIT
- 코딩
- 개발자 취업
- 99클럽
- ArrayList
- Til
- 회고
- 이진 탐색(binary search)
- 메서드
- css
- 코딩테스트 준비
- 프로그래머스
- 코딩공부
- 자바
- 자료구조
- 배열
- 코딩문제
- 정렬 알고리즘(sort algorithm)
- Grafana
- wil
- aop
- Java
- github
- Today
- Total
목록99클럽 (38)
hayu's 개발 일지
학습 키워드- Queue 공부한 내용QueueQueue의 사전적 의미는 무엇을 기다리는 사람, 차량 등의 줄 혹은 줄을 서서 기다리는 것을 의미한다. 이처럼 줄을 지어 순서대로 처리되는 것이 큐라는 자료구조로 데이터의 추가와 삭제를 순서대로 처리한다.큐는 데이터를 일시적으로 쌓아두기 위한 자료구조로 스택과는 다르게 FIFO(First In First Out)의 형태이다. FIFO 형태는 뜻 그대로 먼저 들어온 데이터가 가장 먼저 나가는 구조를 말한다.→ 큐의 맨 끝에서 데이터를 추가하고(Enqueue) 큐의 맨 앞에서는 데이터가 삭제(Dequeue)된다.Queue의 특징FIFO(First In First Out) 구조, 먼저 들어간 자료가 먼저 나오는 구조이다.큐의 맨 앞은 프런트(front)로 정하여 ..
학습 키워드- Stack 공부한 내용Stack 사용(메서드)자바는 java.util.Stack클래스를 통해 Stack(스택) 동작을 제공하고 있다.일반적으로 스택에 데이터를 추가하는 동작은 push라고 하며 스택에서 데이터를 빼는 동작은 pop이라고 한다.import java.util.Stack;Stack 요소 넣기 - push()Stack stack = new Stack(); stack.push(1); stack.push(2); stack.push(3); System.out.println(stack); // 출력 : [1, 2, 3]Stack 요소 꺼내기 - pop()Stack은 나중에 넣은것이 먼저 나오는 LIFO(Last In Firs..
학습 키워드- Stack 공부한 내용Stack스택(Stack)의 사전적 정의는 ‘쌓다’, ‘더미’로 접시 스택처럼 접시를 쌓아놓은 것을 말한다. 즉, 상자에 물건을 쌓아 올리듯이 데이터를 쌓는 자료구조라고 할 수 있다.스택은 마지막에 저장한 데이터를 가장 먼저 꺼내게 되는 구조 특징이 있는데, 이러한 자료의 구조를 LIFO(Last In First Out) 구조라고 한다.함께 많이 사용되는 Queue(큐)의 경우 먼저 추가된 데이터가 먼저 나오는 FIFO(First In First Out) 동작을 갖는 것과 비교된다.Stack 사용처스택의 쓰임새의 대표적인 예로 총기류의 탄창을 들 수 있다. 마지막에 넣은 탄알이 가장 먼저에 발사되어 꺼내어지며, 결국에는 맨 처음에 넣은 탄환이 마지막에 발사되는 걸 떠올..
학습 키워드- Vector VS ArrayList 공부한 내용Vector VS ArrayList Vectorimport java.util.Vector;List 인터페이스를 구현한 클래스이다.객체들을 삽입, 삭제, 검색할 수 있는 컨테이너 클래스이다.필요에 따라 크기를 동적으로 조절할 수 있는 동적배열이다.동기화(Thread Safe) 되어있으며, 한번에 하나의 스레드만 벡터의 메소드 호출 가능하다.내부적으로 여러개의 스레드가 접근할 때 데이터 안정성을 위해 한개의 스레드씩 순차적으로 처리할 수 있도록 동기화되어 있다.→ 안정성이 보장하는 만큼 일을 많이 처리한다는 의미이며, 메모리를 많이 사용한다.List 인터페이스 상속을 받는다.ArrayListimoprt java.util.ArrayList;컬렉션 프..
학습 키워드- 스레드(Thread) 공부한 내용스레드(Thread)운영체제에서 스레드는 프로세스 내부에서 실행되는 작은 작업 단위이다. 스레드는 프로세스의 실행 흐름을 구성하는 단위로, 하나의 프로세스는 내부에 여러개의 스레드가 포함될 수 있다.스레드는 운영체제의 스케줄러에 의해 독립적으로 관리될 수 있는 프로그래밍된 명령어의 가장 작은 시퀀스이다. 또한, 하나의 프로세스는 하나 이상의 스레드를 갖고 있다.⇒ 프로세스는 독립적인 특성을 가지고 있다고 하였다. 이러한 프로세스가 같은 일을 처리하기 위해 동일한 프로그램을 여러개의 프로세스로 만들게 되면, 그만큼 메모리를 차지하고, 그 외 에서 CPU에서 할당받는 자원이 중복되어 할당 받게 될 것이다. 따라서 중복되는 자원의 낭비를 줄일 필요성이 있고, 중복..
학습 키워드- Vector 공부한 내용VectorVector은 ArrayList와 같이 List 인터페이스를 상속받는 컬렉션 프레임워크이며, 사용법은 ArrayList와 크게 다르지 않다.ArrayList와 동일한 구조를 가지며 배열의 크기가 늘어나고, 줄어듬에 따라서 자동으로 크기가 조절이 된다.Vector의 특이한 점이라면 항상 동기화되어있고 Collection 프레임워크에 없는 메서드들을 사용이 가능하다.⇒ 멀티 스레드가 동시에 이 메서드를 실행할 수 없고, 하나의 스레드가 실행을 완료해야만 다른 스레드들이 실행할 수 있다. 그래서 멀티 스레드 환경에서 안정하게 객체를 추가하고 삭제할 수 있다.하지만 동기화라는 특징이 있어 스레드가 아닌 환경에서는 거의 사용이 되지 않는다. 그리고 항상 동기화되므로..