묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
데몬스레드 파트 첫 번째 예제
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 정적 중첩 클래스에서 스레드를 정의한 후 main() 메서드에서 해당 스레드를 생성한 후 종료하는 예제입니다. 그런데 이 스레드의 run() 메서드를 보면 catch에서 런타임 오류를 생성한 후에 던집니다. 1. 발생한 오류는 체크 오류인데 굳이 런타임 오류를 새로 생성해서 던진 까닭은 단순히 InterruptedException 발생을 강조해서 알리기 위함인가요? (오류 로그를 남기듯이 오류 발생 흔적 남기기?) 2. run() 메서드에서 런타임 오류를 생성해서 던졌고 main() 메서드에는 이에 대한 별도의 오류 처리 과정이 없습니다. 그런데 왜 메인 메서드가 터지지 않고 정상 결과를 출력할 수 있는 건가요? 오류 처리 코드가 없으면 런타임 오류는 자동 던지기 처리돼서 메인 메서드 밖으로 오류 나가버리고 프로그램 다운돼야 하는 상황 아닌가요...?
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
인터럽트, 체크 예외 catch 재질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. AI의 답변을 받았으나, 여전히 이해가 가지 않아 재질문 올립니다ㅠㅠ 이 예제에서 Thread.sleep(3000);으로 인한 InterruptedException e를 catch한 후에 왜 log("sleep() end");~log("end");가 마저 출력되는지 잘 모르겠습니다. 예외가 발생하면 try 코드 본문을 빠져나가 catch로 이동하면서 try의 나머지 코드는 출력 안 되지 않나요? 예외를 잡으면 정상 흐름을 반환한다고는 하지만, 다시 실행되는 정상 흐름에 나머지 try 코드는 포함이 안 된다고 알고 있습니다...ㅠ 혹시 제게 오개념이 생겼나 싶어서 Java-Mid1의 오류 처리 파트를 다시 총 복습하고 와도 여전히 이해가 가지 않습니다. 답변 감사드립니다...ㅠ ps. 혹시 몰라서 제 의문을 가중시킨 Java-Mid1 강의의 예제 코드를 추가합니다. 아래의 예제에서는 send()에서 오류 발생 시에 try{}를 빠져나가서 disconnect();가 호출이 안 된다고 합니다ㅠ
-
미해결김영한의 실전 자바 - 중급 1편
client.disconnect()를 if 문안에 넣어서 오류발생하더라도 disconnect 메서드가 호출되고 return 되게 해도 되나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. String connectResult = client.connect();if (isError(connectResult)) {System.out.println("[네트워크 오류 발생] 오류 코드: " + connectResult);client.disconnect();return;}String sendResult = client.send(data);if (isError(sendResult)) {System.out.println("[네트워크 오류 발생] 오류 코드: " + sendResult);client.disconnect();return;}강의 내용중 오류가 발생하더라도 client.disconnect() 메서드를 불러와야한다고 하셨는데 그럼 선생님이 말씀하신 if 문으로 분기를 사용해서 String connectResult = client.connect();if (isError(connectResult)) {System.out.println("[네트워크 오류 발생] 오류 코드: " + connectResult);} else {String sendResult = client.send(data);if (isError(sendResult)) {System.out.println("[네트워크 오류 발생] 오류 코드: " + sendResult);}}.이런식으로 말고 위에 올린 코드처럼 client.disconnect(); 를 if 문 안에다 적어서 disconnect 가 되고 return 이 되겠끔 해도 되나요?
-
해결됨김영한의 실전 자바 - 중급 1편
try-with-resources 예제 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 항상 강의 잘 듣고 있습니다. 감사합니다. 이 예제에서 exception을 catch로 잡았는데, 왜 굳이 그걸 또 throw로 던지나요? 예외를 잡았으니 이미 해결된 것 아닌가요? 다른 예제들은 catch로 해결된 것 같은데, 이 예제는 뭐가 달라서 굳이 또 던져야 하는 건지 궁금합니다.
-
해결됨김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
인터럽트, 체크예외 catch 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]멀티스레드와 동시성 강의-스레드 생명주기 파트에서 질문 드립니다.Thread.sleep(3000)으로 InterruptedException이 발생했고, catch로 그걸 잡았는데 왜 sleep()으로 다시 돌아가서 다음 로그가 출력되는 등 정상 흐름이 마저 진행되나요? 체크 예외가 발생하면 그걸 catch로 잡더라도 이후 코드는 마저 실행되지 않아 finally 코드가 도입된 것이 아니었나요? java-mid1에서 체크 예외가 발생해 나머지 코드가 실행되지 않아 자원 정리가 안 되었던 예제를 배웠던 것 같은데, 이 예제와 무슨 차이가 있어서 다른 결과가 나오는지 궁금합니다ㅠㅠ 2. 이 예제에서 InterruptedException이 발생해서 그걸 catch한 것까지는 이해됩니다. 그런데 왜 굳이 새 RuntimeException을 생성해서 또 던지는 건가요? InterruptedException 이외에 추가로 발생할 지도 모르는 다른 예외들도 한꺼번에 잡아서 던지려는 의도인가요(예방 차원)? 3. 예외를 어떤 경우에 잡고 어떤 경우에 던져야 하는지 궁금합니다. java-mid1 예외 처리 파트에서 예외를 못 잡으면 던지고 잡을 수 있으면 잡아야 한다고 배웠는데, 그 구체적인 기준을 잘 모르겠습니다. 그걸 배울 당시에는 '아직 기초 단계라 기본 개념만 잡고 자세한 오류 해결 과정은 나중에 나오나 보다'하고 넘겼는데, 이 예제에서도 그냥 catch(발생한 오류) 정도로 넘어가는 걸 보니 제가 뭔가 놓치고 있는 것 같습니다. 그냥 catch()코드를 넣으면 오류를 잡았다고 자바 상에서 처리가 되는 건가요? 그런 거면 그냥 오류를 다 catch로 잡아버리면 될 것 같은데, 굳어 던져야 하는 상황은 어떤 상황인가요...? 질문이 너무 길어졌네요. 친절한 답변에 미리 감사드립니다!!!
-
미해결파이썬 알고리즘 트레이딩 파트2: Interactive Brokers API를 활용한 실시간 알고리즘 트레이딩
섹션4에서 실시간 거래 준비
data_1d_1y 변수 미생성 섹션4 : 실시간 거래 준비... 시간 (2:22)get_positions_summary(...)함수 사용시, data_1d_1y = yf.download(tickers = stocks, period="1y",interval="1d", progress = False)['Close'] 변수가 생성되어 있지않아 애러가 발생합니다. *추가1파트에서는 말씀을 한번해주셨는데'Adj Close' -> 'Close'로 변경된 걸 한번 말씀해주셔도 좋을 것같습니다.
-
해결됨김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
객체를 만들기(생성하기) 전 및 후, new 위치 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕 하세요. 궁금증이 생겨서 질문을 올립니다.코드를 보여주고 설명 하는게 편할것 같아서 코드를 먼저 보여드립니다.블록친 부분을 보시면왼쪽에 있는 것은, 생성자 쪽에서 new @@@을 해서, 값을 지정하는 방면,오른쪽에 있는 것은, 필드 쪽에서 new @@@ 하여서 값을 지정 하는 것을 볼 수 있었습니다.여기서 궁금증이 생깁니다.왼쪽에 있는 pathMap을 가지고 있는 것을 객체를 생성할때 하는게 아니면 그냥 필드에 넣어도 되는것이 아닌가?그리고 오른쪽에 있는 것을 생성자 안에 넣어서 선언해도 되는 것이 아닌가? 라는 생각들입니다억지 스러운거 같지만 이렇게요.그래서 여기서 궁금증인 어떤 클래스들은 필드에 new를, 어떤 클래스들은 객체에 new를 하는것 같은데,1. 두 가지의 차이점이 궁금하고, 2.아래의 사진 처럼 이렇게 바꿔도 되는지 궁금합니다. 답변 부탁 드립니다.
-
미해결파이썬 알고리즘 트레이딩 파트2: Interactive Brokers API를 활용한 실시간 알고리즘 트레이딩
섹션2에서 ib.connect() 연결
ib.connect()해도 연결이 안 되는게 정상입니다. 제대로 설치가 됐으면 애러가 안 난다고 말씀하셔서 api는 직접 연결하고 설치해야 되는다고 생각하고 다 설치해서 연결확인 후 봤더니...가르쳐주시네요. 혹시 다른 분들도 안되서 당황하실까봐 글을 남겼습니다. 강의 잘보고 있습니다.
-
해결됨김영한의 실전 자바 - 중급 2편
HashSet과 HashMap의 관계는 좀 부자연스럽네요
Set에서 Map으로 자연스럽게 빌드업되는 과정에서Set + value = Map이 되는 객체지향의 묘미를 다시 한번 느껴보나 기대했는데표준 라이브러리의 실제 구현은 반대로 Map - value = Set 이었네요 ㅠㅠjava.time 패키지의 딱딱 맞아떨어지는 조립방식에서 느껴졌던 희열은 어디갔을까요자바의 내장 자료구조가 저렇게 부자연스럽게 되어있는 특별한 이유라도 있을까요?구조적인 아름다움을 포기해서라도 얻는 성능적인 이점이 있는건가? 싶은데요 정확한 사정은 당사자들만 아는거겠지만 혹시나 선배님들은 아시는게 있을까 여쭈어봅니다..ㅠㅠ
-
해결됨진짜! 자바스크립트(Javascript) - 기초부터 고급까지
코드 샌드박스 소스 입력시 콘솔이 계속 반응하는것 같아요.
안녕하세요 코드 샌드박스 소스 입력시소스를 입력할때마다 console.log()가 계속 반응하는 것같은데소스입력할때마다 반응하는 것을 멈출수 있을가요? 혹시.. 코드샌드박스 적응이 아직 안되었으면.. 비쥬얼 코드로 공부해도 큰 문제없을가요?
-
미해결스프링 핵심 원리 - 기본편
인터페이스의 경우에도 상속이라는 말을 사용하나요?
ApplicationContext 인터페이스가 BeanFactory 외에도 여러가지 인터페이스를 상속(?) 받아서 사용하는데 사실상 기능을 상속한다기 보다 메서드 시그니쳐만 물려주고 구현체에서 실제로 기능 구현을 하는게 아닌가 해서요...
-
미해결김영한의 실전 자바 - 기본편
문제1번 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요. 문제1번을 풀었는데 좀 달라서요..답은 나오는데 역시 틀렸다고 보는게 맞겠죠?
-
미해결김영한의 실전 자바 - 중급 2편
제네릭 하한 바운드(super)의 활용 사례
안녕하세요. 제네릭 하한 바운드(super) 관련해서 질문 드립니다.상한 바운드(extends) 같은 경우에는 현재 실무에서도 유용하게 사용하고 있는데요.다만 하한 바운드는 실무에서 한번도 사용해본 적이 없습니다.하한 바운드는 결국 Object까지 거슬러 올라갈 수 있기 때문에 이점이 없다고 생각하고, 보통은 상한 바운드로 해결이 되었기 때문인데요.혹시 하한 바운드에 대한 활용 사례를 간단히 설명해주실 수 있으실까 해서 질문 드립니다!
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
Thread의 yield함수
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]Thread 의 yield 함수에 대해서 질문드립니다 .양보를 할지 말지 에 대한 hint만 주는것이고 스케쥴링이 알아서 양보 여부에 대해 정한다고 하셨는데 만약에 양보를 하게되면 que의 제일 뒤로 가게 되는건가요? 만약에 que에 10개의 일이 쌓여있으면 양보를 하게되면 10개가 다 끝나고 실행 되는 건지아니면 1~~n개가 실행되고 그다음에 실행 되는 건지는 모르는 건가요?
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
BlockingQueue와 Semaphore는 언제 각각 사용하는 게 좋을까요? FIFO 순서 보장과 동기/비동기 흐름의 차이로 구분할 수 있을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요! 항상 좋은 강의 감사드립니다.BlockingQueue는 스레드가 동시에 접근하였을때 동시성 제어를 위한 자료 구조인데 세마포어 개념도 동시에 스레드가 접근 하였을때 가능한 스레드 수를 제어하는 개념인 것을 공부하였습니다. 어떤 상황에서 BlockingQueue 를 쓰고 어떤 상황에서 세마포어를 쓰는게 더 좋을까요?락을 획득하였을떄 Queue 는 FIFO 구조이므로 순서를 보장해주고 싶을 떄 BlockingQueue 를 쓰는게 좋나요? 세마포어는 스레드가 직접 자원을 획득하기 전까지 기다리니까 동기이고 비동기는 큐에 넣고 다른 일을 하러 가는 즉 호출한 함수가 처리 결과를 기다리지 않는 비동기여서 동기/ 비동기 차이를 구분하고 싶을때 쓰는게 둘을 구분해서 쓰는게 좋을까요?
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
main 스레드.sleep
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예안녕하세요, 강의 수강 중 질문이 생겨 여쭤보게 되었습니다. 스레드의 생명 주기 - 코드 강의 파트에서 Thread.sleep(1000);를 입력하여 메인 스레드를 잠시 멈추는데, 메인 스레드의 이름이 Thread라서 Thread.sleep을 하는 것일까요 ? 아니면, sleep 메서드가 static이어서 이렇게 사용되는지 궁금합니다.
-
해결됨김영한의 실전 자바 - 중급 2편
주소값에 실제로 접근하는데 걸리는 시간??
강의 주제와 직접적인 연관은 없는거지만.. 실제 주소값으로 접근하는데 걸리는 시간은 고려하지 않아도 되는가? 입니다 아무리 배열이 인덱스의 실제 주소값을 한번에 계산해서 찾는 구조라고는 해도 결국 그 주소까지 이동하는건 시간이 걸릴거같은데요예를들어 그게 10억 번째 인덱스라면 거기까지 순간이동 할수는 없잖아요?? 그래서 인덱스 번호에 비례해서 시간이 더 걸리긴 할거같은데..이건 너무 인간의 관점에서 생각하는거고 실제로 컴퓨터는 다르게 동작하는 걸까요?? 제가 생각해도 너무 무식한 질문이긴한데 의문을 해소하고자 질문 드립니다 ㅠㅠ ============================ 수강을 더 진행하다보니 실제 성능 설명 파트에서 메모리 접근에 대한 얘기를 해주셔서 의문이 자연스럽게 해결됐습니다 !
-
미해결김영한의 실전 자바 - 중급 1편
날짜와 시간 문제 2번.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. package time.test; import java.time.LocalDate; import java.time.temporal.ChronoUnit; public class TestLoopPlus { public static void main(String[] args) { LocalDate startDate = LocalDate.of(2024, 1, 1); for (int i = 0; i < 5; i++) { LocalDate nextDate = startDate.plus(2 * i, ChronoUnit.WEEKS); System.out.println("날짜" + (i + 1) + ": " + nextDate); } } } 반복문 안에서 nextDate로 받는것도 불변 객체 아닌가요?불변객체이면 새로운 변수로 받아야 하는 게 아닌가해서 반복문 안의 코드가 이해가 잘 안됩니다.
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
DataOutputStream관련하여 궁금한점이 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]DataOutputStream은 앞에 2바이트로 문자길이가 저장되고 뒤에는 실제 문자 데이터가 저장된다고 하셨는데요, 길이가 2바이트가 넘어가는 문자를 저장하게 되면 어떻게 되는지 궁금합니다.
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
CAS 연산3 강의 질문 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]1. 여러 스레드가 정말 완벽하게 동시에 실행되는 경우임의의 두 스레드 A, B가 정말 완벽하게 동시에 실행되었다고 가정하겠습니다. 현재 atomicInteger의 value가 0에서 1로 증가해야하는 상황입니다.A와 B 모두 getValue의 값은 0입니다.A와 B 모두 result의 값은 true가 될 것이며 getValue는 0에서 1로 증가합니다. A와 B 모두 1을 return 합니다. (결괏값: 1)이런 경우는 절대로 없는 건가요?2. sleep 사용 시 타 스레드 간섭이 증가하는 이유sleep 사용 시 타 스레드 간섭이 증가하는 이유를 제 나름대로 생각해 보았는데, sleep(100)이라 하더라도 모든 스레드가 100ms 후에 완벽하게 동시에 깨어나지는 않기 때문일까요?