分类 技术相关 下的文章

敲黑板划重点

-128 到 127的两个 Integer 对象,怎么比较都一样,超出此范围的的只有 equals() 时才相等。
Java自动装箱是对于从 -128 到 127 之间的信息值,它们在被装箱为对象数据后会在内存中被重用,也就是对于相同的值,返回的是同一个对象(这一点,类似 String 类)。
直接与数值比较时(即 a==300000 这样),大概是拆箱比较了,就跟 int 的比较一样了,所以该相等还是相等的。

所以, 就会出现如下情况

 Integer a = 128;  
 Integer b = 128;  
 System.out.println(a==b);   //false
 System.out.println(a.equals(b));  //true

比较Integer大小可以使用,Integer.intValue进行拆箱,比较的就是int值。

本次版本更新主要是微信支付模块增加了图片上传和电商收付通二级商户进件、特约商户进件等接口,企业微信模块则增加了客户联系、企业客户标签管理、OA 提交审批申请、企业微信群机器人消息发送等接口,小程序模块则增加了多帐号切换功能、图像处理和 OCR 识别相关接口以及直播间商品操作接口等。另外还有一个大的变化是,从本版本起,放弃对 Java 7 的支持,最低支持版本为 Java 8。另外修复了各模块新发现的部分 bug,包括一些遗留历史问题。同时还优化重构精简了不少代码,移除一些存在已久的无用过期代码。具体更新日志如下:

微信支付

• 微信支付退款增加支持单品退款和对应查询的接口

• 微信支付结果异步通知的解析方法增加可以自行指定 signType 的重载方法

• 微信支付增加 v3 图片上传接口

• 微信支付增加电商收付通 - 二级商户进件相关接口

• 优化微信支付回调通知验证签名的代码

• 微信支付增加特约商户进件相关接口

• 微信支付证书配置读取代码优化,支持本地路径和网络路径

• 微信支付证书初始化代码去掉不推荐的 TLSv1 协议,解决退款接口报 No appropriate protocol 的问题

• 微信现金红包发送接口信息处理优化,针对处理中的变态错误信息不抛出异常

微信小程序

• 小程序模块增加多账号切换功能支持

• 小程序增加图像处理相关接口

• 小程序增加 OCR 身份证识别和银行卡识别等接口

• 小程序 Spring Boot Starter 模块优化重构,避免依赖 jedis

• 修复小程序直播间列表接口出现 require https hints 的问题

• 添加小程序直播间商品相关操作接口

• 修复小程序初始化时报错的问题

• 微信小程序接口请求增加多种 http 客户端支持

修复小程序直播接口获取不到部分字段值的问题

企业微信

• 企业微信新增客户联系「联系我」管理接口

• 企业微信增加管理企业客户标签的相关接口

• 企业微信成员信息里性别字段枚举类增加 0 值

• 企业微信读取成员接口增加返回字段:main_department

• 企业微信获取打卡数据接口返回类增加打卡设备 id 字段

• 修复企业微信外部联系人群列表错误参数

• 企业微信获取用户信息接口优化,处理 type 为 null 情况下可能会导致的空指针问题

• 企业微信模块更新用户信息相关接口类以适应企业微信私有化版本

• 企业微信增加 OA 提交审批申请的接口

• 企业微信修复获取联系客户统计数据接口的错误字段:negative_fee_back_cnt

• 企业微信增加外部联系人发送消息的接口

• 企业微信外部联系人客户详情接口增加几个字段

• 企业微信模块修复添加企业客户标签接口

• 企业微信增加发送新客户欢迎语接口

• 企业微信修复获取企业已配置的「联系我」方式详情接口

• 增加企业微信群机器人消息发送接口

微信公众号

• 修复无法切换到初始公众号配置的问题并完善了 removeConfigStorage 方法

• 公众号模块配置类增加 Redisson 的实现

• 修复 SDK 扫码登录签名算法获取 Ticket 时的 type 参数值

• 公众号 WxMpConfigStorage 接口提供 setHostConfig()方法,方便设置相关信息

• 公众号模块抽取 oauth2 相关接口方法到独立类 WxOAuth2Service 中

微信开放平台

• 开放平台刷新 AccessToken 同步更新 RefreshToken

• 修复微信开放平台帐号管理相关接口 , 使用指定 appId 的 access_token

其他公共问题

• Json 解析统一优化

• use lock.tryLock() to avoid waiting for locks for a long time

• 优化 redis 配置支持,去掉容易导致问题的构造方法

• 换用 guava 的相应方法实现 base64 解码,避免因 commons-codec 版本问题导致解码异常

• 给部分请求方法导致无限递归调用的代码增加日志,方便排查问题

• 实现简单的 redis 分布式锁 RedisTemplateSimpleDistributedLock

• SDK 最低支持版本设置为 JDK8,放弃对 JDK7 及更旧版本的支持

• 升级 jedis 依赖版本为 3.3.0,以解决部分问题

SQLite 3.33.0 发布了,SQLite 是一个 C 实现的 SQL 数据库引擎,它的特点是小型、快速、自包含、高可靠性和功能齐全。SQLite 嵌入在所有手机和大多数计算机中,也捆绑在为数众多的其它应用中,是世界上使用量最大的数据库引擎。

此版本更新内容包括:

1.支持遵循 PostgreSQL 语法的 UPDATE FROM:

UPDATE-FROM 的想法是对 SQL 的扩展,它允许 UPDATE 语句由数据库中的其他表驱动。使用 UPDATE-FROM,可以将目标表与数据库中的其他表连接起来,以帮助计算需要更新的行以及这些行上的新值。

2.将数据库文件的最大大小增加到 281 TB。

3.扩展了 PRAGMA integrity_check 语句,以便可以选择将其限制为仅验证单个表及其索引,而不是验证整个数据库文件。

4.添加了用于执行任意精度十进制算术的十进制扩展名。

5.增强 ieee754 扩展,以使用 IEEE 754 binary64 数字。

6.CLI 增强功能:

添加了四个新的输出模式:“box”、“json”、“markdown” 和 “table”。

“column”输出模式会自动扩展列以包含最长的输出行,如果之前未设置,则自动打开 “.header”。

“quote”输出模式支持 “.separator”。

CLI 内置了十进制扩展名和 ieee754 扩展名。

7.改进 Query planner:

添加了使用 INDEXED BY 查找查询的全索引扫描(full-index-scan)查询计划的功能,该计划以前会因 “无查询解决方案”而失败。

尽管存在错误信息,但可以更好地检测丢失,不完整和 / 或不可靠的 sqlite_stat1 数据,并生成良好的查询计划。

提高了查询性能,例如 “SELECT min(x) FROM t WHERE y IN (?,?,?)”(假设在 t(x,y) 上具有索引)。

8.在 WAL 模式下,如果写入器崩溃并使 shm 文件处于不一致状态,则即使存在活动的读取事务,后续事务现在也可以恢复 shm 文件。在此版本之前,该情况下的 shm 文件恢复将导致 SQLITE_PROTOCOL 错误。

免责声明
本博客部分内容来自于互联网,不代表作者的观点和立场,如若侵犯到您的权益,请联系[email protected]。我们会在24小时内进行删除。