Bom dia pessoal do Java Portal. :lol:
Como voces vem, sou novo tanto em Java quanto aqui no forum.
Vou lançar minha primeira questão:
Eu estou lendo o livro do Deitel 4ed, e observei que mesmo os simples códigos do tipo hello world oucupam muita memória quando executam em torno de 11-13 MB. Ja tentei executar de varias formas como:
-Interpretando o programa com o comando java ou javaw
-Executando direto do JBuilder
-Transformando em .exe e .jar
Sempre o mesmo resultado 11-13MB oucupa o processo.
Minha config é:
WindowsXP/SP1;AthlonXP2200;768MBRam.
OBS. Eu fiz um recente upgrade de 256MB para mais 512MB chegando nos 768MB atuais. Eu não tinha observado antes quanta memória o processo alocava. Existe alguma relação com a quantidade de memória do sistema e quanto o processo oucupa ou é fixo?
É isso aí mesmo… Não tem relação entre quantidade de memória e quanto java usa… O problema é que, por ser interpretada, o código é praticamente compilado em tempo de execução. Leve em conta aí, todas as checagem de hardware, memória livre, (que qualquer compilador faz) e além desses comuns, a checagem de sistema operacional, o carregamento da classe referente aquele sistema, etc, etc etc…
Resumindo: Não tem como fugir não… :???: É isso aí mesmo…
F
Fabio_MendesPJ
Corrija se eu estiver errado.
Quando eu crio um .exe ele deixa de ser interpretado pelo java certo? :???:
M
morcegaoPJ
Er… Não exatamente…
Você tem que entrar com o java pra dentro do exe, o que acarreta num arquivo relativamente grande e nada eficaz… Você não acredita que foi desenvolvido um compilador de java pra gerar exe dentro do JBuilder, acha? Eu não sei, mas acredito que não… O que acredito que tenham feito é pego o código fonte do java e colocaram ele dentro do executável de alguma forma…
Lá dentro do executável, ele chama a interpretação do java (que, acredito eu, deve estar dentro do executável).
Att
B
BrossiPJ
“morcegao”:
Er… Não exatamente…
Você tem que entrar com o java pra dentro do exe, o que acarreta num arquivo relativamente grande e nada eficaz… Você não acredita que foi desenvolvido um compilador de java pra gerar exe dentro do JBuilder, acha? Eu não sei, mas acredito que não… O que acredito que tenham feito é pego o código fonte do java e colocaram ele dentro do executável de alguma forma…
Lá dentro do executável, ele chama a interpretação do java (que, acredito eu, deve estar dentro do executável).
Att
Concordo com o morcegão. Esse .exe é uma espécie de .bat …
é apenas uma chamada ! .exe e java não combinam !!! hihihi
N
NetKPJ
Naum… Acerdito que vc deva esta trabaahando com o jBuilder… o no wizard permite criar exe… o Exe que o Builder gera naum e nada mais do que um similar há um Script de bat… ele ainda necessita da JVM para rodar…
Abraço Kanji Hara Neto
F
Fabio_MendesPJ
Observei uma coisa.
Quando eu executo o .jar o processo que aparece no gerenciador de tarefas do WinXP é o javaw.exe.
Quando eu executo o .exe que eu criei utilizando o JBuilder 10.0 o nome do processo é TesteW.exe (o nome do próprio aplicativo), e não existe nenhum processo java, ou javaw.
Isso não significa que ele não esta utilizando a JVM?
OBS. O nome da função que cria o .exe no JB é native executable (se eu não me ingano). Será que tem alguma relação?
R
rafaelsfPJ
Olá pessoal,
Mas e compilando através do GCJ ? Me parece que o GCJ compila arquivos java para código nativo dispensando o JRE.
Será que assim nao diminuiria o uso da memória?
Até +
Rafael S.
M
Marcelo_JavaPJ
cara SO e uma verdadeiro enigma e um pouco complicado de entender quem nunca viu, mas vamos tentar te explicar quando vc compilar um aplicação em java o que acontece primeiro o processador importa todos os comandos necessario do java javac " que e pessado" e os outros que forem necessario copia codigo para memoria depois gera o .class isso tudo na pobre da memoria que já ta carregado um monte de coisa… e cara ela tem q importar classe e bem obvio ou seja ela usa + memoria… por exemplo ela ta executando uma variavel que precisa de atribuição para tudo deixa na memoria e executar somente o processo de inicialização rola mt mt coisa e se tiver banco nossa matou aplicação
Sabemos que java e pesado por natureza evolui bastante mas tá pessado ainda, so falamos em memoria n falamos em enviar para processador falos mt coisa
Independente de vc criar um jar … vai da no mesmo jar so e um Zip da vida…
blz n expliquei mt se n iria te confundir… espero ter te ajudado