java 32bit

作者:原创时间:2022-03-23
文档

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"));
    }
}

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

显示全文
idea新建一个java项目 熊猫只有中国才有的吗 java a++和++a的区别 茉莉花茶是绿茶吗 java active 瓮安县属于哪个市 java activiti java activity 西北五省是哪五省 java actuator java add java addall java advice java aes加密 java aggregation java akka ipad2是哪年的 java algorithm iphone呼叫失败是什么原因 java android java -xms idea新建java项目 祁连山在哪个省境内 行程码带*号什么意思 南极洲有哪些国家 java -ea 铁观音产地是哪个地方 iterator java interface java integer java instant java instance java influxdb java idea编写java程序 idea怎么建立java idea创建普通java项目 idea创建java hotspot java hibernate java hbase java