이번에는 자바에서 lock 과 conditin을 이용한 동기화에 대해 알아보겠습니다. 블록을 사용해서 wait & notify 메서드를 지난 포스팅에서 알아보았습니다. 하지만 wait & notify를 이용한 동기화 방법에는 쓰레드를 구분해서 통제하는 것이 불가능하
자바에서 동기화를 지원하는 방법에 대해 알아봅니다. synchronized 키워드와 wait & notify 그리고 이와 관련된 이슈에 대해 알아봅니다.
Inter-Process Communication(IPC) > 프로세스간 소통 방법을 IPC라고 합니다. 프로세스는 크게 독립적인 프로세스와 협력적인 프로세스로 나뉩니다. IPC는 바로 협력적인 프로세스가 다른 프로세스와 협력(통신)하는 방법을 의미합니다.
분할정복 > 분할 정복 알고리즘(Divide and conquer algorithm)은 그대로 해결할 수 없는 문제를 작은 문제로 분할하여 문제를 해결하는 방법이다.
런타임 데이터 영역 >JVM이라는 프로그램이 운영체제 위에서 실행되면서 할당 받는 메모리 영역이다. 런타임 데이터 영역은 5개의 영역으로 나눌 수 있다.
자바 클래스들은 시작할 때 한번에 로드되는 것이 아니라 애플리케이션에서 필요할 때 로드된다. 클래스로더는 Java Runtime Environment의 일부로, 컴파일된 클래스(.class)를 런타임에 동적으로 JVM에 로드하는 역할을 수행하는 모듈이다. 클래스로더
자바 자바의 가장 큰 특징은 플랫폼에 독립적인 언어라는 점입니다. 기본적으로 프로그램이 실행되기 위해서는 Windows, Linux와 같은 운영체제 위에서 실행이 됩니다. 아래 그림처럼 하드웨어를 기반으로 운영체제가 동작하고 그 위에서 프로그램이 실행되는 구조입니다.
그리디 알고리즘은 가장 유명하고 기초적이지만 제가 생각하기에는 가장 어려운 유형의 알고리즘입니다. 그리디 알고리즘은 말 그대로 매 선택에서 눈앞의 가장 큰 이익만을 좇는 방법입니다.