스레드와 스케줄링Thread를 구현해보기 앞서, 먼저 자바의 메모리 구조에 대한 이해가 필요하다.Java 내부에는 크게 두가지 영역으로 나눌 수 있다. 공유와 비 공유 영역해당 글은 메모리 구조에 대한 설명글은 아니므로, 해당 Thread에서만 할당 되는 지역 변수,
메모리 가시성 문제는 멀티스레드 환경에서 한 스레드가 변경한 변수의 값이 다른 스레드에게 즉시 또는 올바르게 보이지 않는 상황을 말합니다.즉, A Thread에서 공유되는 자원인 value의 값을 변경하였고, 이후 B Thread 에서 접근하여 확인하는데, 변경값이 적
동시성 문제에 대해서 다루지만, DB의 Locking 전략등을 다루지 않고, 순수한 Java 코드로 동시성 문제를 해결하는 내용입니다.이전에는 가시성 문제에 대해서 알아보며, volatile을 사용해 회피하는 방법에 대해서 알아 보았다.여러 스레드 혹은 프로세스가 동시
동시성 문제에 대해서 다루지만, DB의 Locking 전략등을 다루지 않고, 순수한 Java 코드로 동시성 문제를 해결하는 내용입니다.이전에 동기화를 해야하는 이유와, 동시성 문제, synchronized메서드를 통해 해결하는 방법에 대해서 알아보았다.참고자료실행 코드
원자적 연산은, 연산이 더 이상 나눌 수 없는 단위로 수행된 다는 걸 의미.int i = 0; 이라는 코드가 있다.해당 코드는 연산 측면에서는 더 이상 나눌 수 없는 원자적 연산 이라고 표현 할 수 있다.i = i + 1; 해당 코드는 원자적 연산일까?정답은, 아니다
동시성 컬렉션과 Thread Safe Thread Safe Thread Safe 란? > 멀티 스레드 환경에서, 여러 스레드가 동시에 접근해도 동시성 문제나, 특이 사항이 발생하지 않는. 즉, 안전한 경우를 Thread Safe 하다 라고 한다. 동시성 컬렉션
새로운 Thread를 만드는 것은 매우 무거운 작업이다.메모리 할당 : Thread는 자신만의 호출 스택을 가지고 있다. 이 메모리는 보통 1MB 이상의 메모리를 할당하여 사용한다.운영체제 자원 사용 : Thread를 생성하는 작업은 운영체제 커널 수준에서 이뤄진다.
Project Code : 링크 현재 저는 프로그래머스 데브코스 과정을 진행 중인 학생입니다 1주차 과제(?), 학습 목표가 선정되어서 해결한 기록들 입니다. 간단하다고 생각한 과제이지만, 깊게 생각하면 생각할 수록 발전할 여지가 있는 과제라, 정리합니다. 요구사항
해당 포스트는, Java에 이미 구현되어있는 ArrayList 클래스의 요구사항에 맞춰 최대한 비슷하게 진행 예정 입니다.또한, 이글은 김영한님의 강의에서 영감을 받아, 실현 해보는 개인 공부 과정 입니다.ArrayList는 자바 컬렉션 프레임워크의 중요한 클래스 중
Java 기반의 Spring Boot 프레임워크로 개발을 하던 중, Map 자료구조나, Set 자료구조를 사용해야 될 경우가 있었다.이때 사용하는 Hash는 어떤 것 일까?Hash를 왜 써야 하고, HashSet의 내부 구현 모습을 간단히 살펴보면서, 어떤식으로 이루어
사실 나는 Java 개발을 주력으로 하지 않고, C++을 기반으로한 임베이디드 개발자로 활동을 하고 있었다.어쩌다 보니, 웹 관련 공부를 진행하면서 Java 공부를 다시 하고있는데, equals와 hashCode의 중요성에 대해서 질문 받았는데 너무 답변이 길게 나왔다
Proejct Code : 링크 Java로 DB와 연결해서 사용하려면, 어떻게 해야될까? 가장 간단한 방법은 Hibernate 같은 DB 연결을 아름답게 제공해주는 Framework를 사용하는 방법일 것 입니다. 저는, 개발자에 입문을 하며, db를 다루기 시작한 시점부터 spring f/w 를 사용하였기 때문에, (DB Spring(HIbernate)...