개요 김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성 강의 | 김영한 - 인프런김영한 | 멀티스레드와 동시성을 기초부터 실무 레벨까지 깊이있게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문법을 안다?www.inflearn.com김영한 강사님의 강의를 듣고 정리하였다.스레드들의 작업을 중간에 중단하려면 어떻게 해야할까?본론예제 1스레드가 Thread.sleep()을 통해 TIMED_WAITING 상태에 있는 경우, 해당 스레드를 깨워야 하는 상황이 있을 수 있다.이 경우에는 어떻게 스레드를 깨울 수 있을까?Interrupt를 사용하면 WAITING, TIMED_WAITING 같은 대기 상태의 스레드를 RUNNABLE 상태로 깨울..
분류 전체보기
개요 김영한의 실전 자바 - 고급 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 ..
개요 김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성 강의 | 김영한 - 인프런김영한 | 멀티스레드와 동시성을 기초부터 실무 레벨까지 깊이있게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문법을 안다?www.inflearn.com 김영한 강사님의 강의를 듣고 정리하였다.본론자바에서 스레드를 어떻게 생성할까?아마 학교나 기본적인 자바를 사용한 분들은 저처럼 스레드를 사용해볼 일도 적고 어떻게 사용하는지도 모른다.그렇다면 스레드를 어떻게 만들어서 사용할 수 있을까?Thread 클래스를 상속받아서 사용Runnable 인터페이스를 구현 후 Thread 클래스를 인스턴스로 생성할 때 생성자에 매개변수로 전달하나씩 살펴보자!Thread 클..
개요 김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성 강의 | 김영한 - 인프런김영한 | 멀티스레드와 동시성을 기초부터 실무 레벨까지 깊이있게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문법을 안다?www.inflearn.com김영한 강사님의 강의를 듣고 배운 내용을 추가적인 내용과 함께 정리해서 올린다.본론자바의 메모리 구조를 조금 간단하게 정리하려고 한다.JVM 의 메모리 구조는 위와 같다.여기서 살펴볼 것은 메서드 영역, 힙 영역, JVM 스택이다.메서드 영역, Method Area메서드 영역은 프로그램을 실행하는데 필요한 공통 데이터들을 관리한다. 프로그램의 모든 영역에서 공유해서 사용한다. (모든 스레드들이 공유한다...
개요김영한 강사님의 자바 고급 멀티스레드와 동시성 강의를 듣고 내 생각과 간단하게 작성한다. 김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성 강의 | 김영한 - 인프런김영한 | 멀티스레드와 동시성을 기초부터 실무 레벨까지 깊이있게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문법을 안다?www.inflearn.com 자세한 내용은 강의를 들어주세요.본론프로세스와 스레드란?프로세스프로그램을 실행하면 프로세스가 만들어지고 프로그램이 실행된다.프로세스는 간단히 말하면 운영체제 안에서 실행중인 프로그램을 뜻하고 자바를 예로들면 프로그램은 마치 자바 클래스, 프로세스는 해당 클래스를 객체화한 인스턴스라는 느낌을 가져가면 된다.각 프로세스..
개요김영한 강사님의 자바 고급 멀티스레드와 동시성 강의를 듣고 내 생각과 간단하게 작성한다.자세한 내용은 강의를 들어주세요.본론멀티태스킹과 멀티 프로세싱이란?멀티태스킹 다중작업 - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. 컴퓨팅 분야에서 멀티태스킹(영어: multitasking) 또는 다중작업(이하 멀티태스킹)은 다수의 작업(혹은 프로세스, 이하 태스크[1])이 중앙 처리 장치(이하 CPU)와 같ko.wikipedia.org위키피디아에 따르면 멀티태스킹이란 다수의 작업이 중앙 처리 장치(CPU)와 같은 공용자원을 나누어 사용하는 것을 말한다. 즉, 우리가 여러 프로그램들을 실행할 때, CPU라는 자원을 나누어서 사용하여 처리한다는 것을 의미한다.하지만, CPU(코어 1개)는 한 순..
개요프로젝트를 진행하던 중 nginx를 이용하여 웹 서버를 만들면서 SSL/TLS를 적용한 방식을 설명한다.프로젝트의 서버 구조는 다음과 같다.netlify에 프론트를 배포하고 백엔드와의 통신을 위해 HTTPS를 적용하기로 했다!본론SSL/TLS(HTTPS 적용) 절차letsencrypt로부터 인증서를 발급받는다.발급받은 키(인증서)를 nginx에 적용한다.nginx에 스프링 부트로 리버스프록시를 설정한다.인증서를 발급받기 전에 해당 인증서를 발급받기 위한 준비를 먼저 하자!0. 인증서 발급 전 준비 (nginx 실행)sudo docker run -d --name nginx --network {네트워크명} -p 80:80 -p 443:443 \ -v /home/ubuntu/conf:/etc/ngin..
개요프로젝트를 진행하던 중 게시글의 요청이 연속으로 두 번 오면 게시글이 2개 작성되서 이전에 만들어둔 로직과 충돌하는 일이 발생했다.기존의 로직은 현재 진행중인 게시글이 있다면 더이상 게시글이 작성되지 않도록 했지만 연속으로 들어오는 요청을 방지할 방안이 없었다.즉, 2개의 요청이 들어왔을 때, 진행중인 게시글의 존재 여부를 체크를 2개의 요청이 모두 넘어가면 2개의 게시글 모두 작성된다는 문제가 발생한다.문제의 코드@Override public WantedResponseDTO createWanted(WantedDTO wantedDTO, MultipartFile mainImage, MultipartFile signature) throws IOException { UserEntity u..