자바에 관한 이해를 도와주세요...

kimh81의 이미지

자바라는것이 음.. 어떤 운영체제에서나 동작하는 그런 언어로 알고 있습니다.
좀더 제가 지금까지 이해한것으로 본다면.. 음.

익스플로러와 넷스케이프를 운영체제로 본다면..
html소스는 자바가 되겠죠..

이런식으로 생각을 하면.. 서버에서 클라이언트에 자바소스가
날라가서 클라이언트에서는.. 소스를 컴파일..이나 인터프린터해서
보여준다.. 이러면 시간이 오래 걸리겠죠.. ㅡㅡ;; 의미도 별로 없을듯..
그렇다면.. 컴파일해놓은게 아무 운영체제에서나 실행된다???
이것도 아닌가??
아~~~ 딩신..
자바에 개념을 이해시켜주십시오`

june8th의 이미지

java는 jvm 에서 돌아가도록 byte code로 compile하여 수행됩니다.
그리고, jvm은 보통 여러 운영체제에서 수행되는 application입니다.

상황에따라 여러 변형이 있지만, 기본적으로는 이게 답니다.

불량도ㅐㅈㅣ의 이미지

Quote:
익스플로러와 넷스케이프를 운영체제로 본다면..
html소스는 자바가 되겠죠..

예를 들었는게 뭔소리인지 모르겠네요.

아무튼 Java Virtual Machine(JVM)이 깔려져 있으면 어떤 OS이든지 돌아간다는 거죠. Sun의 주장에 의하면....

아주 완벽하게 돌아가지는 않습니다...OS마다 조금씩의 차이점은 존재하죠.

문근영 너무 귀여워~~

kimh81의 이미지

감사합니다. 잘봤네요.. ^^

zoonoo의 이미지

자 자바소스가 있습니다.(*.java파일)
이걸 컴파일을 합니다(보통 다른 언어와 같지요)
그러면 Byte코드라는게 만들어집니다.(*.class 파일)
이 자체는 아무것도 할수 없지만
JVM이 설치되어있는 시스템에선 Byte코드를 구동시킬수 있습니다.(java xx.class 라는 명령어로)
JVM이 Byte코드를 구동시킬라면 어짜피 또한번 컴파일이 되어야겠지요?
그래서 Byte코드가 실행시 바로 컴파일이 되면서 각 기계에 맞는 시스템코드로 바뀌로 실행이 됩니다.(Just In Time : JIT컴파일이라고 하죠)

따라서.
Linux에서 컴파일을 하건 Win32에서 컴파일을 하건 다 같은 ByteCode가 만들어지며.
한번 만들어진 ByteCode는 또 Linux건 Win32건 구동이 가능합니다.(JVM이 알아서 시스템에 맞게 JIT컴파일 하므로.

사실 100% 가능한건 아니고 약간씩의 차이가 있지만.
코딩을 잘 하면 거의 100%가깝에 호환이 됩니다.

멋지지 않습니까? ㅋㅋㅋ.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.