java,32bit
<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以上的內存的。
標準版的 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")); }}
以上就是小編今天的分享了,希望可以幫助到大家。
-
怎麼查看微信羣在哪裏,哪裏可以查看微信羣
1、成功登陸微信後,點擊微信通訊錄選項卡,在微信通訊錄裏可以看到羣聊,點擊羣聊。2、打開羣聊後,在羣聊這裏什麼都沒有,點擊羣聊右上角的“+”圖標。3、在發起羣聊界面上,點擊選擇一個羣。4、點擊進入到選擇羣聊界面後,在選擇羣聊就裏可以看到所有的微信羣了。5、點擊...
-
微博如何移動好友分組
1、進入個人微博,點擊主頁裏的“關注”。或者從首頁裏邊的“關注”進入也是可以的。2、進入關注列表後自動顯示爲查看其他分組,這個時候你可以看到“批量管理”和“排序”兩個選項,你可以進行初步排序管理。3、單擊“查看其他分組”,裏面有你微博裏所有的分組,我們...
-
怎樣知道別人是否退出微信運動
1、在微信裏點擊【我】,再點擊【設置】。2、進入設置界面後,點擊【通用】選項。3、接下來,找到並點擊【輔助功能】。4、在輔助功能中,找到並打開【微信運動】。5、然後,點擊【進入微信運動】選項。6、點擊微信運動底部的【步數排行榜】。7、在排行榜查找好友,如果對...
-
傳真機是誰發明的啊
1、1843年,蘇格蘭鐘錶匠亞歷山大?拜恩發明的裝置與現代傳真機在原理上驚人相似,該裝置包括一支連接鐘擺的筆,鐘擺則由電磁脈衝驅動。2、1850年,又有一位名叫弗?貝克卡爾英國的發明家,把傳真機的結構作了一些改進,他採用“滾筒和絲桿”裝置代替了時鐘和鐘擺的結構。這...