목록2024/05/03 (2)
Rootable의 개발일기
📌 정의 ✅ 직렬화(Serialization) 데이터를 디스크에 저장하거나, 네트워크 통신에 사용하기 위한 형식으로 변환하는 것 ✅ 역직렬화(Deserialization) 디스크에 저장한 데이터를 읽거나, 네트워크 통신으로 받은 데이터를 메모리에 쓸 수 있도록 변환하는 것 ❓ 직렬화가 필요한 이유 자바에는 원시타입(Primitive Type)과 주소값을 갖는 참조형 타입이 있다. 원시 타입은 스택에 저장되며, 값 자체가 그대로 저장되기 때문에 값을 일정한 형식의 raw byte 형태로 변경하여 외부로 전달할 수 있다. 반면, 객체 데이터는 Heap 영역에 존재하고 스택에는 Heap 영역에 존재하는 객체의 주소(메모리 주소)를 갖는 식으로 저장된다. 그렇다면 외부로 전달하는 데이터는 객체의 주소가 된다...
📌 Thread란? 프로세스를 구성하는 세부 실행단위 자바는 JVM을 통해 멀티스레드를 구성하여 Concurrent 하게 동작하여 동시에 여러 작업을 수행할 수 있다. 하지만 동시에 실행하는 Thread의 수행 순서는 보장되지 않는다. Concurrent vs Parallel (동시성 vs 병렬성)두 성질 모두 여러 작업을 동시에 처리하는 멀티스레드 동작을 말한다.Concurrent는 여러 Thread가 물리적으로 동시에 실행되는 것이 아닌, 실제 동작은 여러 Thread의 수행 시간을 쪼개어 동작한다. 즉, 번갈아 수행한다는 의미다.Parallel은 Concurrent와 달리 물리적으로 동시에 여러 Thread를 병렬적으로 수행한다. 즉, 동시에 수행한다는 의미다. JVM이 가장 먼저 수행하는 Thr..