1.某些高版本的Tomcat7或者8不支持URL地址出现花括号,因此地址栏无法放JSON。
2.FastJson不能序列化Class<?>[]
但是可以序列化Class<?>
但是是序列化为字符串。
3.FastJson序列化有map的对象时可能会出现反序列化失败,这是个比较隐蔽的BUG。试想下,自己写序列化要完美支持循环引用是比较复杂的一块,因此当怀疑FastJson反序列化丢失数据,不妨关闭FastJson的循环引用试试。
4.操作Jedis
线程不安全,JedisPool
获取Jedis
是从一个阻塞队列中获取因此线程安全。因此正确的顺序是jedisPool.getResource然后操作jedis
然后返回给JedisPool
,注意低版本的Jedis比如2.4不能使用try-resource
书写来返回jedis很快会造成超时。
5.Integer.MAX_VALUE+1
是Integer.MIN_VALUE
。有符号整数是用32个二进制位来表示的,个数是二的倍数是偶数。因为里面包含“0”。所以其他的值会有一个没有对应的相反数。这个数就是Integer.MIN_VALUE
。二进制是10000000000000000000000000000000
。相反数做“取反加一”仍然是他本身Math.abs(Integer.MIN_VALUE)
依然是Integer.MIN_VALUE
。因此Math.abs(n)不永远为正。
6. InetAddress InetAddress.getLocalHost() throws UnknownHostException
这个方法会保存5秒内的缓存。如果经常配置新机器,可能会遇到这个方法一直有5秒的超时。当获取超过5秒就不会放到缓存。这时候需要配置/etc/host文件
一些有意思或者要注意的小问题
最新推荐文章于 2022-02-14 11:08:08 发布