κ°λ° μ΄μκ° λλΆλΆ κ·Έλ μ§λ§, κΈ°μ μ μΈ μΈ‘λ©΄λ³΄λ€ μμΈλ‘ μμ¬μν΅ λ¬Έμ κ°μ μΈμ μμκ° μμΈμ΄ λ λκ° λ§μ΅λλ€. μΊλ¦¬ ν리첼μ "μ κ°λ°μλ μλͺ»λ κΈ°μ μ νμ λ°₯ λ¨Ήλ―μ΄ νλ?"λΌλ μ λͺ©μ λΈλ‘κ·Έ κ²μκΈμμ κ·Έ μμΈμ λ€μ― κ°μ§λ‘ λΆλ₯νμ΅λλ€. νλμ© μμλ³΄κ² μ΅λλ€.
μ΄ κΈμ μ κ°λ°μλ μλͺ»λ κΈ°μ μ νμ λ°₯ λ¨Ήλ―μ΄ νλ? μ Optimizing Java λΌλ μμ μ μ°Έκ³ νμ¬ μμ±νμμ΅λλ€.
μ§λ£¨ν¨
κ°λ°μλ λλΆλΆ μκΈ° μν μ μ§λ£¨ν¨μ λλΌκ³ λκ° μλ‘κ³ λμ μ μΈ μΌμ μ°Ύμ κ°μ νμ¬ λλ μμ λ€λ₯Έ κ³³μΌλ‘ λ λ κΆλ¦¬λ₯Ό νλ μ¬λλ μμ΅λλ€. νμ§λ§ μ¬λ΄μ λ±ν λ§λ ν κΈ°νκ° μκ±°λ λ€λ₯Έ νμ¬λ‘ μ΄μ§νλ κ² μ¬μμΉ μμ λλ μκ² μ£ .
λ¬Όλ‘ , μ§λ£¨ν μΌμμ μ μ°Έκ³ κ²¬λ λΏλ§ μλλΌ μΈλ € λ μ½κ³ νΈν μΆμ μΆκ΅¬νλ κ°λ°μλ μμ΅λλ€. μ΄μ¨λ , κ°λ°μμ μ§λ£¨ν¨μ νλ‘μ νΈμ μ¬λ¬ κ°μ§λ‘ ν΄μ½μ λΌμΉ μ μμ΅λλ€. μΌλ‘λ‘, Collections.sort() ν μ€μ΄λ©΄ λ κ²μ μ§μ ν΅μνΈ κ°μ μ λ ¬ μκ³ λ¦¬μ¦μ ꡬνν΄ νμ μ΄μμΌλ‘ 볡μ‘νκ² μ½λ©νλ κ°λ°μκ° μμ΅λλ€. μ§κΈκ» μλ €μ§μ§ μμ κΈ°μ λ‘ μ»΄ν¬λνΈλ₯Ό μ μνκ±°λ, λ§μ§λ μμ μ μ€μΌμ΄μ€μ μ΅μ§λ‘ κΈ°μ μ μ±μ¬λ£λ λ± μ¬λ¬ κ°μ§ λ°©λ²μΌλ‘ μ§λ£¨ν¨μ νμΆνκΈ°λ ν©λλ€.
μ€μ λ‘ μ λ νμ΄μ¬ κ΄λ ¨ κ°λ°μ νμ λ sort() ν¨μλ₯Ό μ°λ©΄ λ κ±Έ κ΄ν λ½λ΄κ³ μΆμ΄μ ν΅μ λ ¬μ΄λ κ³μμ λ ¬μ μ¬μ©νμ μ΄ μμμ΅λλ€. λΉ μ€ νκΈ°λ² κΈ°μ€μΌλ‘ ν΅μ λ ¬λ³΄λ€ νμ΄μ¬ λ΄μ₯ ν¨μμΈ sort()κ° λ λΉ λ₯΄λ€λ κ±Έ μλ©΄μλμ.. λ°μ±ν©λλ€
μ΄λ ₯μ λΆν리기
μ§λ£¨ν¨ λλ¬Έμ κΈ°μ μ κ³Όμ©νλ κ°λ°μκ° μλ λ°λ©΄, λ³ΈμΈμ μ΄λ ₯μλ₯Ό κ³Όλ ν¬μ₯ν ꡬμ€μ μ°Ύλ κ°λ°μλ μμ΅λλ€. κ΅¬μ§ μμ₯μ λ€μ λ°μ΄λ€ μ¦μ, μ΄λ»κ² νλ©΄ μκΈ° μ°λ΄κ³Ό λͺΈκ°μ λμΌ μ μμκΉ κ³¨λͺ°νλ κ±°μ£ . μ κ΅΄λ¬κ°λ νμΉκ³ μ΄λ° μκ°μ νλ νμμ΄ ν μ¬λλ μλ κ²½μ°λ λλ¬Όκ² μ§λ§, μ΄μ¨λ νλ‘μ νΈλ₯Ό λΆνμν λ°©ν₯μΌλ‘ λκ³ κ°λ μ νμ λ°λ¨μ΄ λ μ μμ΅λλ€.
κ°λ°μμ μ§λ£¨ν¨, μ΄λ ₯μ λΆν리기 νμ λΆνμν κΈ°μ μ μκΎΈ λ§λ κ²°κ³Όλ, κΈ°μ‘΄μ κ°λ°μκ° λ μ’μ νμ¬λ‘ μ΄μ§ν ν μμ£Ό μ€λ«λμ μμ€ν μ μ§λν μν₯μ λ―ΈμΉκ² λ κ²λλ€.
λλ μλ°
νμλ€μ΄ κΈ°μ μ κ²°μ ν λ κ΄μ¬μ¬λ₯Ό λΆλͺ ν λ°νμ§ μκ³ , μλ‘ μΆ©λΆν λ Όμ μμ΄ μ§ννλ©΄ μ°λμ΄ κ²°κ³Όλ₯Ό λ§λ³΄κΈ° μ½μ΅λλ€. κ°λ Ή, μ λ°° μμμ κ°κΈμ μ€μ μ νλ €λ(κ°λ©΄ μ¦νκ΅°) μ μ κ°λ°μ, νΉμ μ£Όμ λ₯Ό μκΈ°κ° μ λͺ¨λ₯Έλ€λ μ¬μ€μ λλ €μνλ κ°λ°μκ° μμ΅λλ€. κ²½μμ¬μ΄ λΆνμ€λ₯΄λ ν λΆμκΈ° μμμ κ°λ°μ΄ κ΄μμΌλ‘ μ§νλλ λ― λ³΄μ΄κ³ μ μ λλ‘ μ¬μ μ λ°μ Έλ³΄μ§λ μκ³ μ£λΆλ¦¬ μ€μν κ²°μ μ λ΄λ¦¬λ κ²λ λλ μλ°μ μμ£Ό κ³ μ½ν ννμ λλ€.
μ΄ν΄ λΆμ‘±
μ§κΈ μ¬μ©νλ ν΄μ κΈ°λ₯λ μ¨μ ν μμ§ λͺ»νλλ° λ¬΄ν±λκ³ μλ‘μ΄ ν΄λ‘ λ¬Έμ λ₯Ό ν΄κ²°νλ €λ κ°λ°μκ° μμ΅λλ€. μλ‘ λμ¨ λ©μ§ κΈ°μ μ΄ μ΄λ€ νμ€ν¬λ₯Ό μνν λ μμ£Ό μ’λ€λ μλ¬Έμ΄ νΌμ§λ©΄ μ¬λ λ§μμ΄λ κ² κΈ°μΈμ΄μ§κ² λ§λ ¨μ΄μ£ . νμ§λ§ κΈ°μ 볡μ‘λλ₯Ό λμ΄λ κ²κ³Ό νμ¬ ν΄λ‘λ ν μ μλ κ² μ¬μ΄μ κ· νμ μ λ§μΆμ΄μΌ ν©λλ€.
μλ₯Ό λ€μ΄ νμ΄λ²λ€μ΄νΈλ λλ©μΈ κ°μ²΄μ DB κ°μ²΄ κ° λ³νμ λ¨μννλ μ νΈμ λ°©λ²μ²λΌ 보μ λλ€. νμ΄λ²λ€μ΄νΈλ₯Ό μλ° κ²ν₯κΈ° μμΌλ‘ μλ κ°λ°μλ λ€λ₯Έ νλ‘μ νΈμμλ νμ΄λ²λ€μ΄νΈλ₯Ό μ°λλΌ, νλ κ²½νλ΄μ λ€λ €μ£Όλ©° μ΄ κΈ°μ μ΄ μ ν©νλ€κ³ μ½κ² λ¨μ ν©λλ€. μ΄μ²λΌ μ΄ν΄κ° λΆμ‘±ν μνμμλ νμ΄λ²λ€μ΄νΈλ₯Ό λ무 볡μ‘νκ² μ¬μ©νκ² λκ³ κ²°κ΅ μ΄μ λ¨κ³μμ ν볡 λΆκ°ν μ€λ¨ μ¬νλ₯Ό λ§μ΄ν μλ μμ΅λλ€. λ°μ΄ν° κ³μΈ΅μ μ λΆ κ°λ¨ν JDBC νΈμΆλ‘ λ°κΎΈλ©΄ κ°λ°μλ μμ μ΄ μ΅μν λΆμΌλΌμ μ μ°νκ² λμ²ν μ μκ² μ£ . νμλ νμ΄λ²λ€μ΄νΈλ₯Ό κ°μνλ©΄μ λ± μ΄λ° μ¬λ‘λ₯Ό κ²½νν μκ°μμ λ§λ¬μ΅λλ€. κ·Έλ νμ΄λ²λ€μ΄νΈ λλ¬Έμ κ²°λ΄λ μ ν리μΌμ΄μ μ 볡ꡬνλ €κ³ νμμ κ°μλ₯Ό λ€μΌλ©΄μ μ΄μ¬ν νμ΄λ²λ€μ΄νΈλ₯Ό μ°κ΅¬νμ§λ§, κ²°κ΅ νμ΄λ²λ€μ΄νΈλ₯Ό κ±·μ΄λ΄λλ κ³ μ€λν μ£Όλ§μ λ°μ³μΌλ§ νμ΅λλ€. μ λ§ μ²λνκΈ° κ·Έμ§μμ£ .
μ€ν΄μ μμ§λ μμ λ¬Έμ
λ¬Έμ μμ²΄κ° λ¬΄μμΈμ§ μ λλ‘ μ΄ν΄νμ§ λͺ»ν μ± μ€λ‘μ§ κΈ°μ μ μ΄μ©ν΄μ λ¬Έμ λ₯Ό ν΄κ²°νλ €λ κ°λ°μλ μμ΅λλ€. μ€λ Ή κ·Έλ κ² ν΄μ μ±κ³΅νλ€, μ±λ₯ μμΉλ₯Ό μΈ‘μ λ μ ν΄λ³΄κ³ μ΄λ»κ² μ±κ³΅μ μ₯λ΄ν μ μμκΉμ? μ±λ₯ μ§νλ₯Ό μμ§/λΆμν΄μΌλ§ λΉλ‘μ λ¬Έμ μ λ³Έμ§μ μ νν μ΄ν΄ν μ μμ΅λλ€.
μν°ν¨ν΄μ μλ°©νλ €λ©΄ νμ λͺ¨λ μ°Έμ¬ν΄μ κΈ°μ μ΄μλ₯Ό νλ°ν 곡μ νλ λΆμκΈ°λ₯Ό μ κ·Ή μ₯λ €ν΄μΌ ν©λλ€. μμ§λ λκ° λΆλΆλͺ νλ€ μΆμΌλ©΄ λ¨Όμ μ¬μ€μ κ·Όκ±°ν μ¦κ±°λ₯Ό μμ§νκ³ νλ‘ν νμ μ λ§λ€μ΄ μ‘°μ¬ν©λλ€. κ·ΈλμΌ νμ΄ μ¬λ°λ₯Έ λ°©ν₯μΌλ‘ λμκ° μ μκ² μ£ . μ΅μ κΈ°μ μ΄ μ무리 μ’μ 보μ¬λ νλ‘ν νμ μ λ§λ€μ΄ 보λ κΈ°λμ λ―ΈμΉμΉ λͺ»νλ©΄ λ³΄λ€ μ νν μ 보λ₯Ό κ·Όκ±°λ‘ νμ΄ κ²°μ μ λ΄λ¦¬λ λ° λμμ΄ λ κ²μ λλ€.
λ§ΊμΌλ©°
λ무 μ μ΄μΌκΈ°μΈκ² κ°μμ μ½λ€κ°λ μ§μ§ λ¨λλ¨λ λ§μ΄ νλ€μ. 5κ° μ€μ 5κ° λ€ ν΄λΉλ©λλ€... λ°μ±ν©λλ€.
λ€λ₯Έ κ°λ°μλΆλ€μ μ΄λ μ κ°μ? :)
μ½μ΄μ£Όμ μ κ°μ¬ν©λλ€.
Conference
μ κ°λ°μλ μλͺ»λ κΈ°μ μ νμ λ°₯ λ¨Ήλ―μ΄ νλ?
'...' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JSP] <c:forEach> varStatus νμ©λ² (0) | 2021.06.10 |
---|---|
[Java] μλ° staticμ μλ―Έμ μ¬μ©λ² (2) | 2021.06.06 |
[Java] μΈν°νμ΄μ€μ μΆμν΄λμ€ (4) | 2021.06.01 |
[AWS] EC2λ₯Ό μ΄μ©νμ¬ Node.js μλ² λ°°ν¬νκΈ° (4) | 2021.05.23 |
[Java] μλ°μ λμκ³Όμ Java Compilerμ JVM (16) | 2021.05.11 |