inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

자바 14 새로운 switch문 관련하여 default 주석처리 하여도 에러가 나지않음. 괜찮은건지 여쭤봅니다!

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

스위치문(*) 문제풀이 과정에서 선생님께서 아래와같이 진행하셧습니다. * 김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음, 섹션 4. 조건문, switch문 관련 건 해당 문제를 자바 14 새로운 switch문 관련하여 알려주신 내용이 있어 그 방법으로도 풀어봐야겠다 싶어, 진행해 보았는데요. 아래와같이 default 를 지워도 값이 나오지 않을뿐이지 에러메시지가 출력되진 않더라구요? 해당사항이 없으면 에러가 날거같은데 그렇지않아서 제가 자바 14 새로운 switch문 관련하여 문제를 잘못푼것인지 무언가를 놓친게 있는것인지 궁금하여 여쭤봅니다. 감사합니다!!

  • java
  • 객체지향
88or89 댓글 2 좋아요 0 조회수 194

instanceOf 질문

미해결

스프링 핵심 원리 - 기본편

형관팬 칠해진 부분에서 MemberService.class가 아니라 MemberServiceImpl.class가 와야 맞는거 아닌가요?? instanceOf(인터페이스) 형태인건데 ->MemberService(클래스)로 바뀌어야 하는게 아닌가 해서요

  • spring
  • 객체지향
yy3082 댓글 1 좋아요 0 조회수 164

이 강의를 수강하기 전, 수강 후 학습 질문입니다.

미해결

Readable Code: 읽기 좋은 코드를 작성하는 사고법

안녕하세요 우빈님 테스트 코드 강의도 정말 열심히 듣고 많은 것을 배워서 항상 감사하고있습니다! 이번에 새로 나온 강의 관련해서 전과 후 어떤 학습을 진행하면 좋을 지 궁금합니다. 추천해주실 책이나 강의가 있을까요?

  • 객체지향
  • 리팩토링
  • 클린코드-기획전
진짜 잘하고싶다 댓글 1 좋아요 0 조회수 233

스레드 대기 집합 질문

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

여기에서 스래드 대기 집합은 WAITING, TIMED_WAITING, BLOCKED가 보관되는 곳과는 다른 큐를 의미하는게 맞을까요?

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
도토리 댓글 1 좋아요 0 조회수 311

교안에 잘못된 부분이 있는 것 같습니다

해결됨

김영한의 실전 자바 - 중급 2편

컬렉션 프레임워크 / Collections 정렬 관련 메서드 에서 reverse 메소드에 대한 설명이 "정렬 기준 의 반대"로 컬렉션을 정렬한다고 되어있는데 단순히 reverse메소드는 현재 컬렉션이 정렬되어 있는 것을 뒤집어 주는 메소드 인 것 같습니다

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
ssshhh 댓글 1 좋아요 0 조회수 171

Blocked 되지 않는 문제

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 쓰레드의 동시성이슈를 syncronized로 해결하였을때 로그를 보면, 00:53:11.012 [ t1] 거래 시작: BankAccountV3 00:53:11.012 [ t2] 거래 시작: BankAccountV3 00:53:11.020 [ t1] [검증 시작] 출금액: 800, 잔액: 1000 00:53:11.021 [ t1] [검증 완료] 출금액:800, 잔액: 1000 00:53:11.489 [ main] t1 state: TIMED_WAITING 00:53:11.490 [ main] t2 state: TIMED_WAITING 00:53:12.021 [ t1] [출금 완료] 출금액:800, 잔액: 200 00:53:12.021 [ t1] 거래 종료 00:53:12.021 [ t2] [검증 시작] 출금액: 800, 잔액: 200 00:53:12.022 [ t2] [검증 실패] 00:53:12.024 [ main] 최종 잔액: 200 이런식으로 t1, t2 두 쓰레드중 하나가 blocked 되는 것이 아니라 모두 time_waiting상태로 유지 됩니다. 뭔가 느낌으로는 큰 상관은 없을 것 같고, 시스템 환경에 따른 차이인 거 같은데, 혹시나 제가 세팅을 잘못했거나 코드를 잘못 짰을 가능성도 있을까요. ## 메인 클래스를 반복해서 실행해보니 t1, t2 스레드 모두 time waiting 상태이거나 모두 blocked 상태가 됩니다.

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
bongchin 댓글 1 좋아요 0 조회수 310

ScannerWhileEx3

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

왼쪽화면: 강의영상 / 오른쪽: 제 코드 강사님이 하셨을 땐 엔터로 여러 숫자들 입력하고 그 숫자들의 합과 평균을 입력할 수 있는데, 저는 똑같이 쳐도 숫자를 한개씩만 입력할 수 있어요.. 제 코드는 package scanner; import java.util.Scanner; public class ScannerWhile3 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int sum = 0; int count = 0; int input = 0; System.out.println("숫자를 입력하세요. 입력을 중단하려면 -1을 입력하세요: "); while(true){ input = sc.nextInt(); if(input == -1){D break; } sum += input; count++; double average = (double) sum / count; System.out.println("입력한 숫자들의 합계: " + sum); System.out.println("입력한 숫자들의 평균: " + average); } } } 이와 같은데 무엇이 강사님과 다른지 모르겠습니다!

  • java
  • 객체지향
kk 댓글 1 좋아요 0 조회수 179

remove 메소드 관련 질문입니다.

미해결

김영한의 실전 자바 - 중급 2편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 데이터를 삭제하는 기능에서 removeNode 를 null 값으로 처리하는 이유가 있을까요? removeNode 를 더 이상 사용되지 않는 것 같은데, 해당 노드의 item 과 next 를 null 값으로 처리해야만 GC 대상이 되는건가요? null 값으로 명시하지 않아도 될 것 같아 질문드립니다. // 추가 코드 public Object remove(int index) { Node removeNode = getNode(index); Object removedItem = removeNode.item; if (index == 0) { first = removeNode.next; } else { Node prev = getNode(index - 1); prev.next = removeNode.next; } removeNode.item = null; removeNode.next = null; size--; return removedItem; }

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
크크룩삥봉 댓글 1 좋아요 0 조회수 209

원자적 연산을 확실히 알수 있는 방법이 있나요?

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

i++ 은 1줄이지만 , 2~3개의 cpu 연산이 필요하므로 원자적 연산이 아닙니다. cas 도 상식적으로는 2개 이상의 cpu 연산이 필요한데 cpu 차원에서 1개의 cpu 연산처럼 제공해주기에, 원자적 연산이라고 보는것 같습니다. 아래와 같은 경우 원자적연산인데, int count = 3; 그렇다면 아래의 코드는 원자적연산인가? 생각해보면, max 값을 가져오고 그걸 대입해야 하므로 2개 이상 cpu 연산이 필요한것 같은데 확신은 들지 않습니다. int count = max; -- 그래서... 어디까지가 원자적 연산인지 확실히 알수 있는 방법이나 이와 관련된 스펙문서 등이 있는지 궁금합니다.

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
void 댓글 1 좋아요 1 조회수 305

인터페이스 명칭 정의는 어떤 방법들이 있나요?

미해결

Readable Code: 읽기 좋은 코드를 작성하는 사고법

안녕하세요 인터페이스 명칭만드는데 뒤에 able을 붙이는 경우랑 단순히 명사로 명칭을 짓는 경우가 있더라구요 각각 이유가 있으신가요??

  • 객체지향
  • 리팩토링
  • 클린코드-기획전
후아휴 댓글 1 좋아요 0 조회수 289

일급컬렉션 메서드 반환타입 List로의 반환 vs 일급컬렉션으로 반환

미해결

Readable Code: 읽기 좋은 코드를 작성하는 사고법

안녕하세요 강의보다가 일급컬렉션에 정의한 메서드들의 반환타입이 일급컬렉션 타입으로 반환하기도 하고 LIst<>로도 반환하기도 하셨던거 같았는데요 어느 기준을 가지고 어떤 타입으로 반환하는지 궁금합니다

  • 객체지향
  • 리팩토링
  • 클린코드-기획전
후아휴 댓글 2 좋아요 0 조회수 287

synchronized가 붙은 메소드를 정말 동시에 접근하는 경우

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

[질문 내용] 안녕하세요. 항상 좋은 강의 감사드리며 질문이 하나 있습니다. 멀티 코어라는 가정하에, synchronized가 붙은 메소드를 정말 동시에 호출하는 경우에는 어떤 스레드가 Lock을 가져가는지 궁금합니다. 정말 동시에 호출되면 두 스레드 모두 Lock을 획득할 수 있는지 조회할 때 획득할 수 있다고 조회가 될 것 같아서요.

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
원종민 댓글 1 좋아요 5 조회수 385

BankAccountV5 lock.unlock() 작성 여부

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

BankAccountV5에서 lock.tryLoc()을 사용하는 경우, lock을 얻지 못하면 WAITING하지 않고 바로 return false;하므로 finally { lock.unlock(); }라는 코드가 필요 없을 것이라 생각했는데 이 코드가 꼭 필요한 코드인가요?

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
도토리 댓글 1 좋아요 0 조회수 291

문제 4번 관련 질문입니다.

미해결

김영한의 실전 자바 - 중급 2편

public class ItemPriceTest { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("사과", 500); map.put("바나나", 500); map.put("망고", 1000); map.put("딸기", 1000); // 코드 작성 ArrayList<String> list = new ArrayList<>(); for (Map.Entry<String, Integer> entry : map.entrySet()) { if (entry.getValue().equals(1000)) { list.add(entry.getKey()); } } System.out.println(list); } } 여기서 entry.getValue() 의 비교를 == 으로 바꿔도 돌아가는데 상관없을까요? 객체의 경우 == 이냐, equals냐에 따라 동일성, 동등성 비교로 나뉘는거같은데 이와같이 값 비교 할 땐 둘 다 사용할 수 있는걸까요? == 을 사용해도 망고, 딸기가 출력되어 여쭤봅니다 [질문 내용] 여기에 질문 내용을 남겨주세요.

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
맥스 댓글 1 좋아요 0 조회수 238

기본형과 참조형 마지막 문제 풀이

미해결

김영한의 실전 자바 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. scanner.nextLine(); 해당 코드를 for문 안에 String productName = scanner.nextLine(); 밑에 하나만 사용해도 정상적으로 동작하는데 이렇게 해도 상관없을까요?

  • java
  • 객체지향
나는 몰루 댓글 2 좋아요 0 조회수 265

불변객체 강의 중

미해결

김영한의 실전 자바 - 중급 1편

강의 잘 듣고 있습니다~ 안녕하세요~ 불변객체 강의를 듣다가, memberB.getAddress().setValue("부산"); memberB.setAddress(new ImmutableAddress("부산")); 위 코딩문을 너무 자연스럽게 작성하셨는데 불변객체 앞 강의들 메모리구조는 이해가 됐는데 이번 문장은 그림이 안그려져서요 혹시 다른 분들은 쉽게 읽혀지셨나요 ㅠㅠ

  • java
  • 객체지향
예롬 댓글 2 좋아요 1 조회수 304

jvm 구현에 따라 vs java 버전과 구현에 따라

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

notify / signal 차이점 설명하시면서 1) java 버전과 구현에 따라 다르다. 2) jvm 구현에 따라 다르다. 라고 말씀하시는데, 이 둘간의 정확한 차이가 뭔지 궁금합니다. 제 지식으로는 아래 정도로 보이는데, 1) java 라이브러리단에서 구현된 방식(=디컴파일을 통해 내부 로직을 알수있음, 컴파일러 버전에 영향) vs 2) jvm 내부에 구현된 방식(=디컴파일해서는 내부 로직 알수없음, 컴파일러가 아닌 런타임에 사용된 java 버전에 영향) 로 보면 되는가요? 1) java 구현: 컴파일시 사용된 java 구현체( .java -> .class 변환) 2) jvm 구현 : 런타임에 사용되는 jvm 구현체?(.class 구동)

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
void 댓글 1 좋아요 0 조회수 316

Syout.out.println() string 우선순위 질문

해결됨

김영한의 실전 자바 - 중급 1편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. cklee 님의 질문을 도와주다가 저가 답변의 실수를 발견하여 수정하고 고친 다음에 다시 답변을 하였습니다. 근데 코드를 고치다 보니까. 뭔가 이상한 것을 발견해서. 질문을 드립니다. A코드랑 B코드가 있는데, A의 syso는 문자열이 다 나오는데, B코드는 "()"를 안치니 false가 되던데.. 그 이유가 연산자의 우선순위 때문에 "글자 문자열 + str6" 을 하고 나서, "합친 str6 == str7" 이렇게 비교 되는 건가요?(질문을 하다 보니까 깨달아 지더라고요.) 그리고 이 계기로 인하여 정확한 답을 해주는게 어렵다는것을 느끼게 되네요. 공식서포즈님들 및 ,영한님 감사를 드립니다. 답변 부탁드립니다. 그리고 버그 있음. 글이 이상해서 수정했는데. 이렇게 나옴.. 추가 그리고 몸이 아프거나 피곤 할때는 코드 여러번 보는게 좋네요..(코드를 보긴 했는데 정확히 제대로 안봄...)

  • java
  • 객체지향
생각하는자 댓글 1 좋아요 0 조회수 184

불변객체 관련 질문드립니다.

미해결

김영한의 실전 자바 - 중급 1편

같은 참조값을 사용하는 다른 스트링객체의 값이 변경 될수 있어 스트리잉 불변객체로 되어있다는것은 이해했습니다. 만약 스트링 풀에 hello java가있다면 String str1 ="hello"; String str2 = str1.concat(" java"); 이때 str2는 스트링 풀에있는 hello java의 참조값을 갖는걸까요?

  • java
  • 객체지향
cklee 댓글 3 좋아요 0 조회수 237

오타 제보합니다

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

Executor 스레드 풀 관리 - 분석 강의에서 정리 - Executor 스레드 풀 관리부분에서 4번 큐도 가득차고, 풀에 최대 생성 가능한 스레드 수도 가득 찼다. 부분을 강의하시다가 '에'를 큐 앞으로 당겨버리셨어여 그래서 에 큐도 가득차고, 풀최대 생성으로 바뀌었습니다

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
bonjeong08 댓글 1 좋아요 0 조회수 221

인기 태그

인프런 TOP Writers

주간 인기글