- 1995년 썬마이크로시스템즈(Sun Microsystems)에서 발표
- 2010년 오라클에서 Sun Microsystems를 인수 -> JDK 배포해 기술 지원
- 백엔드 특화 언어
특징
- 모든 운영체제(윈도우, 맥OS, 리눅스 등)에서 실행 가능
- 개체지향 프로그래밍(OOP)에 최적화 언어
- 객체를 만들고 서로 연결해서 더 큰 프로그램을 완성
- 메모리(RAM)을 자동으로 정리해줘서 메모리 관리에 용이( C언어 malloc같은 관리 필요 없음)
- 오픈 소스 라이브러리 풍부
.java) 작성 후 JVM이 실행하는 바이트코드 파일(.class)로 변역

| 구성 요소 | 종류 | 역할 | 관련 도구 |
|---|---|---|---|
| JVM | 실행 엔진 | 바이트 코드를 기계어로 변환 | 자바 가상 머신 |
| JRE | 런타임 환경 | 코드 실행 환경 제공 | JVM, JIT 컴파일러 |
| JDK | 개발 키트 | 소스 코드 컴파일 | javac |
코드들을 실행 가능한 프로그램으로 만들어 주는 역할
비교
| 빌드 시스템 | 설명 | 장점 | 단점 | 추천 상황 |
|---|---|---|---|---|
| IntelliJ | 자체 IDE 기능만 사용 | 빠르고 간단 | 확장성 부족 | 연습용, 개인 실습 |
| Maven | XML 기반 설정 (pom.xml) | 구조적, 표준화 | 설정이 다소 복잡 | 팀 프로젝트, Java 웹 |
| Gradle | 스크립트 기반 설정 | 유연성, 속도 | 초기 진입장벽 | Android, 대규모 프로젝트 |
openjdk-17+35_windows-x64_bin.zip 다운로드:C/Java/jdk-17시스템 환경 변수 편집 (제어판) 🖱️환경변수(N) 🖱️
- 사용자 변수(U) : 로그인한 계정에만 설정하는 경우
- 시스템 변수(S) : 모든 계정에 설정하는 경우
새로만들기(W) 🖱️JAVA_HOME:C/Java/jdk-17확인 🖱️인텔리제이에서 자바 설치 위치를 바로 인식
Path 🖱️🖱️새로 만들기(N) 🖱️ %JAVA_HOME%\bin 추가java-version 입력 C:\Users\a>java -version
openjdk version "17" 2021-09-14
OpenJDK Runtime Environment (build 17+35-2724)
OpenJDK 64-Bit Server VM (build 17
IntelliJ IDEA Ultimate 선택URF-8로 변경 -Xmx2048m
-Dfile.encoding=UTF-8
-Dconsole.encoding=UTF-83) Editor > General > Soft Wraps의 ✅ Soft-wrap thesefiles : * : 줄봐꿈| 단축키 | 설명 |
|---|---|
sout | System.out.println() 자동완성 |
soutv | 변수 포함 출력 자동완성 |
main | public static void main(String[] args) {} 자동완성 |
| ========== | |
Alt + J | 동일 단어 찾기 |
Alt + D | 줄 복사 |
Alt + Enter | 에러 해결 / 제안 보기 |
alt shift 위 아래 | 코드 이동 |
Ctrl + Shift + F10 | 코드 실행 |
ctrl + alt + L | reformat 코드 정리 |
ctrl + shift + m | class 생성할 수 있게 함 |