開心生活站

位置:首頁 > IT科技 > 

java,32bit

IT科技3.31W

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java 32bit是什麼,讓我們一起了解一下?

32Bit的意思是“32位操作系統”,我們的CPU從原來的8位,16位,到現在的32位和64位,cpu處理計算的時候“數據”和“指令”是不同對待的,32位的CPU就可以一次處理一個a=a+b這樣的命令了。

那麼java 32bit在使用中有哪些優缺點?

優點:簡化了軟件設計的複雜度。

缺點:硬件設計更加複雜,計算速度下降。

擴展一下,什麼是32位操作系統?

其實cpu的位是指一次性可處理的數據量是多少,1字節=8位,32位處理器可以一次性處理4個字節的數據量,依次類推,32位操作系統針對的32位的CPU設計,64位操作系統針對的64位的CPU設計。

操作系統只是硬件和應用軟件中間的一個平臺,我們的CPU從原來的8位,16位,到32位和64位,在實際使用中32位操作系統是可以使用4GB以上的內存的。

java 32bit

標準版的 32位版本支持2.93GB RAM,64位版本最高可支持 32 GB RAM。

企業版的 32 位版本最高可支持32 GB RAM, 64 位版本支持 1 TB RAM。

數據中心版的 32 位版本支持 64 GB RAM,64 位版本支持 1 TB RAM。

WEB版最高可支持2G RAM。

實際操作:

Java獲取字符串(16bit,32bit)和文件MD5工具。

package com.kingboy.common.utils.md5;import org.apache.commons.codec.digest.DigestUtils;import org.apache.poi.util.IOUtils;import sun.misc.BASE64Encoder;import java.io.*;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;/** * MD5,String-File * @Author kingboy * @Date 2017/7/22 下午1:00 * @Description MD5Utils is used to */public class MD5Utils {    private static final String ALGORITHM_MD5 = "MD5";    private static final String UTF_8 = "UTF-8";    /**     * MD5 16bit 小寫.     * @param readyEncryptStr ready encrypt string     * @return String encrypt result string     * @throws NoSuchAlgorithmException     * */    public static final String MD5_16bit_lower(String readyEncryptStr) throws NoSuchAlgorithmException {        if(readyEncryptStr != null){            return MD5Utils.MD5_32bit_lower(readyEncryptStr).substring(8, 24);        }else{            return null;        }    }    /**     * MD5 16bit 大寫.     * @param readyEncryptStr ready encrypt string     * @return String encrypt result string     * @throws NoSuchAlgorithmException     * */    public static final String MD5_16bit_upper(String readyEncryptStr) throws NoSuchAlgorithmException {        return MD5_16bit_lower(readyEncryptStr).toUpperCase();    }    /**     * MD5 32bit 小寫.     * @param readyEncryptStr ready encrypt string     * @return String encrypt result string     * @throws NoSuchAlgorithmException     * */    public static final String MD5_32bit_lower(String readyEncryptStr) throws NoSuchAlgorithmException{        if(readyEncryptStr != null){            //Get MD5 digest algorithm's MessageDigest's instance.            MessageDigest md = MessageDigest.getInstance(ALGORITHM_MD5);            //Use specified byte update digest.            md.update(readyEncryptStr.getBytes());            //Get cipher text            byte [] b = md.digest();            //The cipher text converted to hexadecimal string            StringBuilder su = new StringBuilder();            //byte array switch hexadecimal number.            for(int offset = 0,bLen = b.length; offset < bLen; offset++){                String haxHex = Integer.toHexString(b[offset] & 0xFF);                if(haxHex.length() < 2){                    su.append("0");                }                su.append(haxHex);            }            return su.toString();        }else{            return null;        }    }    /**     * MD5 32bit 大寫.     * @param readyEncryptStr ready encrypt string     * @return String encrypt result string     * @throws NoSuchAlgorithmException     * */    public static final String MD5_32bit_upper(String readyEncryptStr) throws NoSuchAlgorithmException{        return MD5_32bit_lower(readyEncryptStr).toUpperCase();    }    /**     * MD5 64bit 大寫.     * @param readyEncryptStr ready encrypt string     * @return String encrypt result string     * @throws NoSuchAlgorithmException     * @throws UnsupportedEncodingException     * */    public static final String MD5_64bit(String readyEncryptStr) throws NoSuchAlgorithmException, UnsupportedEncodingException {        MessageDigest md = MessageDigest.getInstance(ALGORITHM_MD5);        BASE64Encoder base64Encoder = new BASE64Encoder();        return base64Encoder.encode(md.digest(readyEncryptStr.getBytes(UTF_8)));    }    /**     * 獲取文件MD5,使用apache的org.apache.commons.codec.digest.DigestUtils;     * @param filePath 文件路徑     * @return String     */    public static String MD5_File(String filePath) throws Exception {        try (FileInputStream fis= new FileInputStream(filePath)) {            return DigestUtils.md5Hex(IOUtils.toByteArray(fis));        }    }    public static void main(String[] args) throws Exception {         System.out.println("16位小寫:" + MD5Utils.MD5_16bit_lower("king"));         System.out.println("16位大寫:" + MD5Utils.MD5_16bit_upper("king"));         System.out.println("32位小寫:" + MD5Utils.MD5_32bit_lower("king"));         System.out.println("32位大寫:" + MD5Utils.MD5_32bit_upper("king"));         System.out.println("64位大寫:" + MD5Utils.MD5_64bit("king"));         System.out.println("FILEMD5:" + MD5Utils.MD5_File("/Users/kingboy/Desktop/1.txt"));    }}

以上就是小編今天的分享了,希望可以幫助到大家。

標籤:java 32bit