In computer architecture, 64-bit computing is the use of processors that have datapath widths, integer size, and memory addresses widths of 64 bits (eight octets/bytes). Also, 64-bit CPU and ALU architectures are those that are based on registers, address buses, or data buses of that size.
From the software perspective, 64-bit computing means the use of code with 64-bit virtual memory addresses. Similarly, 32-bit computing, CPU or 32-bit programming uses 32 bits (four octets/bytes) for all above purposes.
If you go to java download page, it list down various installation packages mentioning 32-bit packages or 64-bit packages for various platforms such as Linux or windows. Many times we worry that what package we are eligible to download and install in our systems so that our java code runs fine? In this post, I will try to put some light on these different terms and also I will try to answer some obvious questions.