Anúncio

Collapse
No announcement yet.

Perguntas BÁSICAS

Collapse
X
  • Filtrar
  • Hora
  • Mostrar
Limpar Tudo
new posts
  • TMB
    • 25/02/07
    • 6

    Perguntas BÁSICAS

    Pessoal,

    São perguntas básicas, mas eu tenho que fazer.

    1. Todo programa em Java exige uma máquina virtual Java instalada no computador da aplicação?

    2. Digamos que eu tenha visto um software qualquer na internet, por exemplo um browser, feito em Java e disponível para download.

    Pergunto: aquele arquivo que eu vou baixar já está compilado para a minha plataforma, certo? E, se o arquivo de instalação do programa escrito em java já está no formato da minha plataforma, pra que serve o ByteCode? E como é essa tal interpretação do bytecode? Ela (a interpretação) é feita por quem e em quais circunstâncias?

    Puxa, quantas dúvidas. Tomara que vcs me ajudem.

    E desculpem o nível das questões.

    Abraços.
  • XingLing
    • 27/11/06
    • 144

    #2
    TMB vou tentar responder,

    1. Não necessariamente, o compilador GCJ (http://gcc.gnu.org/java/), por exemplo, pode gerar diretamente código de máquina, a partir de código Java ou bytecode JVM (Java Virtual Machine), para uma variedade de plataformas. Neste caso, o binário será dependente de plataforma (não necessitará de uma máquina virtual Java). Mas isto não é comum, o mais comum é o código Java ser compilado para bytecode JVM.

    2. Se o software tiver sido compilado para bytecode JVM ele executará em uma máquina virtual Java, portanto o bytecode JVM poderá ser executado em qualquer plataforma onde houver uma JVM instalada. O bytecode JVM é, portanto, um código binário intermediário, o qual será interpretado pela máquina virtual Java ao invés de diretamente pelo processador da plataforma.

    Espero ter ajudado,

    XingLing

    Comentário

    • TMB
      • 25/02/07
      • 6

      #3
      Obrigado XingLing,

      Então, sempre quem faz a interpretação do bytecode é a máquina virtual java. Aliás, só há INTERPRETAÇÃO quando se trata de código compilado em binário intermediário, certo? Ou programas já compilados para uma determinada arquitetura (compilados em código de máquina para Windows, por exemplo) podem também ser interpretados?

      TMB.

      Comentário

      • XingLing
        • 27/11/06
        • 144

        #4
        * Se o código não estiver em código nativo da arquitetura então tem que, de alguma forma, ser interpretado.
        * Códigos nativos de alguma arquitetura podem ser executados em outras através de um programa comumente chamado de emulador. Neste caso, um programa pode ser executado em uma plataforma diferente daquela que foi originalmente concebido. Ao invés de o processador executar diretamente o programa, o emulador interpreta o código do programa. Assim, teoricamente, qualquer código pode ser executado em um emulador apropriado.

        De acordo com http://en.wikipedia.org/wiki/Interpreter_(computing): "In computer science the term interpreter is sometimes used instead of the term emulator".

        XingLing

        Comentário

        • TMB
          • 25/02/07
          • 6

          #5
          Valeu Xing,

          E por exemplo: um dia desses eu fui instalar um programa que baixei da internet e antes de fazer sua instalação propriamente, abriu-se uma caixa de diálogo dizendo que eu deveria instalar o Microsoft Framework .NET.

          Entendi, com isso, que aquele programa só rodaria se tivesse aquele framework. Mas pq? Qual o papel do framework no desenvolvimento (e depois na execução) do software?

          Olha, vc tem didática de professor, hein! E com minhas dúvidas bobas pelo visto vc tá aprendendo tbm. Foi até buscar uma fonte pra fundamentar a resposta. Brigado mesmo.

          Abraço.

          TMB

          Comentário

          • XingLing
            • 27/11/06
            • 144

            #6
            Valeu TMB! É sempre bom ajudar, a gente sempre aprende mais um pouco.

            O .NET é a resposta da Microsoft à tecnologia Java da Sun Microsystems (http://en.wikipedia.org/wiki/Java_%28Sun%29), veja que Java não se restringe apenas à linguagem de programação (http://en.wikipedia.org/wiki/Java_programming_language), há inúmeras ferramentas e bibliotecas em torno da linguagem em si.

            Sobre o .NET você pode obter mais informações em http://en.wikipedia.org/wiki/Microsoft_.NET_Framework, em especial veja o tópico ".NET vs. Java and the J2EE".

            Abraço

            XingLing

            Comentário


            Aguarde...
            X