Skip to content

Commit cd80aae

Browse files
committed
🔧 fix: Change JAVA resource
1 parent 848e5ec commit cd80aae

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

Java/README.md

+18-18
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
# Part 2-1 Java
22

3-
* [Part 2-1 Java](#part-2-1-java)
4-
* [JVM 에 대해서, GC 의 원리](#jvm----gc)
5-
* [Collection](#collection)
6-
* [Annotation](#annotation)
7-
* [Reference](#reference)
8-
* [Generic](#generic)
9-
* [final keyword](#final-keyword)
10-
* [Overriding vs Overloading](#overriding-vs-overloading)
11-
* [Access Modifier](#access-modifier)
12-
* [Wrapper class](#wrapper-class)
13-
* [AutoBoxing](#autoboxing)
14-
* [Multi-Thread 환경에서의 개발](#multi-thread)
15-
* [Field member](#field-member)
16-
* [동기화(Synchronized)](#synchronized)
17-
* [ThreadLocal](#threadlocal)
18-
* [Personal Recommendation](#personal-recommendation)
3+
- [Part 2-1 Java](#part-2-1-java)
4+
- [JVM 에 대해서, GC 의 원리](#jvm-%EC%97%90-%EB%8C%80%ED%95%B4%EC%84%9C-gc-%EC%9D%98-%EC%9B%90%EB%A6%AC)
5+
- [Collection](#collection)
6+
- [Annotation](#annotation)
7+
- [Reference](#reference)
8+
- [Generic](#generic)
9+
- [final keyword](#final-keyword)
10+
- [Overriding vs Overloading](#overriding-vs-overloading)
11+
- [Access Modifier](#access-modifier)
12+
- [Wrapper class](#wrapper-class)
13+
- [AutoBoxing](#autoboxing)
14+
- [Multi-Thread 환경에서의 개발](#multi-thread-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C%EC%9D%98-%EA%B0%9C%EB%B0%9C)
15+
- [Field member](#field-member)
16+
- [동기화(Synchronized)](#%EB%8F%99%EA%B8%B0%ED%99%94synchronized)
17+
- [ThreadLocal](#threadlocal)
18+
- [Personal Recommendation](#personal-recommendation)
1919

2020
[뒤로](https://github.com/JaeYeopHan/for_beginner)
2121

@@ -36,8 +36,8 @@
3636

3737
Java Collection 에는 `List`, `Map`, `Set` 인터페이스를 기준으로 여러 구현체가 존재한다. 이에 더해 `Stack``Queue` 인터페이스도 존재한다. 왜 이러한 Collection 을 사용하는 것일까? 그 이유는 다수의 Data 를 다루는데 표준화된 클래스들을 제공해주기 때문에 DataStructure 를 직접 구현하지 않고 편하게 사용할 수 있기 때문이다. 또한 배열과 다르게 객체를 보관하기 위한 공간을 미리 정하지 않아도 되므로, 상황에 따라 객체의 수를 동적으로 정할 수 있다. 이는 프로그램의 공간적인 효율성 또한 높여준다.
3838

39-
* List
40-
`List` 인터페이스를 직접 `@Override`를 통해 사용자가 정의하여 사용할 수도 있으며, 대표적인 구현체로는 `ArrayList`가 존재한다. 이는 기존에 있었던 `Vector`를 개선한 것이다. DataStructure 부분에서 설명한 Array 라고 생각하면 쉽지만 내부적으로는 `Red-Black tree`로 구성되어 있다. 이외에도 `LinkedList` 등의 구현체가 있다.
39+
* List
40+
`List` 인터페이스를 직접 `@Override`를 통해 사용자가 정의하여 사용할 수도 있으며, 대표적인 구현체로는 `ArrayList`가 존재한다. 이는 기존에 있었던 `Vector`를 개선한 것이다. 이외에도 `LinkedList` 등의 구현체가 있다.
4141
* Map
4242
대표적인 구현체로 `HashMap`이 존재한다. (밑에서 살펴볼 멀티스레드 환경에서의 개발 부분에서 HashTable 과의 차이점에 대해 살펴본다.) key-value 의 구조로 이루어져 있으며 Map 에 대한 구체적인 내용은 DataStructure 부분의 hashtable 과 일치한다. key 를 기준으로 중복된 값을 저장하지 않으며 순서를 보장하지 않는다. key 에 대해서 순서를 보장하기 위해서는 `LinkedHashMap`을 사용한다.
4343
* Set

0 commit comments

Comments
 (0)