μ 체 κΈ(658)
-
[μ΄νν°λΈ μλ°] Item18 μ벽곡λ΅. μ½λ°± νλ μμν¬μ μ ν λ¬Έμ
item18. μμ보λ€λ μ»΄ν¬μ§μ μ μ¬μ©νλΌ. " p.119 μ½λ°± νλ μμν¬μ μ νλ¬Έμ " λνΌν΄λμ€μλ λ¨μ μ΄ κ±°μ μλλ°, νκ°μ§ μλ€λ©΄ λνΌ ν΄λμ€κ° μ½λ°± callback νλ μμν¬μλ μ΄μΈλ¦¬μ§ μλλ€λ μ λ§ μ£Όμνλ©΄ λλ€. μ½λ°± νλ μμν¬μμλ μκΈ° μμ μ μ°Έμ‘°λ₯Ό λ€λ₯Έ κ°μ²΄μ λ겨μ λ€μ νΈμΆ(μ½λ°±)λ μ¬μ©νλλ‘ νλ€. λ΄λΆ κ°μ²΄λ κ·Όλ° μμ μ κ°μΈκ³ μλ λνΌμ μ‘΄μ¬λ₯Ό λͺ¨λ₯΄κΈ° λλ¬Έμ μκΈ° μμ thisλ₯Ό μ°Έμ‘°λ‘ λκΈ°κ³ , μ½λ°± λλ λνΌκ° μλ λ΄λΆ κ°μ²΄λ₯Ό νΈμΆνκ² λλλ° μ΄λ₯Ό self λ¬Έμ λΌκ³ νλ€. μ½λ°± ν¨μλ? : λ€λ₯Έ ν¨μ Aμ μΈμλ‘ μ λ¬λ ν¨μ Bλ‘, ν΄λΉ ν¨μA λ΄λΆμμ νμν μμ μ νΈμΆλ μ μλ ν¨μ Bλ₯Ό μλ―Ένλ€. public interface FunctionToCall { v..
2023.03.02 -
[μ΄νν°λΈ μλ°] Item18 μ벽곡λ΅. λ°μ½λ μ΄ν° ν¨ν΄ Decorator Pattern
item18. μμ보λ€λ μ»΄ν¬μ§μ μ μ¬μ©νλΌ. " p.119 λ°μ½λ μ΄ν° ν¨ν΄" [μ΄νν°λΈ μλ°] Item18. μμ보λ€λ μ»΄ν¬μ§μ μ μ¬μ©νλΌ. (tistory.com) [μ΄νν°λΈ μλ°] Item18. μμ보λ€λ μ»΄ν¬μ§μ μ μ¬μ©νλΌ. [μ΄νν°λΈ μλ°] Item18. μμ보λ€λ μ»΄ν¬μ§μ μ μ¬μ©νλΌ. μμμ μ¬μ©νλ©΄ μ½λλ₯Ό μ¬μ¬μ©ν μ μμ§λ§, μλͺ» μμνλ©΄ μ€λ₯κ° λ°μν μ μλ€. μμ ν΄λμ€μ νμ ν΄λμ€κ° λͺ¨λ κ°μ νλ‘κ·Έλ hyejin.tistory.com λ°μ½λ μ΄ν° ν¨ν΄ Decorator Pattern μ΄λ? : κΈ°μ‘΄ μ½λλ₯Ό λ³κ²½νμ§ μκ³ λΆκ° κΈ°λ₯μ μΆκ°νλ ν¨ν΄, κ°μ²΄μ κ²°ν©μ ν΅ν΄ κΈ°λ₯μ λμ μΌλ‘ μ μ°νκ² νμ₯ν μ μκ² ν΄μ£Όλ ν¨ν΄μ΄λ€. λ°μ½λ μ΄ν° ν¨ν΄μ μμμ΄ μλ μμμ μ¬μ©ν΄μ λ³΄λ€ μ μ°..
2023.03.02 -
[μ΄νν°λΈ μλ°] Item18. μμ보λ€λ μ»΄ν¬μ§μ μ μ¬μ©νλΌ.
[μ΄νν°λΈ μλ°] Item18. μμ보λ€λ μ»΄ν¬μ§μ μ μ¬μ©νλΌ. μμμ μ¬μ©νλ©΄ μ½λλ₯Ό μ¬μ¬μ©ν μ μμ§λ§, μλͺ» μμνλ©΄ μ€λ₯κ° λ°μν μ μλ€. μμ ν΄λμ€μ νμ ν΄λμ€κ° λͺ¨λ κ°μ νλ‘κ·Έλλ¨Έκ° ν΅μ νλ ν¨ν€μ§ μμ΄λ©΄μ νμ₯ν λͺ©μ μΌλ‘ μ€κ³λμκ³ , λ¬Έμνλ μ λ ν΄λμ€λΌλ©΄ μμλ μμ ν λ°©λ²μ΄ λλ€. νμ§λ§ μΌλ°μ μΈ κ΅¬μ²΄ ν΄λμ€λ₯Ό ν¨ν€μ§ κ²½κ³λ₯Ό λμ΄μ λ€λ₯Έ ν¨ν€μ§μ ꡬ체ν΄λμ€λ‘ μμνλ μΌμ μ€λ₯κ° λ°μν μνμ΄ μ‘΄μ¬νλ€!! πΎ λ©μλ νΈμΆκ³Ό λ¬λ¦¬ μμμ μΊ‘μνλ₯Ό κΉ¨νΈλ¦°λ€. : μμ ν΄λμ€κ° μ΄λ»κ² ꡬνλλλμ λ°λΌμ νμ ν΄λμ€μ λμμ μ΄μμ΄ μκΈΈ μ μλ€. μμ ν΄λμ€κ° 릴리μ¦λ§λ€ λ΄λΆ ꡬνμ΄ λ¬λΌμ§ μ μλλ°, κ·Έμ λ°λΌμ μμμ λ°μ νμ ν΄λμ€μμ μ€λμ ν μ μλ€. μμ ν΄λμ€ μ€κ³..
2023.03.02 -
[μ΄νν°λΈ μλ°] Item17 μ벽곡λ΅. CountDownLatch
item17. λ³κ²½ κ°λ₯μ±μ μ΅μν νλΌ. " p.113 java.util.concurrent ν¨ν€μ§μ CountDownLatch ν΄λμ€κ° μ΄μμ μμΉμ μ λ°©μ¦νλ€." java.util.concurrent ν¨ν€μ§ : λ³ν(Concurrency) νλ‘κ·Έλλ°μ μ μ©νκ² μ¬μ©ν μ μλ μ νΈλ¦¬ν° λ¬Άμ - λ³ν(Concurrency)μ λ³λ ¬(Parallelism)μ μ°¨μ΄ λ³νμ μ¬λ¬ μμ μ λ²κ°μ κ°λ©° μ€νν΄ λ§μΉ λμμ μ¬λ¬ μμ μ λμμ μ²λ¦¬νλ― λ³΄μ΄μ§λ§, μ€μ λ‘λ ν λ²μ μ€μ§ ν μμ λ§μ μ€ννλ€. (cpuκ° νκ°μ¬λ κ°λ₯) λ³λ ¬μ μ¬λ¬ μμ μ μ€μ λ‘ λμμ μ²λ¦¬νλ κ²μΌλ‘ cpuκ° μ¬λ¬κ° μμ΄μΌ κ°λ₯νλ€. μλ°μ concurrent ν¨ν€μ§μμλ λ³ν μ ν리μΌμ΄μ μ μ μ©ν λ€μν ν΄μ μ 곡νλ€. -> ..
2023.02.28 -
[μ΄νν°λΈ μλ°] Item17 μ벽곡λ΅. finalκ³Ό μλ° λ©λͺ¨λ¦¬ λͺ¨λΈ JMM
item17. λ³κ²½ κ°λ₯μ±μ μ΅μν νλΌ. " p105. μλ‘ μμ±λ λΆλ³ μΈμ€ν΄μ€λ₯Ό λκΈ°ν μμ΄ λ€λ₯Έ μ€λ λλ‘ κ±΄λ€λ λ¬Έμ μμ΄ λμνλ€.(JLS 17.4, 17.5)" JMM (Java Memory Model) : JMM μ΄λΌκ³ ν΄μ ꡬκΈλ§ν΄λ³΄λ©΄ JVMμ ν, μ€ν... μ΄λ° μ€λͺ μΌλ‘ μ΄μ΄μ§λ κΈλ€μ΄ λ§μλ° μ΄κ±΄ JMMμΌλ‘ JVMκ³Όλ λ€λ₯΄λ€!! μλ° λ©λͺ¨λ¦¬ λͺ¨λΈ JMMμ JVMμ λ©λͺ¨λ¦¬ κ΅¬μ‘°κ° μλλΌ μ λ²ν legal νλ‘κ·Έλ¨μ μ€νκ·μΉμ΄λ€. https://docs.oracle.com/javase/specs/jls/se14/html/jls-17.html#jls-17.4 Chapter 17. Threads and Locks class A { final int x; A() { x = 1; } int f()..
2023.02.28 -
[μ΄νν°λΈ μλ°] Item17. λ³κ²½ κ°λ₯μ±μ μ΅μν νλΌ. (λΆλ³ ν΄λμ€λ₯Ό λ§λ€ λ κ³ λ €ν κ²)
[μ΄νν°λΈ μλ°] Item17. λ³κ²½ κ°λ₯μ±μ μ΅μννλΌ. [μ΄νν°λΈ μλ°] Item17. λ³κ²½ κ°λ₯μ±μ μ΅μν νλΌ. (λΆλ³ ν΄λμ€μ μ₯μ κ³Ό λ¨μ ) (tistory.com) [μ΄νν°λΈ μλ°] Item17. λ³κ²½ κ°λ₯μ±μ μ΅μν νλΌ. (λΆλ³ ν΄λμ€μ μ₯μ κ³Ό λ¨μ ) [μ΄νν°λΈ μλ°] Item17. λ³κ²½ κ°λ₯μ±μ μ΅μννλΌ. [μ΄νν°λΈ μλ°] Item17. λ³κ²½ κ°λ₯μ±μ μ΅μν νλΌ. (λΆλ³ ν΄λμ€) (tistory.com) [μ΄νν°λΈ μλ°] Item17. λ³κ²½ κ°λ₯μ±μ μ΅μν νλΌ. (λΆλ³ ν΄λμ€) [ hyejin.tistory.com μ λ² κΈμμ λΆλ³ ν΄λμ€μ κ°λ κ³Ό λ§λλ λ€μ―κ°μ§ κ·μΉ, κ·Έλ¦¬κ³ λΆλ³ ν΄λμ€μ μ₯μ κ³Ό λ¨μ μ λν΄μ λ°°μ λ€. λΆλ³ ν΄λμ€λ₯Ό λ§λ€ λ λ€μ―κ°μ§ κ·μΉμ λν΄μ μ€λμ λΆλ³ ν΄..
2023.02.28