- 博客(10)
- 问答 (1)
- 收藏
- 关注
原创 对接第三方接口时,第三方接口有特殊符号,我们进行回调时会报400,参数不能有特殊符号
这个问题是当时要进行广告点击监测消息(微博->广告主/第三方)这时候就因为参数带有{}就会进行报400错误,显示参数不符合规范。
2024-04-12 17:16:54
200
原创 Java中ThreadLocal每次set完马上remove为啥值还存在
因此,每个线程都有自己独立的ThreadLocal变量副本,不会受到其他线程的影响。即使你立即移除了ThreadLocal的值,当前线程仍然保留着对该值的引用,直到该线程结束为止。当你再次在该线程中使用get方法获取ThreadLocal的值时,它仍然会返回之前设置的值,除非你再次使用set方法设置一个新的值。如果你希望在移除值后彻底清除ThreadLocal变量的值,可以在该线程中使用set方法设置一个新的值。这样可以确保当前线程中的ThreadLocal变量副本被新的值覆盖,不会保留之前的值。
2023-10-22 11:06:39
338
1
原创 Java位运算符
Java中的位运算符Java中的位运算符有与(&)或(|)非(~)异或(^)位移(>> << >>>)计算机进行计算的时候都是已补码的形式进行运算的,所有使用位运算符的时候需要先转为补码。顺便这里在说一下计算机的原码、反码、补码。计算机中正数的原码、反码、补码都是一样的。负数的反码是负数原码的取反,1变成0,0变成1,负数的补码是负数的反码+1与(&)两个操作数中位都为1,结果才为1,否则结果为0或(|)
2021-07-04 15:54:24
65
原创 关于为什么有些浮点数类型计算值不等于期望的值
关于为什么有些浮点数类型计算值不等于期望的值今天突然碰到一个double类型的 0.1 + 0.2 = 0.30000000000000004,一开始以为单纯的以为是精度缺失,然后百度查了一下,发现没那么简单,然而刚好又在java核心技术书中看到以下这段哈的解释这种舍入误差的主要原因是浮点数值采用二进制系统表示,而在二进制系统中无法精确的表示分数1/10。这就好像十进制无法精确地表示分数1/3一样。如果在数组计算中不允许有任何舍入误差,就应该使用BigDecimal类。...
2021-07-04 15:24:19
111
空空如也
char数组遍历相减得到数出乎自己的意思
2021-09-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人