[λͺ ν μλ° νλ‘κ·Έλλ°] 1μ₯ μμ½ & μ 리
1μ₯ μλ° μμ
1. μ μ°¨μ§ν₯κ³Ό κ°μ²΄μ§ν₯, CμΈμ΄μ νλ, μλ°μ νλ
μ μ°¨μ§ν₯ νλ‘κ·Έλλ° // μμ
μ μμλλ‘ νν, μμλλ‘ μ€ν
μμ
μ λ¨μμΈ ν¨μλ€μ μ§ν©μΌλ‘ νλ‘κ·Έλ¨ μμ±
κ°μ²΄μ§ν₯ νλ‘κ·Έλλ° // κ°μ²΄λ€ κ°μ μνΈμμ©μΌλ‘ νν
μ¬λ¬Όμ λ¨μμΈ ν΄λμ€ λλ κ°μ²΄λ€μ μ§ν©μΌλ‘ νλ‘κ·Έλ¨ μμ±
νλ‘κ·Έλλ° μΈμ΄λ μ μ°¨μ§ν₯κ³Ό κ°μ²΄μ§ν₯ λ κ°λλ‘ λλμ΄μ§λ κ²μ΄ μλλ€. // μ μ°¨μ§ν₯μ κ°μ²΄μ§ν₯μ κ°λ
μ΄ μΆκ°λ κ²
CμΈμ΄μ νλμ μ’μ μ΄μ체μ κ°λ° (1970λ
λ μ΄)
AT&T<μ ν κ΅νκΈ°(μΌμ’
μ μ»΄ν¨ν°)<μ΄μ체μ (μΌμ’
μ μννΈμ¨μ΄)<νλ‘κ·Έλλ° μΈμ΄
μλ°μ νλμ IoT μ¬λ¬Ό μΈν°λ· κ°μ κ°μ μ νμ λ€μ΄κ° μννΈμ¨μ΄ κ°λ° (1990λ
λ)
1. νλ«νΌμ λ
립μ μΈ μΈμ΄ κ°λ° // λ μ¨ μ΄νμ ν λ²λ§ λ§λ€λ©΄ μ¬λ¬ νλ«νΌμμ λ€ λμκ° μ μκ² νκΈ° μν΄, WORA
2. λ©λͺ¨λ¦¬ μ¬μ©λ μ μ μλ² λλ νλ‘κ·Έλ¨ κ°λ°
+) κ°μ²΄ μ§ν₯ 100% // 1990λ
λ κ°μ²΄μ§ν₯ μ΄ν
-> μλ°λ λͺ¨λ κ²μ κ°μ²΄λ‘ λ³Έλ€.
2. νλ«νΌ λ 립μ±
νλ«νΌ = νλμ¨μ΄ + μ΄μ체μ // CPU + O/S
μλ° νλ«νΌ = νλμ¨μ΄ + μ΄μ체μ + JVM // CPU + O/S + JVM
λ
립μ (νΈνμ±) = νλ«νΌμ΄ λ¬λΌμ Έλ μ€νλ¨
μ’
μμ (μ’
μμ±) = νΉμ ν νλ«νΌμμλ§ μ€νλ¨
νλ«νΌμ νΈνμ±μ΄ μλ μ΄μ
1. κ° CPU λ§λ€ κΈ°κ³μ΄κ° λ€λ₯΄λ€.
2. κ° μ΄μ체μ λ§λ€ APIκ° λ€λ₯΄λ€.
3. κ° μ΄μ체μ λ§λ€ μ€ννμΌ νμμ΄ λ€λ₯΄λ€.
μλ° μμ€ νμΌμ μ»΄νμΌν μ€λ¦½μ μΈ λ°μ΄λ리 μ½λμΈ λͺ©μ μ½λ = λ°μ΄νΈ μ½λκ° μ§μ μ€νλλ κ²μ΄ μλλΌ, JVMμ μν΄ μΈν°νλ¦¬ν° λ°©μμΌλ‘ κ°κ°μ νλ«νΌμ λ§κ² λ³νλ λ€ μ€νλλ€.
C/C++ μ΄ν리μΌμ΄μ
μ νλ«νΌμ μ’
μμ
JAVA μ΄ν리μΌμ΄μ
μ νλ«νΌμ λ
립μ
JVMμ νλ«νΌμ μ’
μμ
3. μλ°μ κ΄νμ¬
μλ° μμ€νμΌμ νμ₯μ .java
μλ° μμ€νμΌμ μ»΄νμΌν ν΄λμ€ νμΌμ νμ₯μ .class
C/C++ νλ‘κ·Έλ¨ κ°λ° λ° μ€ν // μ¬λ¬ κ°μ μμ€ νμΌλ‘ λλμ΄ κ°λ°ν λ€, μμ€ νμΌμ μ»΄νμΌν λͺ©μ μ½λμ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ°κ²°νμ¬ νλμ μ€ν νμΌλ‘ λ§λ¦, λ©λͺ¨λ¦¬κ° μ μ κ²½μ° μ€ν λΆκ°
μ μ λΌμ΄λΈλ¬λ¦¬μ κ²½μ° μ€ν νμΌμ ν¬ν¨μν€λ―λ‘ μ€ν νμΌ ν¬κΈ°κ° μ»€μ§ λμ λΌμ΄λΈλ¬λ¦¬μ κ²½μ° μ€ν μκ°μ λ§ν¬κ° μΌμ΄λ¨
Java νλ‘κ·Έλ¨ κ°λ° λ° μ€ν // μ¬λ¬ κ°μ μμ€ νμΌλ‘ λλμ΄ κ°λ°ν λ€, μμ€ νμΌμ μ»΄νμΌν λ°μ΄νΈμ½λλ‘ μ΄λ£¨μ΄μ§ λͺ©μ νμΌμ λ§ν¬νμ¬ νλμ μ€ννμΌλ‘ λ§λλ κ³Όμ μ΄ μμ, μ μ λ©λͺ¨λ¦¬λ‘ μ€ν κ°λ₯
ν΄λμ€ λ‘λλ₯Ό ν΅ν΄ JVMμ΄ λλ Class Loader ν΄λμ€λ₯Ό ν΅ν΄ κ°λ°μκ° νμν ν΄λμ€ νμΌμ λμ μΌλ‘ λ‘λ© // λμ μ κ·Έλ κ·Έλ
JDK>JRE>JVM // JDKμ ν΅μ¬μ μ»΄νμΌλ¬, JREμ ν΅μ¬μ JVM
κ°λ° μ€ν
JDKμ bin λλ ν 리μ μ€ννμΌ
javac // μ»΄νμΌλ¬
java // μλ° μμ© νλ‘κ·Έλ¨ μ€νκΈ°(JVM)
jar // μλ° ν΄λμ€ νμΌμ μμΆν μλ° μμΉ΄μ΄λΈ νμΌ(.jar) μμ±, κ΄λ¦¬
javap // μλ° μμ€νμΌμ μ»΄νμΌν λ°μ΄νΈ μ½λλ₯Ό λμ΄μ λΈν κ²°κ³ΌμΈ μ΄μ λΈλ¦¬ μ½λλ‘ λ³Ό μ μμ
java λͺ λ ΉμΌλ‘ μ€ν μ ν΄λμ€ νμΌμ νμ₯μ .classλ λΉΌκ³ , ν΄λμ€ νμΌμ μ΄λ¦λ§ μ λ ₯ // java Hello2030
μλ°λ μ»΄νμΌλ ν΄λμ€ νμΌλ€μ΄λ μ΄λ€μ νλλ‘ μμΆν jar νμΌ ννλ‘ λ°°ν¬
μλ° λ°°ν¬νμ μ’
λ₯
Java SE(Standard Edition) // λ°μ€ν¬ν, μλ² μμ© νλ‘κ·Έλ¨ κ°λ° νλ«νΌ
Java ME(Micro Editon) // SE + μλ² λλ νλ‘κ·Έλ¨ κ°λ° νλ«νΌ
Java EE(Enterprise Edition) // SE + μΈν°λ· κΈ°λ° μλ² κ°λ° νλ«νΌ
μλ° API // ν΄λμ€ λΌμ΄λΈλ¬λ¦¬
ν¨ν€μ§ // μλ‘ κ΄λ ¨λ ν΄λμ€λ€μ λ¬Άμ΄ λμ κ², λλ ν 리, κ³μΈ΅κ΅¬μ‘°
λͺ¨λ // ν¨ν€μ§, μ΄λ―Έμ§, XML νμΌ λ±μ μμλ€μ λ¬Άμ λ¨μ, νΌμ¦ μ°κ²°νλ―μ΄ μμ±
μλ° IDE // μ΄ν΄λ¦½μ€, μΈν
리μ μ΄ IDEA
IDE // νΈμ§, μ»΄νμΌ, λλ²κΉ
μ νλ²μ ν μ μλ ν΅ν©λ κ°λ° νκ²½
μλ° λνλ¨ΌνΈ // javadoc μ£Όμ, /** */ μ¬μ΄μ htmlλ‘ μμ±, μλ° μμ€νμΌλ‘λΆν° API λ¬Έμ μμ±
4. μλΈλ¦Ώκ³Ό μ νλ¦Ώ, μλ°μ νΉμ§
μλΈλ¦Ώ // μΉ μλ²μμ λμκ°λ νλ‘κ·Έλ¨, λ°μ΄ν°λ² μ΄μ€ μλ² λ° κΈ°ν μλ²μ μ°λνλ 볡μ‘ν κΈ°λ₯ ꡬν μ μ¬μ©
μ νλ¦Ώ // μΉ ν΄λΌμ΄μΈνΈμμ λμκ°λ νλ‘κ·Έλ¨
JSP(Java Server Page)λ μΉ μλ²μμ μ€νλλ μ€ν¬λ¦½νΈ μΈμ΄μ΄λ€. JSP νλ‘κ·Έλ¨μ μ€ν μ μ μ»΄νμΌλμ΄ μλΈλ¦Ώμ΄λΌκ³ λΆλ¦¬λ μλ° μ½λλ‘ λ³νλμ΄ μ€νλλ€.
νλμ μμ€νμΌμ μ¬λ¬ ν΄λμ€ μμ± κ°λ₯, public ν΄λμ€λ 1κ°λ§ μμ± κ°λ₯
μλ° μμ€νμΌ μ΄λ¦ = ν΄λμ€ μ΄λ¦, νλμ μμ€ νμΌμ μ¬λ¬ κ°μ ν΄λμ€κ° μμ±λμ΄ μλ κ²½μ° public ν΄λμ€ μ΄λ¦κ³Ό κ°μ
μμ€νμΌμ μ»΄νμΌνλ©΄ ν΄λμ€ 1κ°λΉ ν΄λμ€νμΌ 1κ°
νλμ ν΄λμ€ νμΌμ 2κ° μ΄μμ main λ©μλκ° μμ μ μμ
class C {
class D {
}
}
μλ°λ ν΄λμ€ μμ μλ‘μ΄ ν΄λμ€, μ¦ λ΄λΆ ν΄λμ€λ₯Ό λ§λ€ μ μλ€.
ν΄λμ€ Dλ ν΄λμ€ Cλ΄μ μμ±λ λ΄λΆ ν΄λμ€(inner class)λ‘μ C$D.class μ΄λ¦μΌλ‘ ν΄λμ€ νμΌμ΄ μμ±λλ€.
μλ°μ νΉμ§
1. νλ«νΌμ λ
립μ
2. κ°μ²΄ μ§ν₯ // μΊ‘μν, μμμ±, λ€νμ±
3. ν΄λμ€λ‘ μΊ‘μν
4. μ΄μ체μ μ λμ μμ΄ μ체μ μΌλ‘ λ©ν° μ€λ λλ₯Ό μ§μ
5. κ°λΉμ§ 컬λ μ
// μμμ λ©λͺ¨λ¦¬ κ΄λ¦¬
6. μ€μκ° μμ© μμ€ν μ λΆμ ν© // μ€ν λμ€ μμΈ‘ν μ μλ μμ μ κ°λΉμ§ 컬λ μ μ΄ μ€νλλ―λ‘ νλ‘κ·Έλ¨ μ€νμ΄ μΌμμ μΌλ‘ μ€λ¨
μ€ν μλλ₯Ό κ°μ νκΈ° μν΄ JIT μ»΄νμΌλ¬κ° μ¬μ©λλ€. μ΅κ·Όμλ μ€ννλ λμ€ μλ° νλ‘κ·Έλ¨μ ν΄λΉ CPUμ κΈ°κ³μ΄ μ½λλ‘ μ»΄νμΌνκ³ CPUκ° λ°λ‘ κΈ°κ³μ΄λ₯Ό μ€ννλλ‘ νλ JIT(Just In Time) μ»΄νμΌλ§ κΈ°λ²μ μ΄μ©νλ€.
'1. Java μλ° > 1_0. μ± , κ°μ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λͺ ν μλ° νλ‘κ·Έλλ°] 3μ₯ μμ½ & μ 리 (0) | 2022.05.18 |
---|---|
[λͺ ν μλ° νλ‘κ·Έλλ°] 2μ₯ μμ½ & μ 리 (0) | 2022.05.18 |
[λͺ ν μλ° νλ‘κ·Έλλ°] 0μ₯ μμ½ & μ 리 (0) | 2022.05.18 |
[μλ°νλ‘κ·Έλλ°1] 12μ£Όμ°¨ κ΅μ¬_λ΄μ©μ 리 (0) | 2022.05.18 |
[μλ°νλ‘κ·Έλλ°1] 11μ£Όμ°¨ κ΅μ¬_λ΄μ©μ 리 (0) | 2022.05.18 |