Java/설정

Java란?, Java17 설치 및 환경변수 설정

ssury94 2024. 12. 8. 21:16
 
 
 

Java란?

Java는 1995년 썬 마이크로시스템즈(Sun Microsystems)에서 발표한 객체 지향 프로그래밍 언어로, 

다양한 응용 프로그램을 개발하는 데 널리 사용됩니다. 

 

자바 17 다운로드

https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html

 

Java Archive Downloads - Java SE 17

WARNING: Older versions of the JDK are provided to help developers debug issues in older systems. They are not updated with the latest security patches and are not recommended for use in production. For production use Oracle recommends downloading the late

www.oracle.com

 

 

왜 Java23이 아닌 Java17을 많이 쓰나?

Java 17은 LTS (장기지원) 버전으로 장기적인 보안 업데이트와 버그 수정을 제공하고 있으며

출시 이후 많은 테스트를 거쳐 안정성이 검증됨

주요 라이브러리와 프레임워크가 자바 17을 우선적으로 지원하여 호환성이 높음

 

자바 23은 LTS가 아님

 

Java17 설치 후 환경 변수 설정(Windows 기준)

  1. 제어판 > 시스템 > 고급시스템 설정 > 환경 변수에서 JAVA_HOME 추가
    경로는 JDK가 설치된 경로 설정


  2. Path 변수 편집 > 새로만들기 > %JAVA_HOME%bin 추가

  3. cmd에 java -version 입력 후 버전 출력 확인

 


Java의 특징

1. 객체 지향 프로그래밍 OOP(Object-Oriented Programming)

자바는 객체 지향 프로그래밍 언어로, 데이터와 행동을 객체 단위로 묶어 다룰 수 있습니다.

상속, 다형성, 캡슐화 등의 OOP 개념을 충실히 구현하고 있습니다.

2. 플랫폼 독립성

자바는 "Write Once, Run Anywhere"라는 철학을 따릅니다.

즉, 한번 작성한 자바 코드는 JVM(Java Virtual Machine)이 설치된 모든 환경에서 실행 가능합니다.

이는 자바 바이트코드로 컴파일 되기 때문에 가능한 일입니다.

3. 강력한 메모리 관리

자바는 가비지 컬렉션(Garbage Collection) 매커니즘을 통해 개발자가 메모리 관리를 직접 하지 않아도 자동으로 메모리 누수를 방지합니다.

4. 멀티스레드 지원

자바는 멀티스레드 프로그래밍을 지원하여, 동시에 여러 작업을 효율적으로 처리할 수 있습니다.

5. 풍부한 라이브러리

자바는 표준 라이브러리(Java API)를 포함하여 데이터베이스 연결, 네트워킹, 입출력, 스레드 처리 등의 다양한 기능을 지원하는 방대한 라이브러리들을 지원합니다.

6. 동적 로딩

Java는 필요한 시점에만 클래스를 로딩하는 동적 로딩 기능을 제공하여, 프로그램 실행 시 모든 클래스를 미리 로딩할 필요가 없습니다. 이로 인해 유지보수가 용이해집니다.

7. 풍부한 생태계, 다양한 소프트개발에 적합

Java는 다양한 라이브러리와 프레임워크를 갖춘 큰 생태계를 형성하고 있어, 엔터프라이즈 애플리케이션, 모바일 앱, 게임 등 다양한 소프트웨어 개발에 적합합니다.


자바의 장점

1. 안정성

강력한 타입 검사를 제공하여 런타임 오류를 줄이기 위한 많은 컴파일 타임체크를 수행합니다.

이는 높은 안정성과 신뢰성을 제공합니다.

2. 확장성

자바는 객체지향 언어로 유지보수성과 확장성이 뛰어납니다.

대규모 프로젝트에서도 쉽게 확장 할 수 있는 구조로 설계할 수 있습니다.

3. 크로스 플랫폼

자바는 JVM (Java Virtual Machine) 덕분에 운영체제와 상관없이 어디서든 실행할 수 있습니다.

웹, 모바일, 데스크탑 등 다양한 환경에서 사용가능합니다.

 "Write Once, Run Anywhere" (WORA)

4.보안성

자바는 네트워크 환경에서 안전한 실행을 보장하는 강력한 보안기능을 내장하고 있으며, 특히 웹 애플리케이션 개발에 적합합니다.

 

JDK (Java Development Kit)

자바 프로그램 개발을 위한 소프트웨어 개발 키트

자바 컴파일러 (javac): 자바 소스 코드를 바이트 코드로 컴파일하는 도구.
자바 가상 머신 (JVM): 자바 애플리케이션을 실행하는 데 필요한 가상 머신. JVM은 JRE의 일부로 포함됩니다.
자바 런타임 환경 (JRE): 자바 애플리케이션을 실행하기 위한 최소한의 환경으로, JVM, 코어 클래스 라이브러리, 지원 파일 등을 포함합니다. JDK는 JRE를 포함하고 있습니다.
디버깅 도구 (jdb): 자바 프로그램을 디버깅하는 데 사용되는 도구.
도큐멘테이션 생성 도구 (javadoc): 자바 소스 코드에서 API 문서를 생성하는 도구.
표준 라이브러리: 자바 개발을 위한 표준 API 라이브러리가 포함되어 있습니다

 

* spring boot framework

서버개발 프레임워크 (애플리케이션 개발을 위한 구조화된 기반을 제공하는 미리 작성된 코드 라이브러리의 집합)

Java 기반으로 만들어짐

 

* Java를 사용하는 다양한 개발 툴

intellij

visual studio code (vsc)

Cursor IDE(인공지능)