Newsgroup: it.comp.java
Titolo: Peso del JRE

Ciao a tutti
Ragazzi, ho scaricato dal sito della Sun l'ultima JRE (Peso circa 18
MB) Ho installato il .bin per linux.
Una volta dato
chmod +x jre-6-linux-i586.bin
e poi
./jre-6-linux-i586.bin
il JRE si è installato nella directory....ora andando a vedere il peso
della directory(jre1.6.0), risulta di 94.1 MB ????????????? Accidenti
vabbè che il file è: Linux self-extracting file
Come diavolo è possibile? Qui tocca comprire in .bin altro che .zip :D
GRAZIE

 Qui tocca comprire in .bin altro che .zip :D
bin non è un formato di compressione. E' una estensione che indica,
convenzionalmente, che il file è binario eseguibile.


SI ma se si scompatta come fa poi a pesare 5 volte di più??
Mi pare come se fosse uno .ZIP estremo :D


Non capisco... Vorresti forse un file compresso più pesante da
scaricare? Io no.
Normalmente i file binari sono poco comprimibili, questo potrebbe
voler dire
a) che zip è un grande algoritmo
b) che la jre ha ridondanza e potrebbe essere ottimizzata
c) altro ancora.
Saludos
Adriano


poco comprimibili???
scaricato 18 MB
installato 94 MB       :D
Non voglio scaricare più robba è solo una curiosità

 installato 94 MB       :D
Appunto, i file binari _normalmente_ sono poco comprimibili, proprio
perchè l'uso di file binari è normalmente orientato a mettere più
informazione in meno spazio che quello che occupa il testo semplice. 5
volte _non_ mi pare normale.
Saludos
Adriano

 writes:
D> il JRE si è installato nella directory....ora andando a vedere il
D> peso della directory(jre1.6.0), risulta di 94.1 MB ?????????????
D> Accidenti vabbè che il file è: Linux self-extracting file
D> Come diavolo è possibile? Qui tocca comprire in .bin altro che .zip
D> :D
In Linux e Unix le estensioni c'entrano poco, sono solo per noi umani.
JRE viene distribuito come  uno zip+programma di decompressione. Non è
che contiene sorgenti e documentazione ?
Altra causa: gli eseguibili potrebbero essere farciti di informazioni
per il debugger (comprimibili)
/*
 * Gli eseguibili di solito hanno abbastanza ridondanza da rendere la
 * compressione sensata. Non ha invece senso comprimere immagini nei
 * formati GIF, JPEG e PNG e gli altri che applicano già una
 * compressione. 
 */
-- 
 /\           ___
/___/\_|_|\_|__|___Gian Uberto Lauri_____
  //--\| | \|  |   Integralista GNUslamico
\/                 e coltivatore diretto di Software

 wrote:

No no ho scaricato il file dalla Sun...forse non mi sono spiegato
bene...
Quando faccio il download il file .bin pesa poco (18 MB) solamente
quando lo eseguo alla fine andrà a pesare 94 MB non riesco a capire il
motivo!!

 motivo!!
perhce' il bin che tu hai scaricato e': bin = exe + zip.
l'exe e' la parte che permette l'estrazione anche se non ci sono dei
programmi esterni per scompattare.
lo zip contiene la tua jre, quindi la vm, le librerie (in jar), la
doc, ecc. che e' roba che si puo' comprimere.
Ciao Jack


Quindi ragazzi, ammettiamo che voglia distribuire la JRE con il mio
programma (.jar) posso togliere cose che non servono per l'esecuzione
di programmi java? (timo manuale etc etc)??
Scusatemi però, ma ho provato a fare uno .zip di tutto quello che è
venuto fuori dal .bin è lo zip pesa 32.8 MB quindi è impossibile che
il .bin contenga uno .zip!!! pesava solo 18 mb

 writes:
D> No no ho scaricato il file dalla Sun...forse non mi sono spiegato
D> bene...
Lo avevo ben  capito, sul sito di Sun lo >  JRE viene distribuito come
uno zip+programma di decompressione. ripeto, nella directory non è che
contiene sorgenti e documentazione ?
D>  Quando faccio il download il file .bin pesa poco (18 MB)
D> solamente quando lo eseguo alla fine andrà a pesare 94 MB non
D> riesco a capire il motivo!!
E`   un   file  compresso,   come   ho   detto,  oltre   all'eventuale
documentazione,  c'è da considerare  che tutti  gli eseguibili  a naso
sono gonfi di informazioni di debug.


 writes:
D> Quindi ragazzi, ammettiamo che voglia distribuire la JRE con il mio
D> programma (.jar) posso togliere cose che non servono per
D> l'esecuzione di programmi java?
Non  credo con  la  licenza corrente.  Non  mi pare  tu possa  proprio
redistribuirlo.
Quando sarà rilasciato  sotto GNU GPL dovrai in ogni  caso per lo meno
indicare dove  prelevare la versione completa coi  sorgenti e/o essere
disponibile a fornirla.
Rimane comunque una CATTIVA idea.


 wrote:

Ma scusami, io non modifico nulla, imposto solamente il file che il
cliente devo installare per far girare lo .jar

 di programmi java? (timo manuale etc etc)??
quello che puoi fare c'e' scritto nel readme.txt allegato al jre

 writes:
D> Ma scusami, io non modifico nulla, imposto solamente il file che il
D> cliente devo installare per far girare lo .jar
Non puoi redistribuire Java con la licenza attuale, è il problema che 
hanno molte distribuzioni Linux e che viene usualmente risolto o con
un accordo con Sun o con un metapacchetto.
In ogni caso è meglio che ciascun utente abbia tutto lo JRE (anche se
non andrei in produzione con la 6...)


 wrote:

scusami se faccio un cd con lo jre perchè se l'utente non ha internet
non può scaricarselo faccio un reato???????????

 di programmi java? (timo manuale etc etc)??
Nel readme allegato al mio jre trovo scritto:
Runtime Environment:
To run your application, a user needs the Java SE Runtime Environment,
which is freely available from Sun. Or, you can redistribute the
Java SE Runtime Environment for free with your application, according
to the terms of the Runtime Environment's license.
e poco oltre
Redistribution of the Java SE Runtime Environment (JRE)
The files that make up the Java SE Runtime Environment are divided into
two categories: required and optional.  Optional files may be excluded
from redistributions of the Java SE Runtime Environment at the
vendor's discretion.
con a seguire tutto l'elenco dei file e delle directory che possono eventualmente essere escluse dalla redistribuzione.
Quindi, leggi per bene e regolati di conseguenza :P
Saluti
CarMas

 ha scritto nel messaggio

Perfetto, ne ero sicuro che si potesse fare! Sarebbe stato impossibile
un ragionamento inverso...
si ora mi documento meglio.

 non può scaricarselo faccio un reato???????????
Circa, violi la licenza della Sun. Che sia un reato o meno dipende
dalla legalità della licenza nel paese dove vendi o distribuisci il
software. L'utente può sempre chiedere alla Sun l'invio di un CD con
la JRE, suppongo (no, so che non ti piace, ma è una possibilità).
Saludos
Adriano

 sono gonfi di informazioni di debug.
Si, ma un'algoritmo "normale" di compressione-decompressione quanto
può eliminare di informazioni di debug?
Saludos
Adriano

 Adriano
Pardon, mi correggo. Come altri hanno detto, saresti in violazione
della licenza se nel redistribuire non segui le guide indicate in
essa. Cioè, è possibile redistribuire il JRE, ma non puoi fare "certe
cose".
Saludos
Adriano

 ha scritto nel messaggio

Perfetto, ne ero sicuro che si potesse fare! Sarebbe stato impossibile



ragazzi devo solamente mettere nel cd dove stà il .jar (la mia
applicazione) anche la JRE, non modifico nulla solamente le cose
"opzionali" riportate nel Readme..
Oltretutto è un programma gratuito al 100%

> sono gonfi di informazioni di debug.
AVP> Si, ma un'algoritmo "normale" di compressione-decompressione
AVP> quanto può eliminare di informazioni di debug?
Dipende da quanta ce n'è nel file eseguibile. È spaventoso quello
che fa strip sugli eseguibili :)
E, di nuovo, è UNA delle cause delle dimensioni.


 writes:
D> scusami se faccio un cd con lo jre perchè se l'utente non ha
D> internet non può scaricarselo faccio un reato???????????
Perdonami sono con la testa altrove (risolvere [... omissis ...]).
I problemi credo fossero col JDK.


 può eliminare di informazioni di debug?
C'e` da fare una precisazione: il .bin distribuito da Sun non e` altro
che una concatenazione di uno script e di un file compresso (di solito
si usa gzip o, al massimo, bzip2). E` una pratica comune sotto gli
ambienti *nix per la distribuzione del software
Enrico

 Mi pare come se fosse uno .ZIP estremo :D
Considera questo: qualche tempo fa' ho compresso un file di testo di 1Gb
e rotti in uno zip di 7Mb (si, SETTE MEGABYTE). Gli algoritmi di
compressione sono fatti in maniera tale da ridurre a non piu` di una
occorrenza di tutte le parti ridondanti di un file (o, almeno, questa e`
la spiegazione spannometrica e maccheronica che io posso darti)
Enrico

 Oltretutto è un programma gratuito al 100%
Che sia gratuito non c'entra nulla, se Sun dice che non puo` essere
redistribuito se non tramite il download dal sito di Sun stessa, tutti
gli altri metodi di redistribuzione sono una comprovata violazione della
licenza
Enrico