Windows Bat: Detect JVM is 32 or 64 bit

Find location of java.exe
To run a java application, we need to find the java path: we can use define our own environment variable like MYAPP__JAVA_HOME or use JAVA_HOME or JRE_HOME or we can use system default java.
The code looks like below:

Detect JVM is 32 or 64 bit
Afterwards, we may have to detect JVM is 32 or 64 bit, so we can set different jvm parameters according: for example, if it's 32 bit java, set -Xmx 2g; if it's 64 bit java, set -Xmx 4g.
if not "%MYAPP__JAVA_HOME%" == "" (
  set "CURRENY_JAVA_HOME=%CV_JAVA_HOME%"
) else (
 if not "%JAVA_HOME%" == "" (
  set "CURRENY_JAVA_HOME=%JAVA_HOME%"
 ) else (
  if not "%JRE_HOME%" == "" (
   set "CURRENY_JAVA_HOME=%JRE_HOME%"
  )
 }
)
set _RUNJAVA="%MYAPP__JAVA_HOME%\bin\java" 
 
To detect 32 or 64 bit java, the code looks like below:
set is64Java=false
java -version 2>&1 | findstr /i "64-Bit" 1>nul 2>&1
if %errorlevel% == 0 (
set is64Java=true
)
Plain old java -version reveals information about JVM bitness only if installed JRE is 64 bit, in case
of 32 bit JVM it doesn't provide any information related to architecture but in case of 64 bit JVM it
prints :
C:\>java -version
java version "1.6.0_25"
Java(TM) SE Runtime Environment (build 1.6.0_25-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.0-b11, mixed mode)

while in case of 32 bit JVM it will print
C:\> java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)

'java -version 2>&1 | findstr /i "64-Bit"' checks whether there is 64-Bit in java -version, if so, it means it's a 64 bit jdk, if not, it's a 32 bit jdk.

Resources
http://stackoverflow.com/questions/5675459/how-to-get-java-version-from-batch-script
http://javarevisited.blogspot.com/2012/01/find-jvm-is-32-or-64-bit-java-program.html
http://blogs.msdn.com/b/oldnewthing/archive/2012/07/31/10334556.aspx
Post a Comment

Labels

Java (159) Lucene-Solr (110) All (60) Interview (59) J2SE (53) Algorithm (37) Eclipse (35) Soft Skills (35) Code Example (31) Linux (26) JavaScript (23) Spring (22) Windows (22) Web Development (20) Tools (19) Nutch2 (18) Bugs (17) Debug (15) Defects (14) Text Mining (14) J2EE (13) Network (13) PowerShell (11) Chrome (9) Continuous Integration (9) How to (9) Learning code (9) Performance (9) UIMA (9) html (9) Design (8) Dynamic Languages (8) Http Client (8) Maven (8) Security (8) Trouble Shooting (8) bat (8) blogger (8) Big Data (7) Google (7) Guava (7) JSON (7) Problem Solving (7) ANT (6) Coding Skills (6) Database (6) Scala (6) Shell (6) css (6) Algorithm Series (5) Cache (5) IDE (5) Lesson Learned (5) Miscs (5) Programmer Skills (5) System Design (5) Tips (5) adsense (5) xml (5) AIX (4) Code Quality (4) GAE (4) Git (4) Good Programming Practices (4) Jackson (4) Memory Usage (4) OpenNLP (4) Project Managment (4) Python (4) Spark (4) Testing (4) ads (4) regular-expression (4) Android (3) Apache Spark (3) Become a Better You (3) Concurrency (3) Eclipse RCP (3) English (3) Firefox (3) Happy Hacking (3) IBM (3) J2SE Knowledge Series (3) JAX-RS (3) Jetty (3) Restful Web Service (3) Script (3) regex (3) seo (3) .Net (2) Android Studio (2) Apache (2) Apache Procrun (2) Architecture (2) Batch (2) Build (2) Building Scalable Web Sites (2) C# (2) C/C++ (2) CSV (2) Career (2) Cassandra (2) Distributed (2) Fiddler (2) Google Drive (2) Gson (2) Html Parser (2) Http (2) Image Tools (2) JQuery (2) Jersey (2) LDAP (2) Life (2) Logging (2) Software Issues (2) Storage (2) Text Search (2) xml parser (2) AOP (1) Application Design (1) AspectJ (1) Bit Operation (1) Chrome DevTools (1) Cloud (1) Codility (1) Data Mining (1) Data Structure (1) ExceptionUtils (1) Exif (1) Feature Request (1) FindBugs (1) Greasemonkey (1) HTML5 (1) Httpd (1) I18N (1) IBM Java Thread Dump Analyzer (1) JDK Source Code (1) JDK8 (1) JMX (1) Lazy Developer (1) Mac (1) Machine Learning (1) Mobile (1) My Plan for 2010 (1) Netbeans (1) Notes (1) Operating System (1) Perl (1) Problems (1) Product Architecture (1) Programming Life (1) Quality (1) Redhat (1) Redis (1) Review (1) RxJava (1) Solutions logs (1) Team Management (1) Thread Dump Analyzer (1) Troubleshooting (1) Visualization (1) boilerpipe (1) htm (1) ongoing (1) procrun (1) rss (1)

Popular Posts