天天看點

JAVA中,如果發現一個值起作用,卻又沒找到哪裡使用,檢查一下是否有native/JNI中反射

 字位置錯了,于是跟蹤。考慮了幾個方案:

  • 檢查哪裡繪制。
  • 檢查哪裡調整。
  • 檢查位置傳遞路徑。

 前述兩個方案都沒下文,于是考慮第三個方案。把坐标增加一下,字位置同時增加。于是一路跟蹤,到了一個類:

  • 本類中其他地方用到了,在使用處增加,位置不變。
  • 在傳遞位置增加,位置變化。
  • 改成private,也不報錯,說明别處沒用到。

  真是奇怪了。反複确認了結果後,就猜測一個可能:是不是native/JNI通過反射使用了?兩個查找方法:

  • 搜尋是否有反射本類。
  • 把字段改名看看。

  果然是有類進行了反射。