다수의 데이터를 쉽고 효과적으로 관리할 수 있는 표준화된 방법을 제공하는 클래스의 집합
순서가 있는 데이터의 집합, 데이터의 중복 허용
ArrayList, LinkedList 등이 있다.
순서가 없는 데이터의 집합, 데이터 중복 불허용
HashSet, LinkedHashSet 등이 있다.
map의 key,value 구조에서 key 대신 value가 들어가 value를 key로 하는 자료구조
키와 값이 한 쌍으로 이루어져 있으며 키를 기준으로 중복 허용하지 않는다.
순서가 없으며 key의 순서를 보장하기 위해서 LinkedHashMap을 사용
HashMap, TreeMap, HashTable, Properties 등이 있다.
벡터는 한 번에 하나씩 쓰레드에서만 접근 가능하나
ArrayList는 동시에 여러 쓰레드에서 접근 가능
hashSet
treeSet
linkedHashSet
위 네가지 모두 key에서 value로의 대응 관계가 있고 키를 기준으로 순회할 수 있다.
hashMap
linkedHashMap
treeMap
hashTable
일반적으로 HashMap을 사용하나
삽입한 순서대로 키 정보를 얻고 싶다면 LinkedHashMap
정렬된 순서대로 키 정보를 얻고 싶다면 TreeMap
병렬 처리를 하면서 자원의 동기화를 고려해야 하는 상황이라면 HashTable
서버에서 웹 페이지 등을 동적으로 생성하거나 데이터 처리를 수행하기 위해 자바로 작성된 프로그램
HTML을 코딩하기 너무 어렵고 불편해 HTML 내부에 JAVA 코드를 삽입하는 형식이 JSP 즉, 서블릿을 작성하지 않고도 웹프로그래밍을 쉽게 할 수 있게 해주는 기술
Servlet
JSP
시스템 내부에서 사용하는 객체 또는 데이터를 외부의 시스템에서도 사용할 수 있도록 바이트 형태로 데이터 변환하는 기술
반대로 직렬화된 바이트 형태의 데이터를 다시 객체로 변환하는 과정을 역직렬화라고 한다.
--> 다시 말해, JVM의 메모리에 상주되어 있는 객체 데이터를 바이트 형태로 변환하는 기술
자바 8 버전
1. 람다 표현식
2. Stream (반복문을 처리하는 방법 중 하나로 병렬처리 가능)
3. interface의 default 메소드 구현 가능
4. Optional
자바 11 버전
1. String, File 클래스에 몇 가지 메소드 추가
2. 람다 표현식에 var 키워드 사용 가능
3. http client 추가