Passa ai contenuti principali

Java System Properties

La JVM di Java permette di accedere a delle informazioni di sistema, attraverso dei metodi statici della classe System. Tra tutti i valori quelli più usati sono quelli del separatore di linea (l' "a capo" per intenderci) e di percorso file ("\" o "/"). Linux, Windows e Mac hanno diverse convenzioni per questi parametri e per rendere un programma veramente portabile è necessario avvalersi di questa possibilità.
Per esempio per avere il separatore di linea basta il comando
String tmp = java.lang.System.getProperty("line.separator");
Tutto è reperibile nelle API di Java, ma per pigrizia li riporto qui sotto in tabella
ChiaviDescrizione
java.versionversione della Java Runtime Environment
java.vendorvendor della Java Runtime Environment (es. Sun Microsystems Inc.)
java.vendor.urlURL del vendor
java.homedirectory di installazione di Java
java.vm.specification.versionversione della Java Virtual Machine
java.vm.specification.vendorspecification della Java Virtual Machiner
java.vm.specification.namenome della specification Java Virtual Machine
java.vm.versionversione di sviluppo della Java Virtual Machine
java.vm.vendorvendor di sviluppo della Java Virtual Machine
java.vm.namenome della implementazione della Java Virtual Machine
java.specification.versionversione della Java Runtime Environment
java.specification.vendorvendor della Java Runtime Environment
java.specification.namenome della Java Runtime Environment
java.class.versionversione Java class format
java.class.pathpath dei class Java
java.library.pathlista dei path
java.io.tmpdirpath del file temporaneo di default
java.compilernome del compilatore JIT
java.ext.dirspath delle directory delle estenzioni
os.namenome dell'OS, sistema operativo
os.archnome dell'architettura del sistema operativo (386,486,x86...)
os.versionversione del sistema operativo
file.separatorseparatore del percorso dei file ("/" per Linux, "\" per Windows)
path.separatorseparatore del path (":" in Linux, ";" per Windows)
line.separatorseparatore di linea ("\n" in Linux)
user.namenome dell'utente
user.homedirectory home dell'utente
user.dirdirectory di lavoro corrente
Ecco un esempio di output con un programma di test:
1.6.0_02
Sun Microsystems Inc.
http://java.sun.com/
C:\Programmi\Java\jdk1.6.0_02\jre
1.0
Sun Microsystems Inc.
Java Virtual Machine Specification
1.6.0_02-b06
Sun Microsystems Inc.
Java HotSpot(TM) Client VM
1.6
Sun Microsystems Inc.
Java Platform API Specification
50.0
.
C:\Programmi\Java\jdk1.6.0_02\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;
C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
C:\DOCUME~1\stnit006\IMPOST~1\Temp\
null
C:\Programmi\Java\jdk1.6.0_02\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
Windows XP
x86
5.1
\
;

stnit006
C:\Documents and Settings\stnit006
C:\Programmi\Java\jdk1.6.0_02\bin

Post popolari in questo blog

Se excel non aggiorna le formule

Oggi in ufficio è capitata una richiesta particolare. In un documento excel dopo aver eseguito un copia-incolla di una formula non si aggiornavano i risultati nelle celle interessate. Dopo attimi di perplessità dal fondo dell'ufficio il capo ci illumina con una funzione ai più sconosciuta e che ha risolto il problema: il tasto F9. Scusate la mia ignoranza in excel ma questo blog è pensato proprio per appuntare esperienze di vita informatica. Tutto sta nel fatto che i "calcolatori d'un tempo" non disponevano di una adeguata potenza di calcolo e nelle operazioni di copia-incolla si verificavano lunghe attese per l'aggiornamento. La soluzione adottata da MS è stata quella di inserire un'opzione per impedire l'aggiornamento automatico e forzarlo con una combinazione di tasti... il tasto F9!
Combinazioni utili per il calcolo delle formule F9 = calcola le formule modificate dall'ultimo calcolo in tutte le cartelle e fogli di lavoro aperte. MAIUSC + F9 = c…

Riflessioni sull'ordinamento

Gli algoritmi di ordinamento sono da sempre i più gettonati e interessanti dal punto di vista didattico (si veda la complessità computazionale) e funzionale (quasi tutti i programmi hanno almeno una funzione di ricerca). Proprio di questi giorni sono alcuni articoli di Programmazione.it dedicati a questo tema (link).Coding Horror in questo articolo presenta una provocazione molto interessante al di là delle opinioni personali:

The default sort functions in almost every programming language are poorly
suited for human consumption.
L'articolo pone l'attenzione sulla differenza tra l'ordinamento alfanumerico e quello ASCII solitamente usato nei metodi nativi dei linguaggi. Il discorso si ampia se poi pensiamo banalmente alla differenza tra Windows e GNU/Linux che è case sensitive.
Spesso i sistemi operativi e i linguaggi di programmazione realizzano ordinamenti rispettando l'ordine della tabella di codifica ASCII e non l'ordinamento naturale della lingua. I commenti a se…

Timeline dei Linguaggi di programmazione

O'Reilly ha reso disponibile per tutti gli appassionati un interessante poster in formato pdf in cui vengono riassunti 50 anni di storia dei linguaggi di programmazione.Il poster mostra una timeline colorata nella quale sono evidenziate le principali derivazioni tra i vari linguaggi... da vedere
http://www.oreilly.com/news/graphics/prog_lang_poster.pdf



fonte programmazione.it