精华内容
下载资源
问答
  • 一致与相同是一样吗
    千次阅读
    2019-11-12 11:12:27

    1.Java保存的文件名必须与类名一致;
    2.如果文件中只有一个类,文件名必须与类名一致;
    3.一个Java文件中只能有一个public类;
    4.如果文件中不止一个类,文件名必须与public类名一致;

    5.如果文件中不止一个类,而且没有public类,文件名可与任一类名一致。

    具体可参阅http://blog.csdn.net/shaoxiaoning/article/details/40424087

    更多相关内容
  • 关于字符串比较的问题,今天遇见了一个特别离谱的事情,输出字符串前端明明一致的内容,但比较结果却是false,两个值的类型也都是一致的,但 a == b 就是返回的false 查阅相关的内容总结出这种情况有两种解决方法...

    关于字符串比较的问题,今天遇见了一个特别离谱的事情,输出字符串前端明明一致的内容,但比较结果却是false,两个值的类型也都是一致的,但 str1 == str2就是返回的false

    在这里插入图片描述

    查阅相关的内容总结出这种情况有两种解决方法:

    1. 用 typeof(a) 测试输出返回值的类型,要确保返回类型一致

    原因:数据类型不一致

    console.log(" params_type  = " + typeof(params_1))     //输出试一下
    console.log(" params_type  = " + typeof(params_2))     //输出试一下
    console.log(typeof(params_1) " == " + typeof(params_2))//输出值相同  abc == abc
    console.log(typeof(params_1) == typeof(params_2))      //比较返回 false
    

    在这里插入图片描述

    解决方法
    如果一个是String,一个是其他类型,则需要将两个 str 转化为 相同类型
    此时我们可以将number转成string或者将string转成number再进行比较;
    将 numbe r转成 string 就在 number 后加上 "" ;
    将string转成number在string后加上 *1;(自行测试)
    

    2. 用 str.length 测试字符串的长度,要确保返回长度一致

    console.log(" str1.length = " + str1.length)
    console.log(" str2.length = " + str2.length)
    console.log(" str1.length == str2.length" + str1.length == str2.length)
    
    如果两字符串输出相同,但是```长度```不同则可能是字符串可能含有其他特殊字符:换行符(%D)、空格(%20)...一般不显示。
    
    (1)原因判断:判断是否是因为换行符等原因导致 字符串比较明明一致的内容,但比较结果却是false

    3. 解决方法:显示隐藏内容并替换

    通过JSON.stringify(string)
    显示出换行符、缩进符之类的特殊符号
    就发现两者不同,一个是\n一个\r\n所以比较字符串会失败

    console.log(JSON.stringify(str1))
    console.log(JSON.stringify(str2))
    

    在这里插入图片描述

    (2)解决办法:去除换行符、缩进符之类的特殊符号
    .replace(/\ +/g,"") //去掉空格方法
    
    .replace(/[ ]/g,"")//去掉空格
    
    .replace(/[\r\n]/g,"")//去掉回车换行
    
    .replace(/-/g, '') //去掉"-"号
    
    展开全文
  • java中类名一定要和java文件名一致吗?

    千次阅读 多人点赞 2020-05-18 19:43:12
    首先java中类名不一定要和java文件名一致,是否一致需要分情况,其次java中可以有多个类,但是最多只有一个类的类名和文件名相同,如果一个类被public修饰,那该类的类名必须和文件名相同,并且一个java文件中最多...

    结论:

    首先java中类名不一定要和java文件名一致,是否一致需要分情况,其次java中可以有多个类,但是最多只有一个类的类名和文件名相同,如果一个类被public修饰,那该类的类名必须和文件名相同,并且一个java文件中最多只有一个类被public修饰
    最后补充一点:主方法所在类的类名一定要与文件名一致

    演示:

    1、java中可以有多个类:
    在这里插入图片描述
    2、java中可以有多个类,但是最多只有一个类的类名和文件名相同
    在这里插入图片描述
    由于上面有两个类的类名都和方法名相同,所以程序报错

    3、如果一个类被public修饰,那该类的类名必须和文件名相同
    在这里插入图片描述
    由于public修饰的类名和文件名不同,所以程序报错

    4、一个java文件中最多只有一个类被public修饰
    在这里插入图片描述
    由于java文件中有两个类被public修饰,所以程序报错

    5、主方法所在类的类名一定要与文件名一致
    在这里插入图片描述
    由于主方法所在的类名和文件名不一致,所以执行主方法的时候程序报错

    展开全文
  • 你的AES加密结果相同吗?

    千次阅读 2021-01-05 19:39:21
    AES加密后的结果,数据接收方解不出来,是哪里的问题? AES的安全性: ...电码本模式(Electronic Codebook Book (ECB),将整个明文分成若干段相同的小段,然后对每一小段进行加密。 密码分组链接

    AES加密后的结果,数据接收方解不出来,是哪里的问题?

    AES的安全性:

    密码学的意义上,只要存在一个方法,比穷举法还要更有效率,就能被视为一种“破解”。故一个针对AES 128位密钥的攻击若“只”需要2120计算复杂度(少于穷举法 2128),128位密钥的AES就算被破解了。从应用的角度来看,这种程度的破解依然太不切实际。

    AES加密方式有五种:

    • 电码本模式(Electronic Codebook Book (ECB),将整个明文分成若干段相同的小段,然后对每一小段进行加密。

    • 密码分组链接模式(Cipher Block Chaining (CBC)),先将明文切分成若干小段,然后每一小段与初始块或者上一段的密文段进行异或运算后,再与密钥进行加密。

      优点:能掩盖明文结构信息,保证相同密文可得不同明文,所以不容易主动攻击,安全性好于ECB,适合传输长度长的报文,是SSL和IPSec的标准。

      缺点:(1)不利于并行计算;(2)传递误差——前一个出错则后续全错;(3)第一个明文块需要与一个初始化向量IV进行抑或,初始化向量IV的选取比较复杂。

      初始化IV的选取方式:固定IV,计数器IV,随机IV(只能得到伪随机数,用的最多),瞬时IV(难以得到瞬时值)

    • 计算器模式(Counter (CTR)), 完全的流模式。将瞬时值与计数器连接起来,然后对此进行加密产生密钥流的一个密钥块,再进行XOR操作 。

    • 密码反馈模式(Cipher FeedBack (CFB))

    • 输出反馈模式(Output FeedBack (OFB)),密码算法的输出(指密码key而不是密文)会反馈到密码算法的输入中,OFB模式并不是通过密码算法对明文直接加密,而是通过将明文分组和密码算法的输出进行XOR来产生密文分组。

    密钥长度三种:

    ​ 密钥越长,安全强度越高,运算开销就会越大。

    • AES-128:16byte
    • AES-192:24byte
    • AES-256:32byte

    Padding:

    • PKCS5:PKCS5是指分组数据缺少几个字节,就在数据的末尾填充几个字节的几,比如缺少5个字节,就在末尾填充5个字节的5。
    • PKCS7:PKCS7是指分组数据缺少几个字节,就在数据的末尾填充几个字节的0,比如缺少7个字节,就在末尾填充7个字节的0。
    • NOPADDING:指不需要填充,也就是说数据的发送方肯定会保证最后一段数据也正好是16个字节。

    实际使用中要注意的地方

    1. 密钥、初始向量相同。
    2. 加密模式相同。
    3. Padding模式相同。

    实现

    func aesEncrypt(orig string, key string) string {
    	// 转成字节数组
    	origData := []byte(orig)
    	k := []byte(key)
    	// 分组秘钥
    	block, err := aes.NewCipher(k)
    	if err != nil {
    		panic(fmt.Sprintf("key 长度必须 16/24/32长度: %s", err.Error()))
    	}
    	// 获取秘钥块的长度
    	blockSize := block.BlockSize()
    	// 补全码
    	origData = PKCS7Padding(origData, blockSize)
    	// 加密模式
    	blockMode := cipher.NewCBCEncrypter(block, k[:blockSize])
    	// 创建数组
    	cryted := make([]byte, len(origData))
    	// 加密
    	blockMode.CryptBlocks(cryted, origData)
    	return base64.RawURLEncoding.EncodeToString(cryted)
    
    }
    
    func aesDecrypt(cryted string, key string) string {
    	crytedByte, _ := base64.RawURLEncoding.DecodeString(cryted)
    	k := []byte(key)
    
    	// 分组秘钥
    	block, err := aes.NewCipher(k)
    	if err != nil {
    		panic(fmt.Sprintf("key 长度必须 16/24/32长度: %s", err.Error()))
    	}
    	// 获取秘钥块的长度
    	blockSize := block.BlockSize()
    	// 加密模式
    	blockMode := cipher.NewCBCDecrypter(block, k[:blockSize])
    	// 创建数组
    	orig := make([]byte, len(crytedByte))
    	// 解密
    	blockMode.CryptBlocks(orig, crytedByte)
    	// 去补全码
    	orig = PKCS7UnPadding(orig)
    	return string(orig)
    }
    

    结束了吗?

    加密或解密结果通常是byte数组,需要进一步转换为字符串。这时候通常又有两种选择,hexbase64。如果使用了base64进行编码,那么还有一个需要双方约定的地方。

    Base64

    Base64编码好处:简短、不可读性,即所编码的数据不会被人用肉眼所直接看到。

    注意:后端与js通信时base64模式的选择🐶

    模式区别备注
    StdEncoding字符串由A-Za-z0-9+/组成,字节长度不能被3整除,用=补足
    RawStdEncoding字符串由A-Za-z0-9+/组成,字节长度不能被3整除,不用=补足
    URLEncoding字符串由A-Za-z0-9-_组成,字节长度不能被3整除,用=补足
    RawURLEncoding字符串由A-Za-z0-9-_组成,字节长度不能被3整除,不用=补足
    const encodeStd = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
    const encodeURL = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"
    
    //编码
    base64.StdEncoding.EncodeToString(data)
    base64.StdEncoding.DecodeString(data)
    base64.RawStdEncoding.EncodeToString(data)
    base64.RawStdEncoding.DecodeString(data)
    //解码
    base64.URLEncoding.EncodeToString(data)
    base64.URLEncoding.DecodeString(data)
    base64.RawURLEncoding.EncodeToString(data)
    base64.RawURLEncoding.DecodeString(data)
    
    展开全文
  • es相同条件搜索多次返回结果不一样

    千次阅读 2021-03-18 19:05:05
    1. 背景介绍 业务方发现他们配置的数据源会返回重复数据,主要体现为在翻页的时候上一页的最后一个数据和下一页的第一条...于是我拿到真正执行的DSL, 直接去es中搜索, 发现同一条DSL,短时间诶查询的结果不一样. (注意:
  • 展开全部这个问题,有部分人的答案是:“是的,必须相同”,就连数组的百度百科,关于数组的使e5a48de588b63231313335323631343130323136353331333431366265用规则也是这么说的:数组的类型实际上是指数组元素的取值...
  • 类名@十六进制哈希值”是一样的,就会误以为这两个类型/对象的地址值是相同的,这种想法是错误的。   下面介绍一种“哈希冲突”的情况。 哈希值相同的String类对象 String a = "重地" ; String b = ...
  • Java千问:源文件名称必须类名相同吗?

    千次阅读 多人点赞 2019-12-17 12:23:23
    当写完程序后,老师一般都会要求我们把源文件的名称命名为类名相同,比如,类的名称叫A,那么源文件的名称也叫A。很多同学按老师的要求做了,也成功的运行出了“Hello World”。没按老师要求做的,可能连编译都...
  • 返回类型被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类(java5 及更早版本返回类型要一样,java7 及更高版本可以不同)。 访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一...
  • C语言调用函数时,实参和形参的个数对应类型应该保持一致,但并不是必须保持一致。 举个简单的例子:定义的形参为int类型,在调用函数传入实参时传入一个float类型的值,则形参把该float自动转为int类型进行操作。...
  • 1.表结构 由于是公司的数据库,只把需要的列展示出来,其他敏感数据就不展示了。 只需要关注这两列,主键id...当car_rank_id相同时,id完全无规律 select id,car_rank_id from × order by car_rank_id 当car_ra...
  • 【RPC】分布式一致与一致性协议

    千次阅读 2022-07-06 09:44:27
    数据一致性并不只有存在不存在两种情况,就像可以用0%到100%之间的任意数值来代表可用性的程度一样一致性也有一些分类。一致性模型按照强弱可以粗略地分为弱一致性模型、最终一致性模型和强一致性模型。下面就...
  • 哈希码相同,值一定相同

    千次阅读 2020-07-12 13:42:48
    结论:值相同,hashcode一定相同;hashcode相同但是值不一定相同 所有的类都是集成自Object类,在Object中有hashcode()方法,如果想具体了解此方法的含义,可以看源码注释 1、前提条件看类是否有重写hashcode()和...
  • 最近在开发app时,使用微信登录,获取到unionid微信公众号里面使用微信登录的unionid不一致。当时就去查了一下资料。 UnionID 机制说明 如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可...
  • 1、参数列表必须完全被重写的方法相同,否则不能称其为重写而是重载。 2、返回的类型必须一直被重写的方法的返回类型相同。 3、访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected&...
  • latex 让表格宽度文本宽度相同

    万次阅读 多人点赞 2018-03-10 10:45:33
    使用 tabular*, \hzise 或 \textwidth, 然后加上一些奇怪的符号。 举例: \begin{table}[!ht] \caption{Parameter values}\label{tab:parametervalues} \begin{tabular*}{\hsize}{@{}@{\extracolsep{\fill}}...
  • 问题描述: 在使用OpenCV KMeans聚类分割图像时,将整个步骤封装成函数,但是多次调用函数时发现,每次执行的结果都有差异,如下图所示都是对同一张图做3分类分割的结果: KMeans聚类分割代码: ...
  • 什么是一致性Hash算法?

    万次阅读 多人点赞 2018-03-13 21:15:32
    最近有小伙伴跑过来问什么是Hash一致性算法,说面试的时候被问到了,因为不了解,所以就没有回答上,问我有没有相应的学习资料推荐,当时上班,没时间回复,晚上回去了就忘了这件事,今天突然看到这个,加班为大家...
  • 判断两个list的内容是否是相同

    千次阅读 2021-07-11 17:43:52
    2、判断两个list的内容是否是相同 在判断两个list内容是否相同时,经常时比较地址,而非内容。 比如 //进行的是地址判重而非内容判重 if(item_table.containsKey(can_item)){ return; } 而 HashMap 又是内部类,不...
  • 如某demo中引入了A、B两个工程,而两个工程中都引入了guava依赖,但引入的guava版本不一致,一个是20.0,一个是18.0,导致报各种找不到类下方法错误。 错误信息: Caused by: java.lang.NoSuchMethodError: ...
  • * 生成随机数的类,参数为随机数的种子,如果种子相同,则生成的随机数序列一样。 * * @param {String} seed 字符串的随机数种子0-1中间的随机数,不包括1 */ function Random(seed) { this.seed = this....
  • 原因 docker-compose创建网卡secsys_network的网段为172.18.0.0/16,网关为172.18.0.1,而主机修改网卡的网关也是 172.18.0.1,导致secweb容器访问mysql容器失败 解决【修改secsys_network的网络为别的网段即可,我...
  • 微服务系统中的数据一致性,你都会了吗

    万次阅读 多人点赞 2021-09-17 23:11:34
    你好,我是看山。 从单体架构到分布式架构,从巨石架构到微服务...需要注意一下,本文所设计的数据一致性,不是多数据副本之间保持数据一致性,而是系统之间的业务数据保持一致性。 本地事务 在早期的系统中,我们可.
  • 本人在改论文格式的时候发现,格式和行距相同,但跟模板的大小却不一样,一直在查原因,终于查到了。 以下为 word 2016版本 1.首先选中不一样的段落,右击选择段落,检查对齐网格是否都点了。 2.若没问题再检查...
  • 但是当分别用这两个分片去查时,就会发现搜索结果不一致,_score不一样。在官方文档中,提到分片中存在标记为已删除的文档,这些文档只有在下一次旧文档所属的段合并时才会从磁盘中删除。但是出于实际原因,这些已...
  • Redis MySQL 数据一致性问题

    千次阅读 2022-06-24 14:40:06
    Redis MySQL 数据一致性问题
  • 答:不需要。但是子类的返回类型和父类的返回类型一定要一样
  • @急急急,为什么相同的代码,不同电脑运行结果不一样 我的电脑运行代码跟同学的电脑运行结果不一样,用的软件都是 vc 6.0 #include <stdio.h> int main() { int max (int x,int y,int z); int a,b,c,d; scanf...
  • 函数声明和定义一般都有参数,C语言中函数声明关注的是函数返回值类型、...第一种:常用的,声明和定义函数参数名称均一致。 int add(int a, int b);   // 函数声明 int add(int a, int b)    /
  • 图一:先获取到data值,将name和value的字体颜色设置为你的背景色,数据存在也显示只是因为颜色所以看不见。 图二:鼠标移动事件,鼠标移动后获取到里面的color值,建议先打印params,以便确定具体的路径。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 695,377
精华内容 278,150
关键字:

一致与相同是一样吗