什么是JNI内存泄露,基本的避免方法 :

http://www.ibm.com/developerworks/cn/java/j-lo-jnileak/

最近的课题中需要用到Spark,同组同学负责的算法用c++写的,数据库读取及调用算法用的是java,因此在整合的时候用到了jni。

因为任务需要并行,因此想到了用多线程实现。

程序在单机单线程的情况下运行没问题,当开两个线程的时候就出现了如下错误:

# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7c930cce, pid=6224, tid=736
#
# JRE version: Java(TM) SE Runtime Environment (8.0_11-b12) (build 1.8.0_11-b12)
# Java VM: Java HotSpot(TM) Client VM (25.11-b03 mixed mode windows-x86 )
# Problematic frame:
# [thread 4240 also had an error]
C  [ntdll.dll+0x10cce]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# An error report file with more information is saved as:
# E:\eclipse4EE\workspace\MongoLoc\hs_err_pid6224.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

java虚拟机崩溃。

JVM错误日志文件如下:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000e, pid=6240, tid=1404
#
# JRE version: Java(TM) SE Runtime Environment (8.0_11-b12) (build 1.8.0_11-b12)
# Java VM: Java HotSpot(TM) Client VM (25.11-b03 mixed mode windows-x86 )
# Problematic frame:
# C  0x0000000e
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#---------------  T H R E A D  ---------------Current thread (0x0b1f3400):  JavaThread "Thread-0" [_thread_in_native, id=1404, stack(0x0b5d0000,0x0b620000)]siginfo: ExceptionCode=0xc0000005, reading address 0x0000000eRegisters:
EAX=0x0000000e, EBX=0x003e8748, ECX=0x474e5543, EDX=0x432b2b00
ESP=0x0b61f4ec, EBP=0x0b61f548, ESI=0x0b61f528, EDI=0x0b1f3400
EIP=0x0000000e, EFLAGS=0x00010202Top of Stack: (sp=0x0b61f4ec)
0x0b61f4ec:   66396350 00000001 00000001 432b2b00
0x0b61f4fc:   474e5543 003e8748 0b61f528 ffffffff
0x0b61f50c:   7c9301db 77bfc3c9 00000064 003e8768
0x0b61f51c:   0b66f6cc 0b1f3400 0b61f534 0bc450b8
0x0b61f52c:   0b66f80c 0bd486a0 66383940 664055d0
0x0b61f53c:   003e8748 0bc450b8 0b1f3400 0b61f568
0x0b61f54c:   6638588e 003e8748 00000000 00000000
0x0b61f55c:   77bfc42e 00000028 0bc450b8 0b61f588 Instructions: (pc=0x0000000e)
0xffffffee:   Register to memory mapping:EAX=0x0000000e is an unknown value
EBX=0x003e8748 is an unknown value
ECX=0x474e5543 is an unknown value
EDX=0x432b2b00 is an unknown value
ESP=0x0b61f4ec is pointing into the stack for thread: 0x0b1f3400
EBP=0x0b61f548 is pointing into the stack for thread: 0x0b1f3400
ESI=0x0b61f528 is pointing into the stack for thread: 0x0b1f3400
EDI=0x0b1f3400 is a threadStack: [0x0b5d0000,0x0b620000],  sp=0x0b61f4ec,  free space=317k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  0x0000000e
C  [SpeedEstimate.dll+0x588e]
C  [SpeedEstimate.dll+0x4824]
C  [SpeedEstimate.dll+0x261c8]
C  [SpeedEstimate.dll+0x58ca6]
C  [SpeedEstimate.dll+0x58dbc]
C  [SpeedEstimate.dll+0x7468f]
C  [SpeedEstimate.dll+0x228d0]
C  [SpeedEstimate.dll+0x1b8c]
C  [SpeedEstimate.dll+0x20b24]
C  [SpeedEstimate.dll+0x2aa0]
C  [SpeedEstimate.dll+0x2bf5]
j  tong.mongo.loction.LinkedC.StreetEstimate(Ltong/mongo/defclass/MapLoc;Ltong/mongo/defclass/Car;)Ltong/mongo/defclass/StreetEstimateOutput;+0
j  tong.mongo.loction.MdbThread2.run()V+1207
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub
V  [jvm.dll+0x142295]
V  [jvm.dll+0x2073ae]
V  [jvm.dll+0x14232e]
V  [jvm.dll+0x1424b6]
V  [jvm.dll+0x142527]
V  [jvm.dll+0xedebf]
V  [jvm.dll+0x1646ac]
V  [jvm.dll+0x164f3a]
V  [jvm.dll+0x1a9316]
C  [msvcr100.dll+0x5c556]
C  [msvcr100.dll+0x5c600]
C  [kernel32.dll+0xb729]Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  tong.mongo.loction.LinkedC.StreetEstimate(Ltong/mongo/defclass/MapLoc;Ltong/mongo/defclass/Car;)Ltong/mongo/defclass/StreetEstimateOutput;+0
j  tong.mongo.loction.MdbThread2.run()V+1207
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub---------------  P R O C E S S  ---------------Java Threads: ( => current thread )0x0b6c1800 JavaThread "MongoCleaner1963207" daemon [_thread_blocked, id=6808, stack(0x0bb80000,0x0bbd0000)]0x0b6b4800 JavaThread "MongoCleaner19725142" daemon [_thread_blocked, id=7236, stack(0x0bb30000,0x0bb80000)]0x0b6ac400 JavaThread "cluster-2-127.0.0.1:27017" daemon [_thread_blocked, id=8120, stack(0x0bae0000,0x0bb30000)]0x0b6ab800 JavaThread "cluster-1-127.0.0.1:27017" daemon [_thread_blocked, id=7252, stack(0x0ba90000,0x0bae0000)]0x0b1f4800 JavaThread "Thread-1" [_thread_in_native, id=3284, stack(0x0b620000,0x0b670000)]
=>0x0b1f3400 JavaThread "Thread-0" [_thread_in_native, id=1404, stack(0x0b5d0000,0x0b620000)]0x0b1a8800 JavaThread "Service Thread" daemon [_thread_blocked, id=7368, stack(0x0b440000,0x0b490000)]0x0b174400 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=6272, stack(0x0b3f0000,0x0b440000)]0x0b172800 JavaThread "Attach Listener" daemon [_thread_blocked, id=6572, stack(0x0b3a0000,0x0b3f0000)]0x0b187400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=7200, stack(0x0b350000,0x0b3a0000)]0x02b4e400 JavaThread "Finalizer" daemon [_thread_blocked, id=6180, stack(0x0b100000,0x0b150000)]0x02b48400 JavaThread "Reference Handler" daemon [_thread_blocked, id=7344, stack(0x0b0b0000,0x0b100000)]0x0086a000 JavaThread "main" [_thread_in_native, id=5080, stack(0x00950000,0x009a0000)]Other Threads:0x02b45000 VMThread [stack: 0x0b060000,0x0b0b0000] [id=6344]0x0b1aa800 WatcherThread [stack: 0x0b490000,0x0b4e0000] [id=3048]VM state:not at safepoint (normal execution)VM Mutex/Monitor currently owned by a thread: NoneHeap:def new generation   total 58944K, used 22049K [0x02c00000, 0x06bf0000, 0x06c00000)eden space 52416K,  42% used [0x02c00000, 0x041884a0, 0x05f30000)from space 6528K,   0% used [0x05f30000, 0x05f30000, 0x06590000)to   space 6528K,   0% used [0x06590000, 0x06590000, 0x06bf0000)tenured generation   total 64K, used 0K [0x06c00000, 0x06c10000, 0x0ac00000)the space 64K,   0% used [0x06c00000, 0x06c00000, 0x06c00200, 0x06c10000)Metaspace       used 4583K, capacity 4630K, committed 4736K, reserved 5504KCard table byte_map: [0x02b50000,0x02ba0000] byte_map_base: 0x02b3a000Polling page: 0x009a0000CodeCache: size=32768Kb used=1110Kb max_used=1110Kb free=31657Kbbounds [0x009d0000, 0x00ae8000, 0x029d0000]total_blobs=430 nmethods=266 adapters=96compilation: enabledCompilation events (10 events):
Event: 4.095 Thread 0x0b174400  258             org.bson.io.OutputBuffer::writeInt (32 bytes)
Event: 4.095 Thread 0x0b174400 nmethod 258 0x00ae4608 code [0x00ae4730, 0x00ae4840]
Event: 4.102 Thread 0x0b174400  259             java.util.TreeMap::getFirstEntry (26 bytes)
Event: 4.102 Thread 0x0b174400 nmethod 259 0x00ae4908 code [0x00ae4a00, 0x00ae4aa0]
Event: 4.119 Thread 0x0b174400  261             tong.mongo.defclass.Line::<init> (5 bytes)
Event: 4.119 Thread 0x0b174400 nmethod 261 0x00ae4e08 code [0x00ae4f00, 0x00ae4f80]
Event: 4.137 Thread 0x0b174400  262             java.util.TreeMap$KeyIterator::next (8 bytes)
Event: 4.137 Thread 0x0b174400 nmethod 262 0x00ae4fc8 code [0x00ae50d0, 0x00ae516c]
Event: 4.148 Thread 0x0b174400  263             java.util.AbstractSet::<init> (5 bytes)
Event: 4.148 Thread 0x0b174400 nmethod 263 0x00ae5208 code [0x00ae5300, 0x00ae5380]GC Heap History (0 events):
No eventsDeoptimization events (0 events):
No eventsInternal exceptions (10 events):
Event: 4.007 Thread 0x0b1f4800 Exception <a 'java/security/PrivilegedActionException'> (0x0364b298) thrown at [D:\re\puppet\workspace\8-2-build-windows-i586-cygwin\jdk8u11\648\hotspot\src\share\vm\prims\jvm.cpp, line 1248]
Event: 4.008 Thread 0x0b1f3400 Exception <a 'java/security/PrivilegedActionException'> (0x03318b20) thrown at [D:\re\puppet\workspace\8-2-build-windows-i586-cygwin\jdk8u11\648\hotspot\src\share\vm\prims\jvm.cpp, line 1248]
Event: 4.010 Thread 0x0b1f3400 Exception <a 'java/security/PrivilegedActionException'> (0x0331bde0) thrown at [D:\re\puppet\workspace\8-2-build-windows-i586-cygwin\jdk8u11\648\hotspot\src\share\vm\prims\jvm.cpp, line 1248]
Event: 4.011 Thread 0x0b1f3400 Exception <a 'java/security/PrivilegedActionException'> (0x0331f908) thrown at [D:\re\puppet\workspace\8-2-build-windows-i586-cygwin\jdk8u11\648\hotspot\src\share\vm\prims\jvm.cpp, line 1248]
Event: 4.011 Thread 0x0b1f3400 Exception <a 'java/security/PrivilegedActionException'> (0x03322820) thrown at [D:\re\puppet\workspace\8-2-build-windows-i586-cygwin\jdk8u11\648\hotspot\src\share\vm\prims\jvm.cpp, line 1248]
Event: 4.019 Thread 0x0b1f3400 Exception <a 'java/security/PrivilegedActionException'> (0x03755ea8) thrown at [D:\re\puppet\workspace\8-2-build-windows-i586-cygwin\jdk8u11\648\hotspot\src\share\vm\prims\jvm.cpp, line 1248]
Event: 4.023 Thread 0x0b1f3400 Exception <a 'java/security/PrivilegedActionException'> (0x0375ec58) thrown at [D:\re\puppet\workspace\8-2-build-windows-i586-cygwin\jdk8u11\648\hotspot\src\share\vm\prims\jvm.cpp, line 1248]
Event: 4.066 Thread 0x0b1f4800 Exception <a 'java/security/PrivilegedActionException'> (0x03871610) thrown at [D:\re\puppet\workspace\8-2-build-windows-i586-cygwin\jdk8u11\648\hotspot\src\share\vm\prims\jvm.cpp, line 1248]
Event: 4.067 Thread 0x0b1f4800 Exception <a 'java/security/PrivilegedActionException'> (0x03875760) thrown at [D:\re\puppet\workspace\8-2-build-windows-i586-cygwin\jdk8u11\648\hotspot\src\share\vm\prims\jvm.cpp, line 1248]
Event: 4.131 Thread 0x0b1f3400 Exception <a 'java/security/PrivilegedActionException'> (0x03f5b5b8) thrown at [D:\re\puppet\workspace\8-2-build-windows-i586-cygwin\jdk8u11\648\hotspot\src\share\vm\prims\jvm.cpp, line 1248]Events (10 events):
Event: 4.023 loading class tong/mongo/defclass/Line
Event: 4.023 loading class tong/mongo/defclass/Line done
Event: 4.066 loading class com/mongodb/QueryResultIterator$OptionalFinalizer
Event: 4.066 loading class com/mongodb/QueryResultIterator$OptionalFinalizer done
Event: 4.067 loading class com/mongodb/ServerAddressSelector
Event: 4.067 loading class com/mongodb/ServerAddressSelector done
Event: 4.131 loading class tong/mongo/loction/LinkedC
Event: 4.131 loading class tong/mongo/loction/LinkedC done
Event: 4.132 loading class java/lang/ClassLoaderHelper
Event: 4.132 loading class java/lang/ClassLoaderHelper doneDynamic libraries:
0x00400000 - 0x00430000     C:\Program Files\Java\jdk8\bin\javaw.exe
0x7c920000 - 0x7c9b6000     C:\WINDOWS\system32\ntdll.dll
0x7c800000 - 0x7c91e000     C:\WINDOWS\system32\kernel32.dll
0x77da0000 - 0x77e49000     C:\WINDOWS\system32\ADVAPI32.dll
0x77e50000 - 0x77ee3000     C:\WINDOWS\system32\RPCRT4.dll
0x77fc0000 - 0x77fd1000     C:\WINDOWS\system32\Secur32.dll
0x77d10000 - 0x77da0000     C:\WINDOWS\system32\USER32.dll
0x77ef0000 - 0x77f39000     C:\WINDOWS\system32\GDI32.dll
0x77180000 - 0x77283000     C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.6028_x-ww_61e65202\COMCTL32.dll
0x77be0000 - 0x77c38000     C:\WINDOWS\system32\msvcrt.dll
0x77f40000 - 0x77fb6000     C:\WINDOWS\system32\SHLWAPI.dll
0x76300000 - 0x7631d000     C:\WINDOWS\system32\IMM32.DLL
0x62c20000 - 0x62c29000     C:\WINDOWS\system32\LPK.DLL
0x73fa0000 - 0x7400b000     C:\WINDOWS\system32\USP10.dll
0x78aa0000 - 0x78b5f000     C:\Program Files\Java\jdk8\jre\bin\msvcr100.dll
0x6d250000 - 0x6d5e7000     C:\Program Files\Java\jdk8\jre\bin\client\jvm.dll
0x71a40000 - 0x71a4b000     C:\WINDOWS\system32\WSOCK32.dll
0x71a20000 - 0x71a37000     C:\WINDOWS\system32\WS2_32.dll
0x71a10000 - 0x71a18000     C:\WINDOWS\system32\WS2HELP.dll
0x76b10000 - 0x76b3a000     C:\WINDOWS\system32\WINMM.dll
0x76bc0000 - 0x76bcb000     C:\WINDOWS\system32\PSAPI.DLL
0x6f650000 - 0x6f65c000     C:\Program Files\Java\jdk8\jre\bin\verify.dll
0x6dac0000 - 0x6dae1000     C:\Program Files\Java\jdk8\jre\bin\java.dll
0x6f6e0000 - 0x6f6f3000     C:\Program Files\Java\jdk8\jre\bin\zip.dll
0x7d590000 - 0x7dd84000     C:\WINDOWS\system32\SHELL32.dll
0x759d0000 - 0x75a7f000     C:\WINDOWS\system32\USERENV.dll
0x6ee40000 - 0x6ee54000     C:\Program Files\Java\jdk8\jre\bin\net.dll
0x10000000 - 0x10038000     C:\Documents and Settings\Administrator\Local Settings\Application Data\Tudou\FeisuTudou\ikutm.dll
0x76990000 - 0x76ace000     C:\WINDOWS\system32\ole32.dll
0x0b4e0000 - 0x0b51e000     C:\Documents and Settings\Administrator\Local Settings\Application Data\Tudou\FeisuTudou\ikutmco.dll
0x719c0000 - 0x719fe000     C:\WINDOWS\system32\mswsock.dll
0x60fd0000 - 0x61025000     C:\WINDOWS\system32\hnetcfg.dll
0x71a00000 - 0x71a08000     C:\WINDOWS\System32\wshtcpip.dll
0x76d30000 - 0x76d48000     C:\WINDOWS\system32\IPHLPAPI.DLL
0x76d10000 - 0x76d28000     C:\WINDOWS\system32\MPRAPI.dll
0x77c90000 - 0x77cc2000     C:\WINDOWS\system32\ACTIVEDS.dll
0x76de0000 - 0x76e05000     C:\WINDOWS\system32\adsldpc.dll
0x5fdd0000 - 0x5fe25000     C:\WINDOWS\system32\NETAPI32.dll
0x76f30000 - 0x76f5c000     C:\WINDOWS\system32\WLDAP32.dll
0x76af0000 - 0x76b01000     C:\WINDOWS\system32\ATL.DLL
0x770f0000 - 0x7717b000     C:\WINDOWS\system32\OLEAUT32.dll
0x76e50000 - 0x76e5e000     C:\WINDOWS\system32\rtutils.dll
0x71b70000 - 0x71b83000     C:\WINDOWS\system32\SAMLIB.dll
0x76060000 - 0x761b6000     C:\WINDOWS\system32\SETUPAPI.dll
0x6eda0000 - 0x6edaa000     C:\Program Files\Java\jdk8\jre\bin\management.dll
0x76ef0000 - 0x76f17000     C:\WINDOWS\system32\DNSAPI.dll
0x76f80000 - 0x76f88000     C:\WINDOWS\System32\winrnr.dll
0x76f90000 - 0x76f96000     C:\WINDOWS\system32\rasadhlp.dll
0x6ee60000 - 0x6ee6f000     C:\Program Files\Java\jdk8\jre\bin\nio.dll
0x66380000 - 0x664c4000     E:\eclipse4EE\workspace\MongoLoc\SpeedEstimate.dll
0x68d60000 - 0x68e01000     C:\WINDOWS\system32\dbghelp.dll
0x77bd0000 - 0x77bd8000     C:\WINDOWS\system32\VERSION.dllVM Arguments:
jvm_args: -Xms64m -Xmx128m -Xmn64m -Dfile.encoding=GBK
java_command: tong.mongo.loction.MdbFindThread2
java_class_path (initial): E:\eclipse4EE\workspace\MongoLoc\bin;C:\Program Files\Java\jdk1.7.0_71\lib\ext\mongo-java-driver-2.13.0-rc1.jar
Launcher Type: SUN_STANDARDEnvironment Variables:
JAVA_HOME=C:\Program Files\Java\jdk1.7.0_71
CLASSPATH=.;C:\Program Files\Java\jdk1.7.0_71\lib\dt.jar;C:\Program Files\Java\jdk1.7.0_71\lib\tools.jar;C:\Program Files\Java\jre6\lib\rt.jar;D:\apache-tomcat-6.0.43\lib\servlet-api.jar;
PATH=C:/Program Files/Java/jdk1.7.0_71/jre/bin/client;C:/Program Files/Java/jdk1.7.0_71/jre/bin;C:/Program Files/Java/jdk1.7.0_71/jre/lib/i386;C:\apache-maven-3.2.3\bin;C:\Program Files\Java\jdk1.7.0_71\jre\bin;C:\Program Files\Java\jdk8\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;E:\Matlab2013a\runtime\win32;E:\Matlab2013a\bin;E:\runtime\win32;E:\mysql 5.1\bin;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;D:\vs2008\Common7\IDE\PrivateAssemblies\;C:\WINDOWS\system32\WindowsPowerShell\v1.0;E:\bin;c:\Program Files\Common Files\Ulead Systems\MPEG;C:\Program Files\Java\jdk1.7.0_71\bin;E:\Android\android-sdk-windows\tools;E:\Android\android-sdk-windows\platform-tools;C:\Program Files\scala\bin;E:\sbt\bin;D:\apache-tomcat-6.0.43\lib;D:\apache-tomcat-6.0.43\bin;E:\mongodb-win32-i386-2.0.7\bin;E:\eclipse4EE\eclipse;
USERNAME=Administrator
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 6 Model 23 Stepping 6, GenuineIntel---------------  S Y S T E M  ---------------OS: Windows XP Build 2600 Service Pack 3CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 23 stepping 6, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, tscMemory: 4k page, physical 2085780k(366936k free), swap 2977508k(896652k free)vm_info: Java HotSpot(TM) Client VM (25.11-b03) for windows-x86 JRE (1.8.0_11-b12), built on Jun 16 2014 18:18:58 by "java_re" with MS VC++ 10.0 (VS2010)time: Tue Apr 21 20:34:24 2015
elapsed time: 4 seconds

问题分析:

查阅网上资料,可能原因是内存泄露。

原因是调用c++库的内容有错误。

逐步定位,经检查,发现是代码中初始化数据的时候出现了问题

在这个过程中学习了JNI,JVM结构以及内存管理

参考资料:

http://www.oschina.net/question/248406_120277?sort=default&p=2#answers

http://www.oschina.net/question/217574_162291

转载于:https://www.cnblogs.com/gnivor/p/4445474.html

JNI错误记录--JNI程序调用本地库时JVM崩溃相关推荐

  1. JNI调用本地库时JAVA虚拟机异常退出问题定位,通过虚拟机生成的hs_err_pidxxx.log日志文件定位过程...

    JAVA代码中有一处需要通过JNI调用本地的DLL库,每次一到这里整个程序就直接闪退,程序目录下有生成的虚拟机日志文件hs_err_pidxxx.log,相同的程序运行在别的机器上都没有问题,刚开始无 ...

  2. #2微信小程序错误:音乐API调用音乐URL时出现错误

    调用的音乐API的URL不正确,正确的URL操作是: 以网易云音乐为例: (1)打开官网,随机播放音乐 (2)F12调出开发者工具 (3)找到v1开头的文件双击打开,找到音乐的URL

  3. Heroku应用程序在尝试运行时不断崩溃怎么解决

    我终于能够将我的应用程序部署到Heroku ..除非现在应用程序拒绝运行. 我的应用程序使用应用程序工厂,我在Windows上开发它. 我已经尝试创建一个runserver.py文件,该文件使用工厂的 ...

  4. 小程序微信授权登录服务器异常,解决调试腾讯云微信小程序Demo错误“登录失败:调用鉴权服务失败#40029_WEIXIN_CODE_ERR”...

    此文章解决大家有可能遇到的"登录失败:调用鉴权服务失败#40029的问题"~~ 很多人出现上面的问题,那是因为:如果在购买解决方案时,把AppId 和 AppSecret 填写错误 ...

  5. 微信小程序获取用户手机号码,Java后台servlet解密(微信小程序调用微信支付也是大致的流程)

    本篇记录说明 微信小程序获取用户手机号码,Java后台servlet解密(微信小程序调用微信支付也是大致的流程,详细内容可私信交流) (第一次写博客,写得不好的地方见谅,面向新手,大佬请无视,不喜勿喷 ...

  6. 本地方法(JNI)——从java 程序中调用C函数

    [0]README 1) 本文部分文字描述 转自 core java volume 2 , 旨在理解 本地方法--从java 程序中调用C函数 的基础知识 : 2) for source code, ...

  7. Android JNI简单实例(android 调用C/C++代码)

    转载自 xiechengfa 最终编辑 xiechengfa Android JNI简单实例关键字: android.jni Android的jni实例 android 的应用程序(Dalvik VM ...

  8. java运行出现JNI错误,JDK8和JDK11都安装了

    java运行出现JNI错误,JDK8和JDK11都安装了 1. 问题描述 2. 尝试办法 3. 解决办法 3.1 解决方法: 3.2 测试结果成功 1. 问题描述 因为编程的需要,所以我安装了JDK8 ...

  9. 小程序调用微信支付返回错误

    小程序调用wx.requestPayment(OBJECT)这个方法发起微信支付,返回"调用支付JSAPI缺少参数:total_fee"这个错误.查看控制台发现预支付订单id为空( ...

最新文章

  1. 【百度地图API】北京周边7日游——图标按路线轨迹行动
  2. Git总是有没法重置的二进制相同的修改?不用怕!
  3. gcc 提供的原子操作
  4. 抖音数据统计_“彭十六elf”单条视频获赞200W+,荣登抖音TOP20丨红人榜
  5. BCGControlBar使用(九)
  6. [汇编语言]实验:更灵活的寻址方式 -应用si和di
  7. Asp.Net中WebForm与MVC,Web API模式对比
  8. set类型 php,常用php操作redis命令整理(四)SET类型详解
  9. oracle建表6大约束,oracle 建表 约束 constraint
  10. PHP trim()的使用
  11. SpringBoot自动装配原理与自己写一个starter
  12. Android中字体文件位置
  13. 控制台出现 Page “xxx“ has not been registered yet 和 uniapp的报错Uncaught Error: Module build fail xxx
  14. 腾讯人均月薪 8 万,恍恍惚惚,又被平均了?
  15. 数字证书基本知识总结
  16. Python小白的飞桨之旅
  17. 数据禾|长江经济带主要城市坡度数据
  18. 中央民族大学计算机考研2020,2020年中央民族大学856计算机学科专业综合考研复习资料...
  19. 享受科研,心怀远方:青年学者刘元玮的成长之路
  20. 【k8s系列十四】nginx-ingress原理

热门文章

  1. mysql navicat 组合索引_Navicat设置MySQL索引+MySQL索引知识
  2. oracle xmltype转字节,extractvalue处理XMLTYPE类型超过4000字节ORA-01706的解决方法
  3. python多线程扫描_python实现多线程扫描网站目录
  4. 什么是进程什么是线程,他们的区别是什么
  5. java中lambda表达式的应用
  6. Premiere Pro CC2015软件安装教程
  7. java-模拟出栈入栈
  8. 计算机动画课程设计,计算机动画课程设计.doc
  9. 总线上加三个终端电阻可以吗_什么是RS485总线?怎么使用RS485总线?
  10. oracle 如何添加数据文件,Oracle教程 误添加数据文件删除方法