问题 如何从外部java程序
检查Ubuntu 16.04操作系统上安装的java是32位还是64位我的研究 -
1)我使用uname -a命令检查了我的Ubuntu架构,显示它是64位
Linux jalaj-SVF14212SNB 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
2)我检查了在给定路径中安装的java版本 java -XshowSettings:all
VM settings:
Max. Heap Size (Estimated): 853.50M
Ergonomics Machine Class: server
Using VM: Java HotSpot(TM) Server VM
Property settings:
awt.toolkit = sun.awt.X11.XToolkit
file.encoding = UTF-8
file.encoding.pkg = sun.io
file.separator = /
java.awt.graphicsenv = sun.awt.X11GraphicsEnvironment
java.awt.printerjob = sun.print.PSPrinterJob
java.class.path = /home/jalaj/Java/jdk1.7.0_80/bin
/home/jalaj/Java/jdk1.7.0_80/jre/bin
JAVA_HOME/lin
.
java.class.version = 51.0
java.endorsed.dirs = /home/jalaj/Java/jdk1.7.0_80/jre/lib/endorsed
java.ext.dirs = /home/jalaj/Java/jdk1.7.0_80/jre/lib/ext
/usr/java/packages/lib/ext
java.home = /home/jalaj/Java/jdk1.7.0_80/jre
java.io.tmpdir = /tmp
java.library.path = /usr/java/packages/lib/i386
/lib
/usr/lib
java.runtime.name = Java(TM) SE Runtime Environment
java.runtime.version = 1.7.0_80-b15
java.specification.name = Java Platform API Specification
java.specification.vendor = Oracle Corporation
java.specification.version = 1.7
java.vendor = Oracle Corporation
java.vendor.url = http://java.oracle.com/
java.vendor.url.bug = http://bugreport.sun.com/bugreport/
java.version = 1.7.0_80
java.vm.info = mixed mode
java.vm.name = Java HotSpot(TM) Server VM
java.vm.specification.name = Java Virtual Machine Specification
java.vm.specification.vendor = Oracle Corporation
java.vm.specification.version = 1.7
java.vm.vendor = Oracle Corporation
java.vm.version = 24.80-b11
line.separator = \n
os.arch = i386 os.name = Linux
os.version = 4.4.0-31-generic
path.separator = :
sun.arch.data.model = 32
sun.boot.class.path = /home/jalaj/Java/jdk1.7.0_80/jre/lib/resources.jar
/home/jalaj/Java/jdk1.7.0_80/jre/lib/rt.jar
/home/jalaj/Java/jdk1.7.0_80/jre/lib/sunrsasign.jar
/home/jalaj/Java/jdk1.7.0_80/jre/lib/jsse.jar
/home/jalaj/Java/jdk1.7.0_80/jre/lib/jce.jar
/home/jalaj/Java/jdk1.7.0_80/jre/lib/charsets.jar
/home/jalaj/Java/jdk1.7.0_80/jre/lib/jfr.jar
/home/jalaj/Java/jdk1.7.0_80/jre/classes
sun.boot.library.path = /home/jalaj/Java/jdk1.7.0_80/jre/lib/i386
sun.cpu.endian = little
sun.cpu.isalist =
sun.desktop = gnome
sun.io.unicode.encoding = UnicodeLittle
sun.java.launcher = SUN_STANDARD
sun.jnu.encoding = UTF-8
sun.management.compiler = HotSpot Tiered Compilers
sun.os.patch.level = unknown
user.country = IN
user.dir = /home/jalaj/Downloads
user.home = /home/jalaj
user.language = en
user.name = jalaj
user.timezone =
Locale settings:
default locale = English
default display locale = English (India)
default format locale = English (India)
available locales = ar, ar_AE, ar_BH, ar_DZ, ar_EG, ar_IQ, ar_JO, ar_KW,
ar_LB, ar_LY, ar_MA, ar_OM, ar_QA, ar_SA, ar_SD, ar_SY,
ar_TN, ar_YE, be, be_BY, bg, bg_BG, ca, ca_ES,
cs, cs_CZ, da, da_DK, de, de_AT, de_CH, de_DE,
de_LU, el, el_CY, el_GR, en, en_AU, en_CA, en_GB,
en_IE, en_IN, en_MT, en_NZ, en_PH, en_SG, en_US, en_ZA,
es, es_AR, es_BO, es_CL, es_CO, es_CR, es_DO, es_EC,
es_ES, es_GT, es_HN, es_MX, es_NI, es_PA, es_PE, es_PR,
es_PY, es_SV, es_US, es_UY, es_VE, et, et_EE, fi,
fi_FI, fr, fr_BE, fr_CA, fr_CH, fr_FR, fr_LU, ga,
ga_IE, hi_IN, hr, hr_HR, hu, hu_HU, in, in_ID,
is, is_IS, it, it_CH, it_IT, iw, iw_IL, ja,
ja_JP, ja_JP_JP_#u-ca-japanese, ko, ko_KR, lt, lt_LT, lv, lv_LV,
mk, mk_MK, ms, ms_MY, mt, mt_MT, nl, nl_BE,
nl_NL, no, no_NO, no_NO_NY, pl, pl_PL, pt, pt_BR,
pt_PT, ro, ro_RO, ru, ru_RU, sk, sk_SK, sl,
sl_SI, sq, sq_AL, sr, sr_BA, sr_BA_#Latn, sr_CS, sr_ME,
sr_ME_#Latn, sr_RS, sr_RS_#Latn, sr__#Latn, sv, sv_SE, th, th_TH,
th_TH_TH_#u-nu-thai, tr, tr_TR, uk, uk_UA, vi, vi_VN, zh,
zh_CN, zh_HK, zh_SG, zh_TW
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-d32 use a 32-bit data model if available
-d64 use a 64-bit data model if available
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is server,
because you are running on a server-class machine.
-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A : separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose:[class|gc|jni]
enable verbose output
-version print product version and exit
-version:<value>
require the specified version to run
-showversion print product version and continue
-jre-restrict-search | -no-jre-restrict-search
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions with specified granularity
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions with specified granularity
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g. -agentlib:hprof
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see java.lang.instrument
-splash:<imagepath>
show splash screen with specified image
See http://www.oracle.com/technetwork/java/javase/documentation/index.html for more details.
从上面的命令可以清楚地看到我们在32位操作系统上使用32位jre。 虽然,第一和第二点矛盾。
3) 另外,下面是我执行java:
时得到的输出/home/jalaj/Java/jdk1.7.0_80/bin/java
任何人都可以指导如何在给定的操作系统上正确安装java 以及它是32位还是64位。
答案 0 :(得分:1)
如果您想知道JVM是32 bit
还是64 bit
风格,而不运行JVM,您可能会检查java
二进制文件的体系结构。
检查基于java
环境变量找到的PATH
二进制文件
file -L `which java`
64位和32位二进制的样本输出
/usr/bin/java: ELF 64-bit LSB executable, ...
/usr/bin/java: ELF 32-bit LSB executable, ...
检查特定目录中的二进制文件
file -L /path/to/jre/java
获取预期的Oracle JDK检查Java SE Development Kit 8 Downloads
获取预期的Oracle JRE检查Java SE Runtime Environment 8 Downloads
获取Ubuntu的预期OpenJDK版本(来自http://openjdk.java.net/install/的指令)
sudo apt-get install openjdk-8-jre