Java基于 SpringBoot 的 JNI 本地方法库加载器

由于Java跨平台需要,自行写了一个跨平台的 JNI 本地方法库加载器。

简单实现逻辑

  1. 根据环境变量os.name,判断当前系统属于Windows,Linux还是MacOS
  2. 如果是Linux,继续判断是CentOS还是Debian
  3. 读取 jar 包中的库文件
  4. 根据文件名后缀dllsojnilibdylib,过滤符合当前平台的库文件
  5. 将当前平台的库文件复制到系统临时目录java.io.tmpdir
  6. 使用System.load加载库文件

微信安装旧版本方法,版本过低,请升级最新版本

先安装最新版本微信,并登录。

使用cmd命令行保存用户数据方式卸载应用:

adb shell pm uninstall -k com.tencent.mm

重启手机

adb root
  • 这一步非常重要,否则会出现错误提示adb: failed to install xxxxxx Failure [INSTALL_FAILED_VERSION_DOWNGRADE]

使用cmd命令安装旧版本apk(后面跟安装包路径):

adb install -r -d

在旧版本上登录微信账号。

Python3面向对象编程

面向对象编程

class Student(object):

    def __init__(self, name, score):
        self.name = name
        self.score = score

    def print_score(self):
        print('%s: %s' % (self.name, self.score))

SpringBoot DevTools的大坑,没有之一

最近在SpringBoot的项目中新增了不少改动,然后就碰到了一个非常奇怪的问题。

Hibernate数据库查询报错

2021-03-03 17:08:28.016 ERROR 36216 --- [  XNIO-2 task-1] o.h.p.access.spi.SetterMethodImpl        : HHH000123: IllegalArgumentException in class: net.margrop.racentity.entity.Race, setter method of property: raceType
2021-03-03 17:08:28.016 ERROR 36216 --- [  XNIO-2 task-1] o.h.p.access.spi.SetterMethodImpl        : HHH000091: Expected type: net.margrop.raceapi.entity.permanent.RaceType, actual value: net.margrop.raceapi.entity.permanent.RaceType

这简直就是奇了怪了
Expected typeactual value完全是一模一样,可Hibernate认为不一样,这可咋整。