ABOUT

성능과 운영 안정성을 함께 끌어올리는 개발자입니다.

92% Positional Error Reduction
79% p95 Latency Improvement
90%+ Long Tasks Reduction

2022.02 · 한국장학재단

우수 멘티

한국장학재단 사회 리더 대학생 멘토링 IT

2022.10 · 동작구청

우수 인재상

동작구청 우수 SW 인재

2025.05 · (주) 그랩

프로그래밍 우수상

(주) 그랩 우수 프로그램 개발

2025.05 · AWSKRUG

AWS한국사용자모임 발표

AI agent 스크립트 튜닝 관련 발표

ComputerScience

Development

Engineering

Trouble Shooting

GUESTBOOK

첫 마음부터
함께 나누는 온기

방명록 작성하러 가기

SUBSCRIBE

최신소식을
편하게 만나보세요.

Java

정의
객체지향(OOP)을 기반으로, JVM 위에서 실행되는 범용 프로그래밍 언어입니다.

Java는 “문법”만의 언어가 아니라, JDK(개발 도구), JVM(실행 엔진), 표준 라이브러리(Java API)까지 포함한 거대한 생태계로 움직입니다. 그래서 실무에서 Java를 쓴다는 말은 자바 플랫폼을 쓴다는 의미에 가깝습니다.

특히 서버 개발에서 Java는 안정성, 성숙한 생태계(Spring 등), 운영/관측 도구가 강점이라 대규모 트래픽/금융/엔터프라이즈 환경에서 많이 선택됩니다.

핵심 메시지

“Java는 언어이면서 동시에
JVM + 표준 라이브러리 + 개발 도구로 이루어진 플랫폼이다.”

- ‘코드’보다 ‘플랫폼’이 강점 -
본질
Java는 컴파일 언어이면서도, 결과물이 바이트코드로 JVM에서 실행됩니다.

Java는 보통 “인터프리터 언어인가요?” 같은 질문을 받는데, 정확히는 소스(.java) → 바이트코드(.class)로 컴파일되고, JVM이 이를 인터프리트 + JIT(Just-In-Time) 컴파일로 최적화하며 실행합니다.

1
작성 .java 소스 코드 작성
2
컴파일 javac가 .class(바이트코드) 생성
3
실행 JVM이 로딩/검증 후 실행
4
최적화 핫 코드(자주 실행되는 코드)를 JIT로 네이티브 변환
특징
Java가 서버 개발에서 자주 선택되는 이유

👍 GOOD

  • 강한 타입 시스템: 컴파일 단계에서 오류를 많이 잡아줌
  • 성숙한 생태계: Spring, JPA, 다양한 오픈소스/툴
  • 운영 친화적: GC/스레드/힙 분석 도구가 풍부
  • 멀티스레드: 서버 동시성 처리에 강점
  • LTS 중심: 장기 지원 버전으로 운영 안정성 확보

👎 BAD (주의할 점)

  • JVM 튜닝/GC 개념이 없으면 지연 스파이크 원인을 놓치기 쉬움
  • 빌드/의존성(Gradle/Maven) 복잡도 관리가 필요
  • 객체 생성 남발 → GC 압박으로 성능 저하 가능
실전 예시
자바를 “플랫폼”으로 느끼게 되는 순간들
상황 예시 왜 중요한가
대규모 트래픽 Spring Boot API 스레드/커넥션/GC 관리가 성능을 좌우
장애 분석 스레드 덤프 교착/락 경합/대기 원인을 “근거”로 찾을 수 있음
성능 최적화 GC 튜닝 지연 안정성(p95/p99) 개선에 직접 영향

💡 TIP / 참고사항

Java로 백엔드를 한다면, “문법”보다 먼저 익혀야 하는 건 보통 이 3가지입니다.
(1) 컬렉션/스트림 같은 표준 라이브러리 사용법, (2) 예외 처리, (3) JVM/GC 기본
이 3개만 갖춰도 실무 코드 품질과 문제 해결 속도가 확 올라갑니다.

 

✅ 핵심 요약

  • ✔️ Java는 객체지향 기반이며, 결과물이 바이트코드로 JVM에서 실행되는 언어/플랫폼이다.
  • ✔️ 서버 실무에서 강점은 성숙한 생태계 + 운영/관측 도구 + 안정성이다.
  • ✔️ 단순 문법을 넘어 JDK/JVM/표준 라이브러리까지 이해하면 “성능/장애” 대응력이 커진다.
728x90