분류 전체보기

· TIL
Search키워드이분 탐색PCCP학습 내용이분 탐색을 숙달하기 위해 여러 문제들을 살펴보았음.기존의 학습을 통해 배웠던 이분 탐색은 정렬된 N 길이의 배열이 존재할 때, merge sort와 비슷한 방식으로 절반씩 값들을 버려가며 목표 target 값을 찾아내는 알고리즘이었다.하지만, 코테에서 막혔던 이분 탐색 문제들은 이런 방식보다는, 조건을 만족하는 값들과 만족하지 않는 값들의 경계값을 찾아내어 최솟값 혹은 최댓값을 구해내는 문제들이 많이 존재했다.특히 코테 문제들은 어떤 것을 이분 탐색을 통해 찾아낼 것인지 잘 찾아야 하고, 경계값들을 잘 선택하는 것이 중요하다. 특히 l, h 값을 잘 선택해야 0나누기 Exception이 발생하지 않는다.PCCP 자격증 취득을 위해 기출 문제 몇문제를 풀어보았음...
· JAVA
개요 김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성 강의 | 김영한 - 인프런김영한 | 멀티스레드와 동시성을 기초부터 실무 레벨까지 깊이있게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문법을 안다?www.inflearn.com 김영한 강사님의 강의를 듣고 정리하였다.본론자바는 1.5버전 부터 Lock 인터페이스와 ReentrantLock 구현체를 제공한다.이는 LockSupport 기능을 활용하여 만들어졌다.public interface Lock { void lock(); void lockInterruptibly() throws InterruptedException; boolean tryLock(); b..
· JAVA
개요 김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성 강의 | 김영한 - 인프런김영한 | 멀티스레드와 동시성을 기초부터 실무 레벨까지 깊이있게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문법을 안다?www.inflearn.com김영한 강사님의 강의를 듣고 정리하였다.본론synchronized 키워드를 이용한 락은 편리하게 임계 영역을 보호할 수 있지만 다음의 문제가 존재한다.임계 영역에서 락을 획득하길 기다리는 스레드들은 BLOCKED 상태에 들어가서 락을 획득할 때까지 대기한다. 이때, 타임아웃 혹은 인터럽트가 불가능하다.임계 영역에서 락을 획득할 때 스레드들은 공정하게 락을 획득하지 못하고 우리는 어떤 스레드가 락을 획득하..
· JAVA
개요 김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성 강의 | 김영한 - 인프런김영한 | 멀티스레드와 동시성을 기초부터 실무 레벨까지 깊이있게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문법을 안다?www.inflearn.com김영한 강사님의 강의를 듣고 정리하였다.본론임계 영역이란?임계 영역(critical section)이란 여러 스레드가 동시에 접근하게 된다면 데이터의 불일치나 우리가 예상하지 못한 결과가 발생할 수 있는 위험하고 중요한 코드 부분을 뜻한다.여러 스레드들이 동시에 접근해서는 안되는 공유 자원을 접근(조회)하거나 수정하는 부분을 의미한다.출금 예제@Overridepublic boolean withdraw(i..
· JAVA
개요 김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성 강의 | 김영한 - 인프런김영한 | 멀티스레드와 동시성을 기초부터 실무 레벨까지 깊이있게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문법을 안다?www.inflearn.com김영한 강사님의 강의를 듣고 정리하였다.본론자바에는 volatile 이라는 키워드가 존재한다.volatile은 메인 메모리에 값을 읽고쓴다는 의미이다.왜 이런 키워드가 존재하고 어디서 사용하는 것일까?문제 상황public class VolatileFlagMain{ public static void main(String[] args){ MyTask task = new..
· JAVA
개요 김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성 강의 | 김영한 - 인프런김영한 | 멀티스레드와 동시성을 기초부터 실무 레벨까지 깊이있게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문법을 안다?www.inflearn.com김영한 강사님의 강의를 듣고 정리하였다.스레드의 작업이 바쁘지 않은 경우 다른 스레드에게 CPU를 양보하는 것이 효율적일 것이다.어떻게 하면될까?본론스레드가 CPU를 할당받아 실행하는 것은 운영체제의 스케줄러가 담당한다.하지만 스레드의 작업이 그렇게 바쁘지 않은 경우 다른 스레드가 작업을 하는 것이 효율적일 것이다.어떤 방법을 사용할 수 있을까?1. Thread.sleep(1)Thread.sleep() ..
· JAVA
개요 김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성 강의 | 김영한 - 인프런김영한 | 멀티스레드와 동시성을 기초부터 실무 레벨까지 깊이있게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문법을 안다?www.inflearn.com김영한 강사님의 강의를 듣고 정리하였다.스레드들의 작업을 중간에 중단하려면 어떻게 해야할까?본론예제 1스레드가 Thread.sleep()을 통해 TIMED_WAITING 상태에 있는 경우, 해당 스레드를 깨워야 하는 상황이 있을 수 있다.이 경우에는 어떻게 스레드를 깨울 수 있을까?Interrupt를 사용하면 WAITING, TIMED_WAITING 같은 대기 상태의 스레드를 RUNNABLE 상태로 깨울..
· JAVA
개요 김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성 강의 | 김영한 - 인프런김영한 | 멀티스레드와 동시성을 기초부터 실무 레벨까지 깊이있게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문법을 안다?www.inflearn.com김영한 강사님의 강의를 듣고 정리하였다.본론스레드의 상태Thread의 getState() 메서드를 사용하면 해당 스레드의 현재 상태를 확인할 수 있다.이 상태들은 Thread.State 열거형에 정의되어 있다. Thread.State (Java Platform SE 8 )Thread state for a waiting thread. A thread is in the waiting state due to ..
창e
'분류 전체보기' 카테고리의 글 목록 (2 Page)