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以上的內存的。
標準版的 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?以上就是小編今天的分享了,希望可以幫助到大家。