「java创建标志」Java标识符由什么组成

博主:adminadmin 2022-11-30 10:10:09 57

今天给各位分享java创建标志的知识,其中也会对Java标识符由什么组成进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

IDEA中新建java文件时前面的C图标,I图标,锁图标和其它图标都是什么意思?

绿色的I就是接口的意思。

蓝色的C就是实现方法。

绿色的I就是接口的意思。

蓝色的C就是实现方法。

Eclipse或IDEA中jar包的图标符号代表的含义

java创建图标的问题

c.add(jf);

为什么从jf里获得自己的容器出c之后,又将jf添加到jf的容器中,显然不行,把这句注释掉试试吧

java生成唯一标识符有什么用

有时我们不依赖于数据库中自动递增的字段产生唯一ID,比如多表同一字段需要统一一个唯一ID,这时就需要用程序来生成一个唯一的全局ID,然后在数据库事务中同时插入到多章表中实现同步.

在java中有个类工具很好的实现产生唯一ID(UUID),但是由数字和字母及中划线组成的,故数据库字段应该设置为char 并相应的建立索引.

UUID是128位整数(16字节)的全局唯一标识符(Universally Unique Identifier).

指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台会提供生成UUID的API.UUID按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址,纳秒级时间,芯片ID码和许多可能的数字.由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个 UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长.关于UUID这个标准使用最普遍的是微软的GUID(Globals Unique Identifiers).

在ColdFusion中可以用CreateUUID()函数很简单的生成UUID,其格式为:xxxxxxxx- xxxx-xxxx-xxxxxxxxxxxxxxxx(8-4-4-16),其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字.而标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxxxx-xxxxxxxxxx (8-4-4-4-12)

,可以从cflib 下载CreateGUID() UDF进行转换.

使用UUID的好处在分布式的软件系统中(比如:DCE/RPC, COM+,CORBA)就能体现出来,它能保证每个节点所生成的标识都不会重复,并且随着WEB服务等整合技术的发展,UUID的优势将更加明显.

关于UUID的更多信息可以多google 一下.

Java生成UUID

UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址,纳秒级时间,芯片ID码和许多可能的数字.由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长.

在Java中生成UUID主要有以下几种方式:

JDK1.5

如果使用的JDK1.5的话,那么生成UUID变成了一件简单的事,以为JDK实现了UUID:

java.util.UUID, 直接调用即可.

UUID uuid = UUID.randomUUID();

String s = UUID.randomUUID().toString();//用来生成数据库的主键id非常不错..

Java代码

package com.taobao.tddl.client.util;

import java.io.IOException;

import java.io.UnsupportedEncodingException;

import java.net.InetAddress;

import java.security.MessageDigest;

import java.security.NoSuchAlgorithmException;

import java.security.SecureRandom;

import java.util.HashMap;

import java.util.Map;

import java.util.Random;

import java.util.concurrent.atomic.AtomicLong;

import java.util.concurrent.locks.ReentrantLock;

/**

* @author huangshang

*

*/

public class UniqId {

private static char[] digits = { '0', '1', '2', '3', '4', '5', '6', '7',

'8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };

private static MapCharacter, Integer rDigits = new HashMapCharacter, Integer(

16);

static {

for (int i = 0; i digits.length; ++i) {

rDigits.put(digits[i], i);

}

}

private static UniqId me = new UniqId();

private String hostAddr;

private Random random = new SecureRandom();

private MessageDigest mHasher;

private UniqTimer timer = new UniqTimer();

private ReentrantLock opLock = new ReentrantLock();

private UniqId() {

try {

InetAddress addr = InetAddress.getLocalHost();

hostAddr = addr.getHostAddress();

} catch (IOException e) {

hostAddr = String.valueOf(System.currentTimeMillis());

}

if (hostAddr == null || hostAddr.length() == 0

|| "127.0.0.1".equals(hostAddr)) {

hostAddr = String.valueOf(System.currentTimeMillis());

}

try {

mHasher = MessageDigest.getInstance("MD5");

} catch (NoSuchAlgorithmException nex) {

mHasher = null;

}

}

/**

* 获取UniqID实例

*

* @return UniqId

*/

public static UniqId getInstance() {

return me;

}

/**

* 获得不会重复的毫秒数

*

* @return

*/

public long getUniqTime() {

return timer.getCurrentTime();

}

/**

* 获得UniqId

*

* @return uniqTime-randomNum-hostAddr-threadId

*/

public String getUniqID() {

StringBuffer sb = new StringBuffer();

long t = timer.getCurrentTime();

sb.append(t);

sb.append("-");

sb.append(random.nextInt(8999) + 1000);

sb.append("-");

sb.append(hostAddr);

sb.append("-");

sb.append(Thread.currentThread().hashCode());

return sb.toString();

}

/**

* 获取MD5之后的uniqId string

*

* @return uniqId md5 string

*/

public String getUniqIDHashString() {

return hashString(getUniqID());

}

/**

* 获取MD5之后的uniqId

*

* @return byte[16]

*/

public byte[] getUniqIDHash() {

return hash(getUniqID());

}

/**

* 对字符串进行md5

*

* @param str

* @return md5 byte[16]

*/

public byte[] hash(String str) {

opLock.lock();

try {

byte[] bt = mHasher.digest(str.getBytes("UTF-8"));

if (null == bt || bt.length != 16) {

throw new IllegalArgumentException("md5 need");

}

return bt;

} catch (UnsupportedEncodingException e) {

throw new RuntimeException("unsupported utf-8 encoding", e);

} finally {

opLock.unlock();

}

}

/**

* 对二进制数据进行md5

*

* @param str

* @return md5 byte[16]

*/

public byte[] hash(byte[] data) {

opLock.lock();

try {

byte[] bt = mHasher.digest(data);

if (null == bt || bt.length != 16) {

throw new IllegalArgumentException("md5 need");

}

return bt;

} finally {

opLock.unlock();

}

}

/**

* 对字符串进行md5 string

*

* @param str

* @return md5 string

*/

public String hashString(String str) {

byte[] bt = hash(str);

return bytes2string(bt);

}

/**

* 对字节流进行md5 string

*

* @param str

* @return md5 string

*/

public String hashBytes(byte[] str) {

byte[] bt = hash(str);

return bytes2string(bt);

}

/**

* 将一个字节数组转化为可见的字符串

*

* @param bt

* @return

*/

public String bytes2string(byte[] bt) {

int l = bt.length;

char[] out = new char[l 1];

for (int i = 0, j = 0; i l; i++) {

out[j++] = digits[(0xF0 bt[i]) 4];

out[j++] = digits[0x0F bt[i]];

}

return new String(out);

}

/**

* 将字符串转换为bytes

*

* @param str

* @return byte[]

*/

public byte[] string2bytes(String str) {

if (null == str) {

throw new NullPointerException("参数不能为空");

}

if (str.length() != 32) {

throw new IllegalArgumentException("字符串长度必须是32");

}

byte[] data = new byte[16];

char[] chs = str.toCharArray();

for (int i = 0; i 16; ++i) {

int h = rDigits.get(chs[i * 2]).intValue();

int l = rDigits.get(chs[i * 2 + 1]).intValue();

data[i] = (byte) ((h 0x0F) 4 | (l 0x0F));

}

return data;

}

/**

* 实现不重复的时间

*

* @author dogun

*/

private static class UniqTimer {

private AtomicLong lastTime = new AtomicLong(System.currentTimeMillis());

public long getCurrentTime() {

return this.lastTime.incrementAndGet();

}

}

}

Java创建新对象编译时发生错误,提示“需要标识符”

这个需要两个类,你的Point类没有写,正确却写法是:

Point类:

public class Point{

float x;

float y;

public double distance(Point that){

double xdiff=x-that.x;

double ydiff=y-that.y;

return Math.sqrt(xdiff*xdiff+ydiff*ydiff);

}

}

PointDistance类:

public class PointDistance{

public static void main(String[] args){

Point lowerleft = new Point();

Point upperright=new Point();

lowerleft.x = 0;

lowerleft.y = 0;

upperright.x = 100;

upperright.y = 100;

double d=lowerleft.distance(upperright);

System.out.println("the distance between both points is"+d);

}

}

这两个类应该在同一个文件夹下。

java怎么生成带logo二维码

1、下载生成二维码所需要的jar包qrcode.jar;

2、直接上生成二维码的java代码

 

//需要导入的包

import java.awt.Color;

import java.awt.Graphics2D;

import java.awt.Image;

import java.awt.image.BufferedImage;

import java.io.File;

import javax.imageio.ImageIO;

import com.swetake.util.Qrcode;

 

/** 

     * 生成二维码(QRCode)图片 

     * @param content 二维码图片的内容

     * @param imgPath 生成二维码图片完整的路径

     * @param ccbpath  二维码图片中间的logo路径

     */  

    public static int createQRCode(String content, String imgPath,String ccbPath) {  

        try {  

            Qrcode qrcodeHandler = new Qrcode();  

            qrcodeHandler.setQrcodeErrorCorrect('M');  

            qrcodeHandler.setQrcodeEncodeMode('B');  

            qrcodeHandler.setQrcodeVersion(7);  

  

            // System.out.println(content);  

            byte[] contentBytes = content.getBytes("gb2312");  

            //构造一个BufferedImage对象 设置宽、高

            BufferedImage bufImg = new BufferedImage(140, 140, BufferedImage.TYPE_INT_RGB);  

            Graphics2D gs = bufImg.createGraphics();  

  

            gs.setBackground(Color.WHITE);  

            gs.clearRect(0, 0, 140, 140);  

  

            // 设定图像颜色  BLACK  

            gs.setColor(Color.BLACK);  

  

            // 设置偏移量 不设置可能导致解析出错  

            int pixoff = 2;  

            // 输出内容  二维码  

            if (contentBytes.length  0  contentBytes.length  120) {  

                boolean[][] codeOut = qrcodeHandler.calQrcode(contentBytes);  

                for (int i = 0; i  codeOut.length; i++) {  

                    for (int j = 0; j  codeOut.length; j++) {  

                        if (codeOut[j][i]) {  

                            gs.fillRect(j * 3 + pixoff, i * 3 + pixoff, 3, 3);  

                        }  

                    }  

                }  

            } else {  

                System.err.println("QRCode content bytes length = "  

                        + contentBytes.length + " not in [ 0,120 ]. ");  

                return -1;

            }  

            Image img = ImageIO.read(new File(ccbPath));//实例化一个Image对象。

            gs.drawImage(img, 55, 55, 30, 30, null);

            gs.dispose();  

            bufImg.flush();  

  

            // 生成二维码QRCode图片  

            File imgFile = new File(imgPath);  

            ImageIO.write(bufImg, "png", imgFile);  

  

        }catch (Exception e){  

            e.printStackTrace();  

            return -100;

        }  

        return 0;

    }

来自网友 孤独青鸟的博客

关于java创建标志和Java标识符由什么组成的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。