목록Java (22)
Rootable의 개발일기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b1OVxz/btsHe2Qu9sD/zXlQD7MNNEVxgdFJ4NyUv1/img.png)
❓ List 인터페이스란 중복을 허용하면서 저장 순서가 유지되는 컬렉션을 구현하는 데 사용되는 인터페이스 ✔ Thread-safe멀티스레드 프로그래밍에서 여러 스레드가 공유 자원을 사용할 때, 작업 후 원하는 결과가 나오는 것을 보장하는 성질이를 위해 임계 영역, Lock 등을 사용하여 한 작업의 결과가 일관성 있게 반영되도록 한다. 하지만 Thread-unsafe보다 속도가 느리기 때문에 멀티스레드 환경이 아니라면 굳이 사용할 필요가 없다. ✅ 특징 저장 순서가 유지됨중복 저장 허용배열과 마찬가지로 index로 요소 접근동적인 자료형 크기요소 사이에 빈 공간을 허용하지 않아 삽입/삭제마다 배열 이동이 일어난다. 📚 Methods MethodDescriptionvoid add(int index, Ob..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c1vmyy/btsHe1KlRYG/UAsKWi7KG9kPtiXRxERXCk/img.png)
❓ Collection Framework란? Java에서 데이터를 저장하는 기본 자료구조들을 한 곳에 모아 관리하고 편리하게 사용하기 위해 제공하는 인터페이스 🗨 Collection여러 요소들을 담을 수 있는 자료구조로서 다수의 데이터 그룹 또는 컨테이너(Container)라고도 부른다.배열은 다음과 같은 단점이 있다.- 최초 크기가 할당된 이후 변경 불가- 같은 기본형 데이터 자료형만 저장- 요소의 삽입/삭제가 어려움컬렉션은 배열의 단점들을 해소하기 위해 등장했다. 😀 장점 인터페이스와 다형성을 이용한 객체지향적 설계를 통해 표준화되어 있기 때문에 사용법을 익히기에 편리하고 재사용성이 높다.이미 구현되어 있는 API를 사용하면 되므로 새로운 API를 익히고 설계하는 시간이 줄어든다.관련 없는 AP..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bVt8du/btsHaSTTBFe/5a4eYekiHnlwYAhcL9MXt0/img.jpg)
📌 정의 ✅ 직렬화(Serialization) 데이터를 디스크에 저장하거나, 네트워크 통신에 사용하기 위한 형식으로 변환하는 것 ✅ 역직렬화(Deserialization) 디스크에 저장한 데이터를 읽거나, 네트워크 통신으로 받은 데이터를 메모리에 쓸 수 있도록 변환하는 것 ❓ 직렬화가 필요한 이유 자바에는 원시타입(Primitive Type)과 주소값을 갖는 참조형 타입이 있다. 원시 타입은 스택에 저장되며, 값 자체가 그대로 저장되기 때문에 값을 일정한 형식의 raw byte 형태로 변경하여 외부로 전달할 수 있다. 반면, 객체 데이터는 Heap 영역에 존재하고 스택에는 Heap 영역에 존재하는 객체의 주소(메모리 주소)를 갖는 식으로 저장된다. 그렇다면 외부로 전달하는 데이터는 객체의 주소가 된다...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/QtFRf/btsG6g9xRWm/9Il4qNTOKpCD3c6LpvOPr0/img.png)
📌 Thread란? 프로세스를 구성하는 세부 실행단위 자바는 JVM을 통해 멀티스레드를 구성하여 Concurrent 하게 동작하여 동시에 여러 작업을 수행할 수 있다. 하지만 동시에 실행하는 Thread의 수행 순서는 보장되지 않는다. Concurrent vs Parallel (동시성 vs 병렬성)두 성질 모두 여러 작업을 동시에 처리하는 멀티스레드 동작을 말한다.Concurrent는 여러 Thread가 물리적으로 동시에 실행되는 것이 아닌, 실제 동작은 여러 Thread의 수행 시간을 쪼개어 동작한다. 즉, 번갈아 수행한다는 의미다.Parallel은 Concurrent와 달리 물리적으로 동시에 여러 Thread를 병렬적으로 수행한다. 즉, 동시에 수행한다는 의미다. JVM이 가장 먼저 수행하는 Thr..