분류 전체보기

목표 JVM 프로세스와 멀티 스레드 환경에 대해 이해한다. 공유되는 자원과 공유되지 않는 자원의 차이와 공유되는 자원의 접근 시 주의할점에 대해 이해한다. 개요 앞서 프로세스란 자원을 할당받아 실행되는 프로그램이라고 말했다. 즉, JVM은 하나의 프로세스이다. 하나의 프로세스는 여러 작업 단위를 가질 수 있는데 이 작업 단위를 바로 스레드라고 한다. JVM에서는 Main Thread라 불리는 쓰레드가 있고, 우리가 main() 메서드를 사용해 불리는 것이 바로 Main Thread이다. Main Thread가 종료되면 나머지 Thread 들도 자동으로 종료가 된다. 즉, JVM에서 Main Thread가 살아있는 것은 필수적이다. 하지만, 여러 Thread로 동시에 연산을 할 수 있음에도 Main Thr..
목표 프로그램과 프로세스의 차이에 대해 이해한다. 개요 동시성 제어에서 멀티 스레드 환경이 무엇인지를 이해하기 위해서는 프로그램과 프로세스의 차이에 대해 이해하는 것이 중요하다. 따라서 먼저 프로그램과 프로세스의 차이가 무엇인지 알고 가자. 프로그램이란 명령어들의 조합이다. 우리가 작성하는 소스코드 파일들의 묶음이 바로 프로그램이다. 하지만, 소스코드 파일들을 묶음 만으로는 실행이 불가능하다. 이를 실행하기 위해서는 컴퓨터의 메모리에 올려서 실행되어야 한다. 아래에서는 JVM에서 어떻게 java나 kt파일이 메모리에 올라가 실행되는지를 도식화하였다. 아래 그림2를 살펴보자. JVM은 OS로부터 자원을 할당받아 실행되는 프로세스이다. JVM 프로세스에서 돌아가는 프로그램은 바이트코드의 묶음이다. JVM에서..
목차로 돌아가기 [Kotlin Collection] Kotlin에서 확장함수를 이용해 Collection 조작하기 목표 Collection 확장함수가 하는 일을 이해한다. 자유롭게 확장 함수를 이용해 데이터를 조작한다. 개요 Kotlin에서는 일반 컬렉션에도 함수형 프로그래밍을 위한 확장 함수를 제공하여, 데이터를 kotlinworld.com 목표 forEach와 관련된 확장함수를 익힌다. 관련 확장함수들을 적시에 사용할 수 있도록 한다. 확장함수 목록 forEach forEach는 각 Iterable에 대한 확장함수로, 기존의 for문을 사용하던 외부 반복(Iteration)에서 내부 반복(Iteration)으로 바꿔줄 수 있게 하여 가독성을 좋게 만든 확장 함수입니다. forEach : forEach..
목차로 돌아가기 [Kotlin Collection] Kotlin에서 확장함수를 이용해 Collection 조작하기 목표 Collection 확장함수가 하는 일을 이해한다. 자유롭게 확장 함수를 이용해 데이터를 조작한다. 개요 Kotlin에서는 일반 컬렉션에도 함수형 프로그래밍을 위한 확장 함수를 제공하여, 데이터를 kotlinworld.com 목표 forEach를 이해한다. forEach를 자유롭게 사용하여 데이터를 조작한다. forEach() 개요 forEach는 순서가 있는 데이터(CharSequence, Iterable 등)에 대한 확장함수로, 기존의 for문을 사용하던 외부 반복(Iteration)에서 내부 반복(Iteration)으로 바꿔줄 수 있게 하여 가독성을 좋게 만든 확장 함수입니다. 외..
목표 Collection 확장함수가 하는 일을 이해한다. 자유롭게 확장 함수를 이용해 데이터를 조작한다. 개요 Kotlin에서는 일반 컬렉션에도 함수형 프로그래밍을 위한 확장 함수를 제공하여, 데이터를 조작하기 쉽게 만들었습니다. 대표적으로 기존에는 특정한 값들을 걸러내기 위해 iteration을 돌려 하나하나 값을 확인하는 것을 코드로 써야 했습니다. 아래는 기존 방식으로 리스트(exampleList)에서 특정 값을 제외한 리스트(filteredList)를 만드는 예제입니다. val exampleList = mutableListOf(1, 2, 3) val filteredList = mutableListOf() for (number in exampleList) { if (number != 1) filte..
Dev.Cho
'분류 전체보기' 카테고리의 글 목록 (91 Page)