20210308 - java-squid/effective-java GitHub Wiki

회고

Roach

  • spring project μ§„ν–‰ 쀑 -> 재밌음.
  • Database 곡뢀 쀑...

Han

  • 이번 μ£Ό μ•„μ΄ν…œμ΄ 살짝 μ–΄λ €μ› λ‹€.
  • μ΄λ²ˆμ— νšŒμ‚¬μ—μ„œ μƒˆλ‘œν•˜λŠ” ν”„λ‘œμ νŠΈλ₯Ό node 둜 μ§„ν–‰ν•˜κ³  있음 -> λ…Έλ“œκ°€ κ°€λ²Όμ›Œμ„œ μž¬λ°ŒλŠ”κ±° κ°™μŒ.

David

  • 학ꡐ μ‹œν—˜μΌμ •λ•Œλ¬Έμ— λ°”μ˜κ²Œ μ§€λƒˆμŒ
  • μ•„μ΄ν…œλ“€μ΄ μ΄νŽ™ν‹°λΈŒ μžλ°”μ—μ„œ 닀루기 μ–΄λ €μš΄ λ‚΄μš©μΈκ²ƒ κ°™μŒ. -> λ™μ‹œμ„± 뢀뢄은 νŒŒκ³ λ“€λ €λ©΄ λ‹€λ₯Έ 책을 λ³΄λŠ”κ²Œ 쑰금 더 쒋은거 κ°™μŒ.

Pyro

  • μ§€λ‚œ μ£Ό λͺ©μš”일 λΆ€ν„° μ½”λ“œλ¦¬λ·°μ–΄λ‘œ ν™œλ™ν•˜κΈ° μ‹œμž‘ν•¨. -> λ‚˜λ¦„ ν• λ§Œν•œκ²ƒ κ°™μŒ
  • μ›”~수 μ˜€λžœλ§Œμ— λ§Œλ‚œ μΉœκ΅¬λž‘ 술먹음

Items

Item79

  • ConcurrentModificationException() 은, List 순회 쀑 elementκ°€ λ³€κ²½λ˜λ©΄ λ°œμƒλ˜κΈ°λ„ 함..

  • alien methodλž€?

    • overridden, or one provided by a client in the form of a function object.
    • stack-overflow
  • 응닡 λΆˆκ°€, μ•ˆμ „ μ‹€νŒ¨

    • liveness failure (응닡 λΆˆκ°€), dead lock 상황
    • safety failure (μ•ˆμ „ μ‹€νŒ¨), 데이터에 변경이 μΌμ–΄λ‚˜μ„œ μ •μƒμ μœΌλ‘œ λ™μž‘ν•˜μ§€ μ•Šμ•˜μŒ.
  • ConcurrentCollection을 μ‚¬μš©ν•˜μž..?

  • μžλ°” μ–Έμ–΄μ˜ 락은 μž¬μ§„μž…(reentrant)을 ν—ˆμš©ν•˜λ―€λ‘œ...

Item80

  • ExcutorService 의 μš©λ„μ— κ΄€ν•œ μ„€λͺ…이 λ‚˜μ™€μžˆλŠ” 챕터..

Item81

  • λ™μ‹œμ„±(Concurrency) vs 동기화(Synchronizaion)
    • 병렬싀행이 핡심 vs μ–΄λ–€ 뢀뢄에 lock을 κ±°λŠ” 것..
  • Concurrent Collection
  • Blocking Queue
  • CountdownLatch...?
    • countDown() 이 λͺ‡λ²ˆ ν˜ΈμΆœλ˜λŠ”μ§€λ₯Ό 인자둜 λ°›κ³ , ν•΄λ‹Ή countDown 이 λ°›μ•„μ˜¨ 인자만큼 μ‹€ν–‰λ¬μ„λ•Œ await λ˜μ–΄μžˆλŠ” μ• λ₯Ό κΉ¨μš΄λ‹€? μ£Όμ–΄μ§„ 인자 μˆ«μžκ°€ 0이 λ λ•ŒκΉŒμ§€ μŠ€λ ˆλ“œλ₯Ό Blocking μƒνƒœλ‘œ λ§Œλ“ λ‹€.
    • countDownLatchκ°€ 0μ΄λ˜λŠ” μˆœκ°„μ΄ 문이 μ—΄λ¦¬λŠ” μˆœκ°„!
    • countDown μˆ«μžκ°€ λ‚΄λ €κ°€κΈ°λ§Œ ν•œλ‹€.
  • Semaphoreλž€...?
    • (countDown + countUp) Latch
  • Mutex..?
  • 참고링크

Item82

  • μ•„μ˜ˆ μŠ€λ ˆλ“œ μ•ˆμ „ν•œ 것을 μ‚¬μš©ν•˜λ˜μ§€, 속도 μš°μ„ ν•΄μ„œ μ‚¬μš©ν•˜λ˜μ§€..

Item83

  • ν•œ λ©”μ„œλ“œκ°€ volatile은 μ½μ—ˆμ„ λ•Œ, μ΅œμ’…μ μΈ 값이 읽어야 ν•œλ‹€. μ„ μ–Έ 계약..
    • synchronize ν•˜κ³ λŠ” 닀름. 락이 μ—†μœΌλ‹ˆ..

Item84

  • μ™œ? μ‹€ν–‰ κ°€λŠ₯ν•œ 평균적인 μŠ€λ ˆλ“œ μˆ˜λŠ” ν”„λ‘œμ„Έμ„œ μˆ˜λ³΄λ‹€ 많게 λ§Œλ“€μ§€ μ•Šμ•„μ•Ό ν•˜λŠ”κ°€?
    • ν•˜λ‚˜μ˜ ν”„λ‘œμ„Έμ„œλŠ” ν•œμˆœκ°„ ν•˜λ‚˜μ˜ μŠ€λ ˆλ“œλ§Œ μ‹€ν–‰ κ°€λŠ₯
    • context switching

λ‹€μŒ μŠ€ν„°λ””

  • λ‹€μŒ μŠ€ν„°λ”” κ΄€λ ¨ν•΄μ„œ 이번주 μˆ˜μš”μΌκΉŒμ§€ Issue 에 μ˜¬λ €μ„œ νˆ¬ν‘œν•  μ˜ˆμ •

λ‹€μŒ μ§„ν–‰μž

  • roach