相同的 bit 进行异或运算结果为 0,不同则为 1。若对 bit 进行异或 1 运算可以使对应 bit 取反,对 bit 进行异或 0 运算可以保持对应 bit 不变。
1 | 0 ^ 0 = 0 |
相同的 bit 进行异或运算结果为 0,不同则为 1。若对 bit 进行异或 1 运算可以使对应 bit 取反,对 bit 进行异或 0 运算可以保持对应 bit 不变。
1 | 0 ^ 0 = 0 |
临近下班,帮同事查了个路径匹配的问题,在此简单记录。问题简化后如下,同事在 web.xml
中配置的路径匹配如下:
1 | <servlet-mapping> |
在 Spring MVC 中配置的注解为:@RequestMapping("/pc/**")
,请求接口 /pc/index.htm
时服务器响应状态码为 404,经过调试,调用栈帧如下:
1 | getPathWithinServletMapping:192, UrlPathHelper (org.springframework.web.util) |
最近开发 BPM 流程编排引擎,需要将部分 Java 方法注册为业务节点供界面上管理业务流程,此时需要获取 Java 方法的签名,其中参数名获取出来是 arg0
, arg1
, arg2
这样的,查询了下文档,.class
文件默认没有包含形式参数名称,因为含有形式参数名称时需要更大的静态及动态空间占用且部分场景形式参数名称会暴露安全敏感方法的信息,需要编译时加上 -parameters
以保留形式参数名称至运行时。
在之前的场景中,我经常使用 Apache Maven Shade Plugin 给 Hive-UDF、Spark 应用等处理应用所需的依赖版本与系统库依赖版本不一致且不能兼容的问题,今天的场景为需要将一个工程的依赖进行重定位,且该工程构建的 fat jar 需要作为依赖被其他工程引入,但是引入后发现虽然设置的类被进行了重定位,但是构建的 jar 中的 pom.xml 依然含有之前的传递依赖,导致可能影响到引入依赖工程的依赖管理,查询了文档,发现这个持续 11 年的问题已经在 maven-shade-plugin 的 3.0.0 版本中被修复。
NOTES-shading-dependencies
MSHADE-36 Add option to include dependency reduced POM instead of original one - ASF JIRA
此文记录简单的二进制补码与十进制值的转换逻辑,关于补码的更多原理可以参考文末的链接。