c는 어느정도해서 자바공부하고있거든요 어제부터 시작했는데 개념이잘안잡혀서... *.java 소스를 jdk가 컴파일해서 *.class를 만들고 플렛폼에 종속적인 jvm(그러니까 윈도우면 윈도우용 jvm, 리눅스면 리눅스용 jvm) 이 바이트코드를 해석한다? 맞나요? 그럼 만약에 제가 리눅스에서 만든 *.class를 윈도우용 jvm에서 해석할수있나요? 그 반대경우도? 개념잡는데 도움주시면 감사하겠습니다
c는 어느정도해서 자바공부하고있거든요 어제부터 시작했는데 개념이잘안잡혀서... *.java 소스를 jdk가 컴파일해서 *.class를 만들고 플렛폼에 종속적인 jvm(그러니까 윈도우면 윈도우용 jvm, 리눅스면 리눅스용 jvm) 이 바이트코드를 해석한다? 맞나요? 그럼 만약에 제가 리눅스에서 만든 *.class를 윈도우용 jvm에서 해석할수있나요? 그 반대경우도? 개념잡는데 도움주시면 감사하겠습니다
아니되는 줄로 아오... 리눅스에서 짠 프로그램을 윈도우에서 다시 컴파일 해주면 되겠소.
java의 호환성은 소스차우너에서 이야기지 바이트코드로 넘어오면 이야기가 달라진다는 말이군요...
뭔소리 하는지.. 시스템이 달라질때 마다 컴파일한다고? 자바가 무슨 C같은 네이티브 언어냐? 응? 한번 컴파일 하면 어디서든 VM만 깔려있으면 똑같이 동작한다..
C나 네이티브 언어로 작성된 프로그램의 실행파일은 01010110101.. 같이 bit 단위로 처리되나.. 자바는 ByteCode.. 중간코드 같은 형태를 취하고 있어서 System에 로드될때 010101.. 형태의 Object Code로 바뀐다오.. 한마디로 다이나믹 하지.. 환경에 맞게 그때그때 코드를 맵핑하는 방식이니..
시스템에 상관없이 해석되네요 방금 테스트 해봤습니다;; 답변님들 감사
미안하게 됐소. JAVA는 늘 사용하지만 한 System에서만 사용해서... 허허
Jasin.이 말이 맞어. 그게 자바의 장점이자 단점이야.
here4you 이 말이 맞어. 그게 자바의 장점이자 단점이야.
자바의 모토중에 한번 만들고 존내 여러군데서 울궈 먹을수가 있다라고 써 있을 텐디.... 그리고 앤간한 책에 잘나와 있는 얘기일텐데...
실행할때는 os 환경따라 다른게 좀 있어. 훃아가 경험이 좀있어. 그래도 cross platform 에서 그정도면 칭찬해줄만한고얌. 주의해서 작성하믄 되