在使用HSDB的時候,報了一個錯,java
Exception in thread "Thread-1" java.lang.UnsatisfiedLinkError: Can't load library: E:\Program Files\Java\jre\bin\sawindbg.dll at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.load0(Unknown Source) at java.lang.System.load(Unknown Source) at sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal.<clinit>(WindbgDebuggerLocal.java:661) at sun.jvm.hotspot.HotSpotAgent.setupDebuggerWin32(HotSpotAgent.java:567) at sun.jvm.hotspot.HotSpotAgent.setupDebugger(HotSpotAgent.java:335) at sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:304) at sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:140) at sun.jvm.hotspot.HSDB.attach(HSDB.java:1184) at sun.jvm.hotspot.HSDB.access$1700(HSDB.java:53) at sun.jvm.hotspot.HSDB$25$1.run(HSDB.java:456) at sun.jvm.hotspot.utilities.WorkerThread$MainLoop.run(WorkerThread.java:66) at java.lang.Thread.run(Unknown Source)
把本身E:\Program Files\Java\jre\bin目錄下sawindbg.dll 粘貼到E:\Program Files\Java\jdk1.8.0_111\jre\bin 下既好。app
爲何會報Unknown Source???可能由於跨線程了,致使捕獲不了線程的錯誤信息。jvm
咱們來看一看jdk對UnsatisfiedLinkError的定義:ide
Thrown if the Java Virtual Machine cannot find an appropriate
native-language definition of a method declared native.
由於JVM找不到本地語言定義的方法因此報這個錯。
常常看到Exception的錯誤,終於見到了一次Error的錯誤!!!oop