在Java中当我们要对数据进行更底层的操作时,一般是操作数据的字节(byte)形式,这时经常会用到ByteBuffer这样一个类。ByteBuffer提供了两种静态实例方式:

    public static ByteBuffer allocate(int capacity)  public static ByteBuffer allocateDirect(int capacity)  

为什么要提供两种方式呢?这与Java的内存使用机制有关。第一种分配方式产生的内存开销是在JVM中的,而另外一种的分配方式产生的开销在JVM之外,以就是系统级的内存分配。当Java程序接收到外部传来的数据时,首先是被系统内存所获取,然后在由系统内存复制复制到JVM内存中供Java程序使用。所以在另外一种分配方式中,能够省去复制这一步操作,效率上会有所提高。可是系统级内存的分配比起JVM内存的分配要耗时得多,所以并非不论什么时候allocateDirect的操作效率都是最高的。以下是一个不同容量情况下两种分配方式的操作时间对照:

由图能够看出,当操作数据量非常小时,两种分配方式操作使用时间基本是同样的,第一种方式有时可能会更快,可是当数据量非常大时,另外一种方式会远远大于第一种的分配方式。

导致以下错误的原因在于:
JNI调用C方法自然是使用系统内存。
public static ByteBuffer allocate(int capacity)方法在JVM创建的缓冲区C方法是读不到的。
所以必须使用
public static ByteBuffer allocateDirect(int capacity)在系统内存中操作我们的数据。
正式由于C方法读不到JVM中的我们写入的数据,才会导致报jarray was NULL

06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65] JNI DETECTED ERROR IN APPLICATION: jarray was NULL
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]     in call to GetPrimitiveArrayCritical
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]     from void com.google.android.gles_jni.GLImpl.glDrawElements(int, int, int, java.nio.Buffer)
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65] "GLThread 1977" prio=5 tid=18 Runnable
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]   | group="main" sCount=0 dsCount=0 obj=0x12df5cf0 self=0xa3db1400
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]   | sysTid=9431 nice=0 cgrp=default sched=0/0 handle=0xa3d72300
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]   | state=R schedstat=( 6864840 8233024 28 ) utm=0 stm=0 core=0 HZ=100
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]   | stack=0xa123b000-0xa123d000 stackSize=1036KB
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]   | held mutexes= "mutator lock"(shared held)
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]   native: #00 pc 000047e0  /system/lib/libbacktrace_libc++.so (_ZN13UnwindCurrent6UnwindEjP8ucontext+23)
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]   native: #01 pc 00002ff9  /system/lib/libbacktrace_libc++.so (_ZN9Backtrace6UnwindEjP8ucontext+8)
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]   native: #02 pc 00244051  /system/lib/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiPKcPNS_6mirror9ArtMethodE+68)
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]   native: #03 pc 00228375  /system/lib/libart.so (_ZNK3art6Thread4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+144)
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]   native: #04 pc 000b006b  /system/lib/libart.so (_ZN3artL8JniAbortEPKcS1_+582)
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]   native: #05 pc 000b07b1  /system/lib/libart.so (_ZN3art9JniAbortFEPKcS1_z+60)
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]   native: #06 pc 000b2fc1  /system/lib/libart.so (_ZN3art11ScopedCheck5CheckEbPKcz.constprop.129+1784)
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]   native: #07 pc 000bd5db  /system/lib/libart.so (_ZN3art8CheckJNI25GetPrimitiveArrayCriticalEP7_JNIEnvP7_jarrayPh+50)
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]   native: #08 pc 000591b4  /system/lib/libandroid_runtime.so (???)
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]   native: #09 pc 009102c5  /data/dalvik-cache/arm/system@framework@boot.oat (Java_com_google_android_gles_1jni_GLImpl_glDrawElements__IIILjava_nio_Buffer_2+128)
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]   at com.google.android.gles_jni.GLImpl.glDrawElements(Native method)
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]   at com.example.a3d_study_2.No_3_polygon.MyRenderer.onDrawFrame(MyRenderer.java:85)
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]   at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1522)
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]   at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1239)
06-07 20:04:52.745 A/art: art/runtime/check_jni.cc:65]
06-07 20:04:52.752 D/OpenGLRenderer: endAllStagingAnimators on 0xa3d48980 (RippleDrawable) with handle 0xa3c03880
06-07 20:04:52.761 I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@1fb6dc35 time:14500632
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289] Runtime aborting...
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289] Aborting thread:
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289] "GLThread 1977" prio=5 tid=18 Native
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   | group="" sCount=0 dsCount=0 obj=0x12df5cf0 self=0xa3db1400
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   | sysTid=9431 nice=0 cgrp=default sched=0/0 handle=0xa3d72300
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   | state=R schedstat=( 24570934 24936514 59 ) utm=0 stm=2 core=0 HZ=100
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   | stack=0xa123b000-0xa123d000 stackSize=1036KB
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   | held mutexes= "abort lock" "mutator lock"(shared held)
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   native: #00 pc 000047e0  /system/lib/libbacktrace_libc++.so (_ZN13UnwindCurrent6UnwindEjP8ucontext+23)
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   native: #01 pc 00002ff9  /system/lib/libbacktrace_libc++.so (_ZN9Backtrace6UnwindEjP8ucontext+8)
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   native: #02 pc 00244051  /system/lib/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiPKcPNS_6mirror9ArtMethodE+68)
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   native: #03 pc 00228375  /system/lib/libart.so (_ZNK3art6Thread4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+144)
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   native: #04 pc 0021761f  /system/lib/libart.so (_ZN3art10AbortState10DumpThreadERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEPNS_6ThreadE+22)
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   native: #05 pc 00217885  /system/lib/libart.so (_ZN3art10AbortState4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+364)
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   native: #06 pc 00217a51  /system/lib/libart.so (_ZN3art7Runtime5AbortEv+72)
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   native: #07 pc 000a654b  /system/lib/libart.so (_ZN3art10LogMessageD1Ev+1322)
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   native: #08 pc 000b0259  /system/lib/libart.so (_ZN3artL8JniAbortEPKcS1_+1076)
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   native: #09 pc 000b07b1  /system/lib/libart.so (_ZN3art9JniAbortFEPKcS1_z+60)
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   native: #10 pc 000b2fc1  /system/lib/libart.so (_ZN3art11ScopedCheck5CheckEbPKcz.constprop.129+1784)
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   native: #11 pc 000bd5db  /system/lib/libart.so (_ZN3art8CheckJNI25GetPrimitiveArrayCriticalEP7_JNIEnvP7_jarrayPh+50)
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   native: #12 pc 000591b4  /system/lib/libandroid_runtime.so (???)
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   native: #13 pc 009102c5  /data/dalvik-cache/arm/system@framework@boot.oat (Java_com_google_android_gles_1jni_GLImpl_glDrawElements__IIILjava_nio_Buffer_2+128)
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   at com.google.android.gles_jni.GLImpl.glDrawElements(Native method)
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   at com.example.a3d_study_2.No_3_polygon.MyRenderer.onDrawFrame(MyRenderer.java:85)
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1522)
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289]   at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1239)
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289] Dumping all threads without appropriate locks held: thread list lock mutator lock
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289] All threads:
06-07 20:04:52.973 A/art: art/runtime/runtime.cc:289] DALVIK THREADS (18):
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289] "main" prio=5 tid=1 Native
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | group="" sCount=0 dsCount=0 obj=0x7405f000 self=0xb4828000
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | sysTid=9330 nice=0 cgrp=default sched=0/0 handle=0xb6f97bec
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | state=S schedstat=( 694907868 133387906 640 ) utm=66 stm=3 core=0 HZ=100
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | stack=0xbe41a000-0xbe41c000 stackSize=8MB
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | held mutexes=
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #00 pc 0003793c  /system/lib/libc.so (__epoll_pwait+20)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #01 pc 000121a7  /system/lib/libc.so (epoll_pwait+26)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #02 pc 000121b5  /system/lib/libc.so (epoll_wait+6)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #03 pc 00010e37  /system/lib/libutils.so (_ZN7android6Looper9pollInnerEi+98)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #04 pc 00011061  /system/lib/libutils.so (_ZN7android6Looper8pollOnceEiPiS1_PPv+92)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #05 pc 0007e6e1  /system/lib/libandroid_runtime.so (_ZN7android18NativeMessageQueue8pollOnceEP7_JNIEnvi+22)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #06 pc 000b3853  /data/dalvik-cache/arm/system@framework@boot.oat (Java_android_os_MessageQueue_nativePollOnce__JI+102)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   at android.os.MessageQueue.nativePollOnce(Native method)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   at android.os.MessageQueue.next(MessageQueue.java:143)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   at android.os.Looper.loop(Looper.java:125)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   at android.app.ActivityThread.main(ActivityThread.java:5513)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   at java.lang.reflect.Method.invoke!(Native method)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   at java.lang.reflect.Method.invoke(Method.java:372)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:971)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:766)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289] "Heap thread pool worker thread 0" prio=5 tid=2 Native (still starting up)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | group="" sCount=0 dsCount=0 obj=0x0 self=0xaec3f400
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | sysTid=9336 nice=0 cgrp=default sched=0/0 handle=0xb494b600
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | state=S schedstat=( 837919 1109372 11 ) utm=0 stm=0 core=0 HZ=100
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | stack=0xb42ee000-0xb42f0000 stackSize=1020KB
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | held mutexes=
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #00 pc 00010480  /system/lib/libc.so (syscall+28)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #01 pc 000a8f0f  /system/lib/libart.so (_ZN3art17ConditionVariable4WaitEPNS_6ThreadE+82)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #02 pc 00233257  /system/lib/libart.so (_ZN3art10ThreadPool7GetTaskEPNS_6ThreadE+50)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #03 pc 002331fd  /system/lib/libart.so (_ZN3art16ThreadPoolWorker3RunEv+52)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #04 pc 00233a39  /system/lib/libart.so (_ZN3art16ThreadPoolWorker8CallbackEPv+52)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #05 pc 00013fc3  /system/lib/libc.so (_ZL15__pthread_startPv+30)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #06 pc 00011f0b  /system/lib/libc.so (__start_thread+6)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   (no managed stack frames)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289] "Heap thread pool worker thread 1" prio=5 tid=3 Native (still starting up)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | group="" sCount=0 dsCount=0 obj=0x0 self=0xb4827800
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | sysTid=9337 nice=0 cgrp=default sched=0/0 handle=0xb4949080
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | state=S schedstat=( 904113 351513 8 ) utm=0 stm=0 core=0 HZ=100
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | stack=0xb41ee000-0xb41f0000 stackSize=1020KB
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | held mutexes=
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #00 pc 00010480  /system/lib/libc.so (syscall+28)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #01 pc 000a8f0f  /system/lib/libart.so (_ZN3art17ConditionVariable4WaitEPNS_6ThreadE+82)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #02 pc 00233257  /system/lib/libart.so (_ZN3art10ThreadPool7GetTaskEPNS_6ThreadE+50)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #03 pc 002331fd  /system/lib/libart.so (_ZN3art16ThreadPoolWorker3RunEv+52)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #04 pc 00233a39  /system/lib/libart.so (_ZN3art16ThreadPoolWorker8CallbackEPv+52)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #05 pc 00013fc3  /system/lib/libc.so (_ZL15__pthread_startPv+30)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #06 pc 00011f0b  /system/lib/libc.so (__start_thread+6)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   (no managed stack frames)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289] "Heap thread pool worker thread 2" prio=5 tid=4 Native (still starting up)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | group="" sCount=0 dsCount=0 obj=0x0 self=0xaec40400
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | sysTid=9338 nice=0 cgrp=default sched=0/0 handle=0xb4949300
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | state=S schedstat=( 774950 1763696 7 ) utm=0 stm=0 core=3 HZ=100
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | stack=0xb40ee000-0xb40f0000 stackSize=1020KB
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | held mutexes=
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #00 pc 00010480  /system/lib/libc.so (syscall+28)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #01 pc 000a8f0f  /system/lib/libart.so (_ZN3art17ConditionVariable4WaitEPNS_6ThreadE+82)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #02 pc 00233257  /system/lib/libart.so (_ZN3art10ThreadPool7GetTaskEPNS_6ThreadE+50)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #03 pc 002331fd  /system/lib/libart.so (_ZN3art16ThreadPoolWorker3RunEv+52)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #04 pc 00233a39  /system/lib/libart.so (_ZN3art16ThreadPoolWorker8CallbackEPv+52)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #05 pc 00013fc3  /system/lib/libc.so (_ZL15__pthread_startPv+30)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #06 pc 00011f0b  /system/lib/libc.so (__start_thread+6)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   (no managed stack frames)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289] "Signal Catcher" prio=5 tid=5 WaitingInMainSignalCatcherLoop
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | group="" sCount=0 dsCount=0 obj=0x12c000a0 self=0xb4829000
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | sysTid=9339 nice=0 cgrp=default sched=0/0 handle=0xb4949580
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | state=S schedstat=( 968854 149532 2 ) utm=0 stm=0 core=1 HZ=100
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | stack=0xb3fe4000-0xb3fe6000 stackSize=1012KB
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   | held mutexes=
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #00 pc 00038584  /system/lib/libc.so (__rt_sigtimedwait+12)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #01 pc 00015761  /system/lib/libc.so (sigwait+24)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #02 pc 0021ae9b  /system/lib/libart.so (_ZN3art13SignalCatcher13WaitForSignalEPNS_6ThreadERNS_9SignalSetE+66)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #03 pc 0021c9b1  /system/lib/libart.so (_ZN3art13SignalCatcher3RunEPv+196)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #04 pc 00013fc3  /system/lib/libc.so (_ZL15__pthread_startPv+30)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   native: #05 pc 00011f0b  /system/lib/libc.so (__start_thread+6)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]   (no managed stack frames)
06-07 20:04:52.974 A/art: art/runtime/runtime.cc:289]
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289] "JDWP" prio=5 tid=6 WaitingInMainDebuggerLoop
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | group="" sCount=0 dsCount=0 obj=0x12c050a0 self=0xaec41400
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | sysTid=9340 nice=0 cgrp=default sched=0/0 handle=0xb4949800
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | state=S schedstat=( 7814842 3455054 21 ) utm=0 stm=0 core=2 HZ=100
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | stack=0xb3ee2000-0xb3ee4000 stackSize=1012KB
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | held mutexes=
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #00 pc 00038ac4  /system/lib/libc.so (__pselect6+20)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #01 pc 0001375b  /system/lib/libc.so (select+60)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #02 pc 002835a7  /system/lib/libart.so (_ZN3art4JDWP12JdwpAdbState15ProcessIncomingEv+186)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #03 pc 0018fa39  /system/lib/libart.so (_ZN3art4JDWP9JdwpState3RunEv+348)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #04 pc 00190f63  /system/lib/libart.so (_ZN3art4JDWPL15StartJdwpThreadEPv+10)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #05 pc 00013fc3  /system/lib/libc.so (_ZL15__pthread_startPv+30)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #06 pc 00011f0b  /system/lib/libc.so (__start_thread+6)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   (no managed stack frames)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289] "ReferenceQueueDaemon" prio=5 tid=7 Waiting
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | group="" sCount=0 dsCount=0 obj=0x12c060a0 self=0xb4a28400
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | sysTid=9341 nice=0 cgrp=default sched=0/0 handle=0xb4949a80
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | state=S schedstat=( 1334687 289843 10 ) utm=0 stm=0 core=3 HZ=100
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | stack=0xb3d90000-0xb3d92000 stackSize=1036KB
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | held mutexes=
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #00 pc 00010480  /system/lib/libc.so (syscall+28)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #01 pc 000a8f0f  /system/lib/libart.so (_ZN3art17ConditionVariable4WaitEPNS_6ThreadE+82)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #02 pc 001e997b  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadExibNS_11ThreadStateE+998)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #03 pc 001ead99  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadEPNS_6mirror6ObjectExibNS_11ThreadStateE+120)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #04 pc 001f7a29  /system/lib/libart.so (_ZN3artL11Object_waitEP7_JNIEnvP8_jobject+32)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #05 pc 000003df  /data/dalvik-cache/arm/system@framework@boot.oat (Java_java_lang_Object_wait__+82)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   at java.lang.Object.wait!(Native method)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   - waiting on <0x2c5d4f17> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:134)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   - locked <0x2c5d4f17> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   at java.lang.Thread.run(Thread.java:818)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289] "FinalizerDaemon" prio=5 tid=8 Waiting
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | group="" sCount=0 dsCount=0 obj=0x12c06100 self=0xb4a29400
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | sysTid=9342 nice=0 cgrp=default sched=0/0 handle=0xb494b880
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | state=S schedstat=( 1478281 1046147 14 ) utm=0 stm=0 core=3 HZ=100
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | stack=0xb3c8c000-0xb3c8e000 stackSize=1036KB
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | held mutexes=
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #00 pc 00010480  /system/lib/libc.so (syscall+28)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #01 pc 000a8f0f  /system/lib/libart.so (_ZN3art17ConditionVariable4WaitEPNS_6ThreadE+82)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #02 pc 001e997b  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadExibNS_11ThreadStateE+998)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #03 pc 001ead99  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadEPNS_6mirror6ObjectExibNS_11ThreadStateE+120)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #04 pc 001f7a01  /system/lib/libart.so (_ZN3artL13Object_waitJIEP7_JNIEnvP8_jobjectxi+36)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #05 pc 0000060b  /data/dalvik-cache/arm/system@framework@boot.oat (Java_java_lang_Object_wait__JI+102)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   at java.lang.Object.wait!(Native method)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   - waiting on <0x149ddf04> (a java.lang.ref.ReferenceQueue)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   at java.lang.Object.wait(Object.java:422)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:101)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   - locked <0x149ddf04> (a java.lang.ref.ReferenceQueue)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:72)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:174)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   at java.lang.Thread.run(Thread.java:818)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289] "FinalizerWatchdogDaemon" prio=5 tid=9 Waiting
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | group="" sCount=0 dsCount=0 obj=0x12c06160 self=0xb4a29800
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | sysTid=9343 nice=0 cgrp=default sched=0/0 handle=0xb494bb00
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | state=S schedstat=( 602500 712135 3 ) utm=0 stm=0 core=3 HZ=100
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | stack=0xb3b88000-0xb3b8a000 stackSize=1036KB
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | held mutexes=
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #00 pc 00010480  /system/lib/libc.so (syscall+28)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #01 pc 000a8f0f  /system/lib/libart.so (_ZN3art17ConditionVariable4WaitEPNS_6ThreadE+82)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #02 pc 001e997b  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadExibNS_11ThreadStateE+998)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #03 pc 001ead99  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadEPNS_6mirror6ObjectExibNS_11ThreadStateE+120)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #04 pc 001f7a29  /system/lib/libart.so (_ZN3artL11Object_waitEP7_JNIEnvP8_jobject+32)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #05 pc 000003df  /data/dalvik-cache/arm/system@framework@boot.oat (Java_java_lang_Object_wait__+82)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   at java.lang.Object.wait!(Native method)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   - waiting on <0x22435ced> (a java.lang.Daemons$FinalizerWatchdogDaemon)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   at java.lang.Daemons$FinalizerWatchdogDaemon.waitForObject(Daemons.java:240)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   - locked <0x22435ced> (a java.lang.Daemons$FinalizerWatchdogDaemon)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:212)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   at java.lang.Thread.run(Thread.java:818)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289] "HeapTrimmerDaemon" prio=5 tid=10 Sleeping
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | group="" sCount=0 dsCount=0 obj=0x12c061c0 self=0xb4a29c00
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | sysTid=9344 nice=0 cgrp=default sched=0/0 handle=0xb494bd80
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | state=S schedstat=( 536667 0 2 ) utm=0 stm=0 core=1 HZ=100
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | stack=0xb3a84000-0xb3a86000 stackSize=1036KB
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   | held mutexes=
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #00 pc 00038a58  /system/lib/libc.so (nanosleep+12)
06-07 20:04:52.975 A/art: art/runtime/runtime.cc:289]   native: #01 pc 000224ad  /system/lib/libc.so (usleep+36)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #02 pc 0014216b  /system/lib/libart.so (_ZN3art2gc4Heap25DoPendingTransitionOrTrimEv+666)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #03 pc 000003df  /data/dalvik-cache/arm/system@framework@boot.oat (Java_dalvik_system_VMRuntime_trimHeap__+82)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   at dalvik.system.VMRuntime.trimHeap(Native method)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   - sleeping on an unknown object
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   at java.lang.Daemons$HeapTrimmerDaemon.run(Daemons.java:313)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   at java.lang.Thread.run(Thread.java:818)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289] "GCDaemon" prio=5 tid=11 Waiting
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   | group="" sCount=0 dsCount=0 obj=0x12c06220 self=0xb4a2a000
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   | sysTid=9345 nice=0 cgrp=default sched=0/0 handle=0xb494c000
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   | state=S schedstat=( 17986669 1742237 23 ) utm=0 stm=1 core=1 HZ=100
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   | stack=0xb3980000-0xb3982000 stackSize=1036KB
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   | held mutexes=
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #00 pc 00010480  /system/lib/libc.so (syscall+28)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #01 pc 000a8f0f  /system/lib/libart.so (_ZN3art17ConditionVariable4WaitEPNS_6ThreadE+82)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #02 pc 001e997b  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadExibNS_11ThreadStateE+998)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #03 pc 001ead99  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadEPNS_6mirror6ObjectExibNS_11ThreadStateE+120)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #04 pc 001f7a29  /system/lib/libart.so (_ZN3artL11Object_waitEP7_JNIEnvP8_jobject+32)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #05 pc 000003df  /data/dalvik-cache/arm/system@framework@boot.oat (Java_java_lang_Object_wait__+82)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   at java.lang.Object.wait!(Native method)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   - waiting on <0x294cf722> (a java.lang.Daemons$GCDaemon)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   at java.lang.Daemons$GCDaemon.run(Daemons.java:344)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   - locked <0x294cf722> (a java.lang.Daemons$GCDaemon)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   at java.lang.Thread.run(Thread.java:818)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289] "Binder_1" prio=5 tid=12 Native
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   | group="" sCount=0 dsCount=0 obj=0x12c570a0 self=0xaec42400
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   | sysTid=9346 nice=0 cgrp=default sched=0/0 handle=0xb494c280
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   | state=S schedstat=( 6388750 6482604 42 ) utm=0 stm=0 core=1 HZ=100
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   | stack=0xb3684000-0xb3686000 stackSize=1012KB
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   | held mutexes=
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #00 pc 000375e0  /system/lib/libc.so (__ioctl+8)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #01 pc 0004f6b5  /system/lib/libc.so (ioctl+14)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #02 pc 0001cbaf  /system/lib/libbinder.so (_ZN7android14IPCThreadState14talkWithDriverEb+138)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #03 pc 0001d09b  /system/lib/libbinder.so (_ZN7android14IPCThreadState20getAndExecuteCommandEv+6)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #04 pc 0001d0fd  /system/lib/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb+48)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #05 pc 00021273  /system/lib/libbinder.so (???)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #06 pc 0000ef55  /system/lib/libutils.so (_ZN7android6Thread11_threadLoopEPv+112)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #07 pc 0005c04d  /system/lib/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+72)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #08 pc 0000eac5  /system/lib/libutils.so (???)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #09 pc 00013fc3  /system/lib/libc.so (_ZL15__pthread_startPv+30)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #10 pc 00011f0b  /system/lib/libc.so (__start_thread+6)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   (no managed stack frames)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289] "Binder_2" prio=5 tid=13 Native
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   | group="" sCount=0 dsCount=0 obj=0x12c5a0a0 self=0xb4a2a400
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   | sysTid=9349 nice=0 cgrp=default sched=0/0 handle=0xaec93300
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   | state=S schedstat=( 3168853 3383179 32 ) utm=0 stm=0 core=0 HZ=100
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   | stack=0xaf3a3000-0xaf3a5000 stackSize=1012KB
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   | held mutexes=
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #00 pc 000375e0  /system/lib/libc.so (__ioctl+8)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #01 pc 0004f6b5  /system/lib/libc.so (ioctl+14)
06-07 20:04:52.976 A/art: art/runtime/runtime.cc:289]   native: #02 pc 0001cbaf  /system/lib/libbinder.so (_ZN7android14IPCThreadState14talkWithDriverEb+138)
06-07 20:04:52.977 A/art: art/runtime/runtime.cc:289]   native: #12 pc 000591b4  /system/lib/libandroid_runtime.so (???)
06-07 20:04:52.977 A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 9431 (GLThread 1977)

转载

ByteBuffer.allocate()/ByteBuffer.allocateDirect()/JNI DETECTED ERROR IN APPLICATION: jarray was NULL相关推荐

  1. JNI DETECTED ERROR IN APPLICATION: jarray was NULL

    项目中用到了opengles去展示三维点云数据,个人比较生疏,所以打算学一学.根据官方的示例先画了一个三角形,后面在画方形的时候怎么都不成功,报错:JNI DETECTED ERROR IN APPL ...

  2. Android之JNI DETECTED ERROR IN APPLICATION: illegal class name ‘XXX‘的错误解决方法

    1.问题 JNI DETECTED ERROR IN APPLICATION: illegal class name 'com.example.chenyu.test.JniClient' 2.原因 ...

  3. JNI DETECTED ERROR IN APPLICATION: input is not valid Modified UTF-8: illegal start byte 0x9e 解决方案

    在vivo设备上 调用 jstring str = env->NewStringUTF(charResult); 出现闪退问题报错:JNI DETECTED ERROR IN APPLICATI ...

  4. JNI JNI DETECTED ERROR IN APPLICATION: input is not valid Modified UTF-8:xxxx异常

    今天android上Jni返回jstring给java层,概率性的出现上述异常,网上看过解决方案,说修改jvm的什么代码,其实我们做应用层的哪有改这个的能力根本不现实的,后面继续查找最后自己解决的. ...

  5. android jni黑屏,android使用高德地图出现诡异的:JNI DETECTED ERROR IN APPLICATION

    今天用 android studio 写程序踩到这个诡异的坑: 首先介绍使用的开发工具和环境:android studio 测试机型:红米note2: android 5.0.2 是这样的:笔者程序中 ...

  6. JNI DETECTED ERROR IN APPLICATION: can't call void com.example.wxy.ndks.Utils.fun3() on instance of

    //cmake使用 JNIEXPORT void JNICALL Java_com_example_wxy_ndks_Utils_funs2(JNIEnv *env, jobject instance ...

  7. ByteBuffer.allocate()与allocateDirect()的区别

    allocate()产生的是HeapByteBuffer的实例, 本质上是一个no direct buffer, allocateDirect()产生的是DirectByteBuffer的实例, 本质 ...

  8. ByteBuffer.Allocate vs AllocateDirect

    2019独角兽企业重金招聘Python工程师标准>>> Allocation on heap, GC involved.  the process used 2G RAM  the ...

  9. ByteBuffer的allocate和allocateDirect

    在Java中当我们要对数据进行更底层的操作时,一般是操作数据的字节(byte)形式,这时经常会用到ByteBuffer这样一个类.ByteBuffer提供了两种静态实例方式: Java代码   pub ...

最新文章

  1. mysql设置约束l命令_2、MYSQL 基本数据库命令及约束
  2. [JS]图片自动切换效果(学习笔记)
  3. 二维数组作为形参的参数传递问题[08-0704]-转
  4. 学python要多久-python入门要学多久
  5. 如何设计信息安全领域的实时安全基线引擎
  6. 大白话聊聊Java并发面试问题之Java 8如何优化CAS性能?
  7. 如何恢复原来数据库中的用户?
  8. 图像缩放之双线性插值
  9. 计算LED分压电阻时?需要注意哪些事情?
  10. 如何给C盘扩容?亲测有效
  11. java 压缩文件夹有几率压缩失败,打开显示不可预料的末端且用其他专业软件解压文件没压缩完全
  12. Java 已知直角三角形周长,求整数边
  13. 7939.com,7b.com.cn,9505.com,4199.com 清除工具(转)
  14. 什么是导数、方向导数、偏导数、梯度
  15. 了解ZigBee以及硬件环境
  16. java实现简单扫码登录功能(模仿微信网页版扫码)
  17. Ubuntu 16.04.3 LTS操作系统安全加固
  18. 联想小新14pro锐龙版网卡rtl8852ae在ubunru18.04装网卡驱动
  19. 网件R6220路由器刷潘多拉盒子PandoraBox
  20. 【评测】内毒素检测方法盘点

热门文章

  1. 【fastjson】获取key
  2. 【Pluto SDR】基于16QAM的数字通信系统
  3. 黑科技,用这个工具来对任意方法进行Hook
  4. zabbix清空历史记录
  5. SpringBoot进行接口设计
  6. DBA嘉年华活动简介
  7. MFC中CopyFile容易出错的方面
  8. android蓝牙简单开发
  9. java.util.zip包 OutputStream ZipOutputStream以压缩包的方式导出或下载多个文件,比如图片,文档,Excel表格等
  10. windows下合并iso镜像文件