인프런 커뮤니티 질문&답변

Gabriel님의 프로필 이미지
Gabriel

작성한 질문수

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

자바란?

이종간 OS 클래스 문의

해결된 질문

작성

·

1.4K

·

수정됨

1

안녕하세요. 영한쌤.

개발자 PC 윈도우에서 컴파일한 클래스가 유닉스에서 안돌아가는 경험을 한 적이 있는데 java1.5 PC 윈도우, java1.5 서버 유닉스최근 버전 자바에서는 class파일이 이종간 OS도 지원할까요? 아니면, 제환경이 문제가 있었을까요? 오래된 기억이라 동일한 자바 버전이었는지 기억이 안나네요.

좋은 강의 정말 감사합니다.저도 해봐야겠네요 ^^

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. Gabriel님

  1. 자바의 플랫폼 독립성: 자바는 "한 번 작성하면 어디서나 실행된다(Write Once, Run Anywhere)"라는 슬로건으로 유명합니다. 이는 자바 애플리케이션이 자바 가상 머신(JVM) 위에서 실행되므로, JVM이 설치된 모든 운영 체제에서 동일하게 동작할 수 있다는 의미입니다. 따라서, 이론적으로는 윈도우에서 컴파일된 자바 클래스 파일은 유닉스 시스템의 JVM에서도 문제없이 실행될 수 있습니다.

     

  2. 자바 버전의 호환성: Gabriel님이 경험한 문제는 자바의 버전 차이에서 비롯될 수 있습니다. 예를 들어, 자바 1.5에서 컴파일된 클래스 파일은 자바 1.5 또는 그 이후 버전의 JVM에서 실행될 수 있지만, 더 낮은 버전의 JVM에서는 실행되지 않습니다. 또한, 자바의 특정 버전들 사이에서는 호환성 문제가 발생할 수도 있습니다.

  3. 환경 설정 문제: 자바 애플리케이션 실행 시 클래스 패스, 라이브러리 의존성, 시스템의 환경 변수 설정 등이 올바르게 설정되어 있지 않으면 문제가 발생할 수 있습니다. 이런 설정들은 운영 체제 간에 차이가 있을 수 있으며, 이로 인해 유닉스 시스템에서 문제가 발생했을 수 있습니다.

  4. 최근 버전의 자바: 최근 버전의 자바 (예: 자바 8 이후)는 이전 버전들보다 향상된 호환성과 성능을 제공합니다. 따라서, 최신 버전의 자바를 사용하면 이전에 경험했던 호환성 문제를 해결할 수 있을 가능성이 높습니다.

정리하자면 자바는 원칙적으로 플랫폼 독립성을 보장합니다. 하지만 사람이 하는 일이다 보니 가끔 문제가 있을 수도 있겠지요? Gabriel님께서 겪으셨던 문제는 자바 버전의 차이, 환경 설정의 문제, 또는 둘의 조합일 수 있습니다.

감사합니다.

Gabriel님의 프로필 이미지
Gabriel
질문자

네, 영한쌤 감사합니다.

항상 건강하십시오.

실제 테스트한 결과 공유드립니다.

image

image

Gabriel님의 프로필 이미지
Gabriel

작성한 질문수

질문하기