Jre 6 = 12mb?

17 respostas
renatosilva

É isso mesmo???

17 Respostas

Ironlynx

Instalada da quase 90, não?

T

12 MB é só o começo do instalador. O charsets.jar, por exemplo, ele sozinho já dá 6.670.189 bytes. rt.jar tem 46.014.333 bytes, e assim por diante.

renatosilva

Mas o instalador tem ~12MB, e antes tinha uns 50!

O que aconteceu? Me parece muito estranho isso…

Agora estou com medo de atualizar a máquina

renatosilva

Thingol? Então o instalador não está completo?

renatosilva

Rodei o instalador. Rápido demais, estranho.

T

Hum…

Ele não baixa mais algumas coisas da Sun? Que eu saiba, esse instalador (12MB) conecta-se com a Sun e baixa mais coisas, que dependem do que você já tem instalado na máquina. Não sei se ele tem uma mágica do tipo “Se você já tem uma versão anterior, baixe só a diferença entre elas”.

dudaskank

thingol:
Hum…

Ele não baixa mais algumas coisas da Sun? Que eu saiba, esse instalador (12MB) conecta-se com a Sun e baixa mais coisas, que dependem do que você já tem instalado na máquina. Não sei se ele tem uma mágica do tipo “Se você já tem uma versão anterior, baixe só a diferença entre elas”.

Bem, no site tá assim:

Esse offline não precisa de Internet. Talvez algum algoritmo de compactação novo, já que os anteriores eu estava vendo vem com 15 MB mais ou menos… mas eu achava mesmo que eles eram maiores :stuck_out_tongue:

wmitsuda

É isso mesmo, ele não baixa mais nada. É a mágica do pack200 :wink:

T

Nossa, é isso mesmo. O JRE é diferente do JDK nos seguintes quesitos:

  • Ele só manda a versão “client” da JVM - isso economiza 2.3MB;
  • O arquivo “classes.jsa” é montado pelo instalador (basicamente é um cache das classes para o recurso de “shared code” da JRE - isso elimina 12MB;
  • Ele não manda “charsets.jar” - isso economiza 6.5 MB;
  • “rt.jar” é recriado pela mágica do pack200;
  • e mais um monte de otimizações.
renatosilva

Poxa muito estranho isso, muito estranho mesmo. Pior que eu não sei usar o google pra pesquisar o porquê disso.

Ou esse novo compactador é uma revolução, ou é uma revolução a “limpa” que fizeram nessa nova versão.

Compactei a pasta com o Winzip e ficou com 23MB. O Java 1.4.2 tá com 15MB agora, eu jurava que há alguns tempos atrás era maior.

Será que antigamente os arquivos não eram compactados? É a única conclusão eu acho…

Eu vou deixar assim mesmo, se der pau deu :stuck_out_tongue:

renatosilva

Onde você leu isso thingol? O que é pack200???

Mauricio_Linhares

Sobre o pack200 -> http://wiki.eclipse.org/index.php/Pack200

T

pack200 é um algoritmo que a Sun criou para compactar arquivos .jar, contendo arquivos .class.

A idéia é a seguinte: arquivos .class sempre têm um monte de coisas redundantes. Se você puder remover essas coisas redundantes, e compactar todos os arquivos .class juntos (em vez de um de cada vez, como em um arquivo .zip), então você terá uma compactação melhor, mesmo usando um algoritmo tradicional como o usado no zlib.
Uma coisa chata é que o arquivo descompactado não é exatamente igual ao compactado (o que dá problemas na hora de assinar um .jar). Mas em termos de execução de código os arquivos (original e descompactado) são equivalentes.

Você também pode usar o pack200 - ele está disponível no diretório bin do JDK desde a versão 5.0.

wmitsuda

O pack200 é uma compactação destrutiva, projetada especificamente p/ arquivos .class.

Por isso o ganho é esse absurdo.

Grinvon

Pensei que esses 12mb seria referente a memória run-time.

renatosilva

?

roadhouse

é importante notar que JRE != JDK

o jre como disseram é so o ambiente pra rodar as aplicações já compiladas (é o que é usado pelo seu navegador para rodar applets)

e o jdk é o ambiente de desenvolvimento (com o nosso velho conhecido javac e afins)

Criado 24 de janeiro de 2007
Ultima resposta 26 de jan. de 2007
Respostas 17
Participantes 8