[诡异bug]Android 调用so库的时候报 “dlopen failed: recursive link to xxx.so”

相关背景:

最近在封装一个jni,就是根据.h文件封装给别人的so库封装一套jni接口供java层去调用。

** 错误信息**
图片说明

已经排除的原因

  • 编译so库错误:可以参考比较奇怪的现象。已经在华为手机上运行过了。
  • so库缺少:如果少放了某个so库,提示的错误和这个不同。所以排除so库缺少的原因。
  • 平台不匹配:调试的机器为v7a,编译的so库也为v7a。所以不是平台不匹配的原因。
  • 路径错误:这个就更不可能了。

比较奇怪的现象

  • 因为调试的机器是公司定制的,所以我之前一直在这个机器上调试。有一天我放在自己的手机上(华为荣耀10)调试后,发现是可以正常运行的。

Application.mk

APP_STL := gnustl_shared
APP_PLATFORM := android-21
APP_ABI := armeabi-v7a

Android.mk

#Android.mk
LOCAL_PATH := $(call my-dir)


#e.so模块
include $(CLEAR_VARS)
LOCAL_MODULE    := e
LOCAL_SRC_FILES := armeabi-v7a/e.so
include $(PREBUILT_SHARED_LIBRARY)

#f.a模块
include $(CLEAR_VARS)
LOCAL_MODULE    := f
LOCAL_SRC_FILES := armeabi-v7a/f.a
include $(PREBUILT_STATIC_LIBRARY)

#libgnustl_shared模块
include $(CLEAR_VARS)
LOCAL_MODULE    := g
LOCAL_SRC_FILES := armeabi-v7a/libgnustl_shared.so
include $(PREBUILT_SHARED_LIBRARY)

#自己的编译模块
include $(CLEAR_VARS)
LOCAL_MODULE    := faceDetectJni
LOCAL_SRC_FILES := faceDetectJni.c
LOCAL_LDLIBS    += -L$(SYSROOT)/lib -llog

#这里引入第三方编译静态模块
LOCAL_STATIC_LIBRARIES := f
#这里引入第三方编译动态模块
LOCAL_SHARED_LIBRARIES :=e\
g
include $(BUILD_SHARED_LIBRARY)

2个回答

找到一个解决办法,就是讲so库全部编译成.a库然后再封装。

动态库存在循环依赖,在 android 5.1 中会报错,新版本不会,android 底层实现有改变。

5.1 代码片段如下:

881static bool is_recursive(soinfo* si, soinfo* parent) {
882  if (parent == nullptr) {
883    return false;
884  }
885
886  if (si == parent) {
887    DL_ERR("recursive link to \"%s\"", si->name);
888    return true;
889  }
890
891  return !parent->get_parents().visit([&](soinfo* grandparent) {
892    return !is_recursive(si, grandparent);
893  });
894}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
使用opencv相关函数时,出现java.lang.UnsatisfiedLinkError: dlopen failed:
出现错误 java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/my.wificar-WeDTsTB-zFFljQ5NaMTc6Q==/lib/arm64/libjniopencv_core.so" is 32-bit instead of 64-bit 请问有什么解决的办法么,或者有64位的libjniopencv_core.so的话也可以
mate30 sqlcipher_android.so库报错
有没有人解决过这个问题? 1.公司app安装到mate30 Androidq版本上,闪退提示“UnsatisfiedLinkError:dlopen failed:cannot locate symbol "_ZN7android25gDarwinCantLoadAllOjectsE" referenced by "/data/app/com.xxxx.activity.xx-fllbcTdGvep-aLZ66dcS6A==/lib/arm/libsqlcipher_android.so"...” 网上查是sqlcipher_android.so 这个库的问题吗?但是我9.0的机器都没有问题,就华为mate30运行报错, 使用sqlcipher.jar这个数据库加密库 ![图片说明](https://img-ask.csdn.net/upload/201910/11/1570786393_397784.jpg)
android里面调用so文件出错
08-03 10:29:33.925 32185-32215/com.example.administrator.testdome E/art: dlopen("/data/app/com.example.administrator.testdome-1/lib/arm/libSystemTransform.so", RTLD_LAZY) failed: dlopen failed: "/data/app/com.example.administrator.testdome-1/lib/arm/libSystemTransform.so" is too small to be an ELF executable: only found 0 bytes 08-03 10:29:33.926 32185-32215/com.example.administrator.testdome E/AndroidRuntime: FATAL EXCEPTION: Thread-6374 Process: com.example.administrator.testdome, PID: 32185 java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.example.administrator.testdome-1/lib/arm/libSystemTransform.so" is too small to be an ELF executable: only found 0 bytes at java.lang.Runtime.loadLibrary(Runtime.java:371) at java.lang.System.loadLibrary(System.java:988) at com.hikvision.netsdk.HCNetSDK.<clinit>(HCNetSDK.java:27) at com.example.administrator.testdome.HC_DVRManager.initSDK(HC_DVRManager.java:126) at com.example.administrator.testdome.MainActivity$2.run(MainActivity.java:89)
"*.so" has unexpected e_machine: 40
java.lang.UnsatisfiedLinkError: dlopen failed: "*/*/*.so" has unexpected e_machine: 40 android JNI so包问题。在一些设备上崩溃报错。一些设备上是可以正常使用的。 网上查找了很多资料感觉都不管用啊,请知道的前辈们能告诉我问题的原因 和解决的方法 谢谢了 比较急 在线等!![图片说明](https://img-ask.csdn.net/upload/201607/19/1468920601_25465.png)
java.lang.UnsatisfiedLinkError
java.lang.UnsatisfiedLinkError:dlopen failed: “**/*/arm/*.so" has unexpected e_machine: 3
webview访问https7.0系统兼容问题dlopen failed
先描述下:我这里是一个弹框,弹框里面是webview, 问题点:自从上了https,解析webview就开始报错了, 报错重点信息如下: Caused by: android.view.InflateException: Binary XML file line #31: Error inflating class android.webkit.WebView Caused by: android.util.AndroidRuntimeException: java.lang.reflect.InvocationTargetException Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.google.android.webview-2/lib/arm/libwebviewchromium.so" is 32-bit instead of 64-bit 在友盟统计里看到的报错信息如下: android.view.InflateException: Binary XML file line #31: Binary XML file line #31: Error inflating class android.webkit.WebView at Android.MODEL(VKY-AL00) at Android.OS.VERSION(7.0) at Android.FINGERPRINT(HUAWEI/VKY-AL00/HWVKY:7.0/HUAWEIVKY-AL00/C00B172:user/release-keys) at Android.WHERE() Caused by: android.view.InflateException: Binary XML file line #31: Error inflating class android.webkit.WebView Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:430) at android.view.LayoutInflater.createView(LayoutInflater.java:656) at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:64) at com.android.internal.policy.HwPhoneLayoutInflater.onCreateView(HwPhoneLayoutInflater.java:107) at android.view.LayoutInflater.onCreateView(LayoutInflater.java:728) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:796) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:738) at android.view.LayoutInflater.rInflate(LayoutInflater.java:869) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:832) at android.view.LayoutInflater.rInflate(LayoutInflater.java:872) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:832) at android.view.LayoutInflater.inflate(LayoutInflater.java:518) at android.view.LayoutInflater.inflate(LayoutInflater.java:426) at android.view.LayoutInflater.inflate(LayoutInflater.java:377) at com.qwkj.wwlotery.view.dialog.H5PayDialog.init(H5PayDialog.java:106) at com.qwkj.wwlotery.view.dialog.H5PayDialog.<init>(H5PayDialog.java:101) at com.qwkj.wwlotery.asynctask.PublicPayRequest$1.onSuccess(PublicPayRequest.java:45) at com.app.real.util.net.HttpVolley$3.onResponse(HttpVolley.java:159) at comapp.real.util.net.HttpVolley$3.onResponse(HttpVolley.java:143) at com.app.real.util.net.BaseRequest.deliverResponse(BaseRequest.java:39) at com.app.real.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:99) at android.os.Handler.handleCallback(Handler.java:761) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:156) at android.app.ActivityThread.main(ActivityThread.java:6577) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832) Caused by: android.util.AndroidRuntimeException: java.lang.reflect.InvocationTargetException at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:204) at android.webkit.WebView.getFactory(WebView.java:2325) at android.webkit.WebView.ensureProviderCreated(WebView.java:2320) at android.webkit.WebView.setOverScrollMode(WebView.java:2379) at android.view.View.<init>(View.java:4020) at android.view.View.<init>(View.java:4137) at android.view.ViewGroup.<init>(ViewGroup.java:578) at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:55) at android.webkit.WebView.<init>(WebView.java:627) at android.webkit.WebView.<init>(WebView.java:572) at android.webkit.WebView.<init>(WebView.java:555) at android.webkit.WebView.<init>(WebView.java:542) ... 29 more Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:430) at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:198) ... 40 more Caused by: java.lang.RuntimeException: Cannot load WebView at com.android.webview.chromium.WebViewChromiumFactoryProvider.initialize(WebViewChromiumFactoryProvider.java:75) at com.android.webview.chromium.WebViewChromiumFactoryProvider.<init>(WebViewChromiumFactoryProvider.java:31) ... 43 more Caused by: org.chromium.base.library_loader.ProcessInitException at org.chromium.base.library_loader.LibraryLoader.loadAlreadyLocked(LibraryLoader.java:71) at org.chromium.base.library_loader.LibraryLoader.loadNowOverrideApplicationContext(LibraryLoader.java:25) at com.android.webview.chromium.WebViewChromiumFactoryProvider.initialize(WebViewChromiumFactoryProvider.java:69) ... 44 more Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.google.android.webview-2/lib/arm/libwebviewchromium.so" is 32-bit instead of 64-bit at java.lang.Runtime.loadLibrary0(Runtime.java:994) at java.lang.System.loadLibrary(System.java:1533) at org.chromium.base.library_loader.LibraryLoader.loadAlreadyLocked(LibraryLoader.java:55) ... 46 more xml代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:id="@+id/h5_pay_top_linear_top" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="2" android:background="#00000000" android:orientation="vertical"> </LinearLayout> <RelativeLayout android:id="@+id/h5_pay_relative_bottom" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="3" android:background="#ffffff"> <View android:id="@+id/h5_pay_line" android:layout_width="fill_parent" android:layout_height="1px" android:layout_alignParentTop="true" android:background="@color/public_dark_divide_line_bg"/> <WebView android:id="@+id/h5_pay_webview" android:layout_width="fill_parent" android:layout_height="wrap_content" android:minHeight="300dip" android:layout_below="@id/h5_pay_line" android:background="#ffffff" /> <ImageView android:id="@+id/h5_pay_progressbar" android:layout_width="20dip" android:layout_height="20dip" android:layout_centerInParent="true" android:scaleType="centerInside" android:background="@anim/loading_animation" android:visibility="visible" /> </RelativeLayout> </LinearLayout> 跪求高手帮忙解答,或者指点,感激不尽。
android studio jni开发so库,rebuild可以生成so库,但是运行就报如下错误.
java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__aeabi_memclr4" referenced by "/data/app/com.viking.myjni-2/lib/arm/libjniLib.so"...![图片说明](https://img-ask.csdn.net/upload/201711/15/1510709810_469359.png) 求大神帮忙,急急急.
Android 使用ImageView控件时候出错
08-10 10:08:42.701 21576-21612/com.example.uiwidgettest E/libEGL: load_driver(/system/lib/egl/libGLES_emulation.so): dlopen failed: library "/system/lib/egl/libGLES_emulation.so" not found 这是什么问题啊 新手求解释~
请大神来看看这是不是内存泄漏的错误,在真机调试的时候,有时候运行到一会儿就会奔溃,报这个错误
错误提示: E/MemoryLeakMonitorManager: MemoryLeakMonitor.jar is not exist! E/Minikin: Could not get cmap table size! E/vndksupport:Could not load vendor/lib64/egl/libGLES_mail_v2.so from spha namespace: dlopen failed:library "vendor/lib64/egl/libGLES_mail_v2.so" not found. 项目报错背景:android开发,利用OpengGL 在一个activity中不断重绘一个3D场景,在重绘过程中会手动的不断添加物体,同时物体还有运动。添加到3-4个物体的时候,移动场景相机的时候有时候就会奔溃报这个错误,添加5个以上物体的时候有时候刚刚添加完物体就直接报错了。求大神帮忙分析分析,如果真是内存泄漏,有什么地方可以优化呢?我已经按照网上的文章优化一些方面了,比如自定义Application类创建全局变量等。![图片说明](https://img-ask.csdn.net/upload/201804/24/1524539270_32993.jpg)
Amdroid关于so文件32和64位的问题
java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/cn.********-1/lib/arm64/libGlobal.so" is 32-bit instead of 64-bit 我用64位的机型就报这个错,请问大神应该怎么解决?在线等。。。。。。
Android 使用ImageView控件时出现错误
08-10 10:08:42.701 21576-21612/com.example.uiwidgettest E/libEGL: load_driver(/system/lib/egl/libGLES_emulation.so): dlopen failed: library "/system/lib/egl/libGLES_emulation.so" not found 请问这是什么问题啊 我觉得好像是图片资源的问题,但是不知道该怎么解决
新手求助,android helloworld问题
本人新手。在win10上装的androidstudio2.3,模拟器使用的是studio自带的。写了第一个android程序hello world。运行时,模拟器可以打开,也可以显示hello world。但是会报错。 E/libEGL(1296): load_driver(/system/lib/egl/libGLES_emulation.so): dlopen failed: library "/system/lib/egl/libGLES_emulation.so" not found E/perfprofd(1317): unable to open configuration file /data/data/com.google.android.gms/files/perfprofd.conf E/EmulatedCamera_HotplugThread(1305): createFileIfNotExists: Could not create file '/data/misc/media/emulator.camera.hotplug.0', error: 'Permission denied' (13) E/EmulatedCamera_HotplugThread(1305): createFileIfNotExists: Could not create file '/data/misc/media/emulator.camera.hotplug.1', error: 'Permission denied' (13) E/cutils-trace(1305): Error opening trace file: Permission denied (13) E/CameraService(1305): setUpVendorTags: Vendor tag operations not fully defined. Ignoring definitions. E/cutils-trace(1304): Error opening trace file: Permission denied (13) E/audio_hw_generic(1304): Error opening input stream format 1, channel_mask 0010, sample_rate 16000 E/AudioFlinger(1304): int android::load_audio_interface(const char *, audio_hw_device_t **) couldn't load audio hw module audio.r_submix (No such file or directory) E/AudioFlinger(1304): loadHwModule() error -2 loading module r_submix E/RadioService(1304): couldn't load radio module radio.primary (No such file or directory) E/SoundTriggerHwService(1304): couldn't load sound trigger module sound_trigger.primary (No such file or directory) E/SurfaceFlinger(1296): hwcomposer module not found E/cutils-trace(1296): Error opening trace file: Permission denied (13) E/SurfaceFlinger(1296): ro.sf.lcd_density must be defined as a build property E/libEGL(1370): load_driver(/system/lib/egl/libGLES_emulation.so): dlopen failed: library "/system/lib/egl/libGLES_emulation.so" not found E/cutils-trace(1370): Error opening trace file: Permission denied (13) E/memtrack(1303): Couldn't load memtrack module (No such file or directory) E/android.os.Debug(1303): failed to load memtrack module: -2 E/Typeface(1303): Error mapping font file /system/fonts/DroidSansFallback.ttf E/libEGL(1303): load_driver(/system/lib/egl/libGLES_emulation.so): dlopen failed: library "/system/lib/egl/libGLES_emulation.so" not found E/Hyphenator(1303): error loading hyphenation /system/usr/hyphen-data/hyph-as.hyb E/Hyphenator(1303): java.io.FileNotFoundException: /system/usr/hyphen-data/hyph-as.hyb: open failed: ENOENT (No such file or directory)
在真机上运行是没有问题的,在as自带的模拟器上出现连接不上native的问题,哪位大佬能帮忙分析下不?
java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.ylst.lookhome-JI9EgH8zVXvvgSCHMVu86A==/lib/x86/libnative.so" has text relocations (https://android.googlesource.com/platform/bionic/+/master/android-changes-for-ndk-developers.md#Text-Relocations-Enforced-for-API-level-23) at java.lang.Runtime.loadLibrary0(Runtime.java:1016) at java.lang.System.loadLibrary(System.java:1657) at com.application.Native.<clinit>(Native.java:10) at com.application.Native.DeInitMess(Native Method) at com.doorbell.wecsee.services.PushService.onDestroy(PushService.java:213) at android.app.ActivityThread.handleStopService(ActivityThread.java:3504) at android.app.ActivityThread.-wrap26(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1697) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
运行 tensorflow ,能正确输出结果,但同时有其他的一些提示,不懂是为什么
代码很简短,目前正在学习中。 ``` import tensorflow as tf a = [[1, 0, 3], [8, -3, 6], [5, 1, 7]] with tf.Session() as sess: print(sess.run(tf.argmax(a, 1))) print(sess.run(tf.argmax(a, 0))) ``` 输出结果如下,不知道为什么会出现这些提示,求高人指点。 E:\anaconda\python.exe D:/pycharm文件/try.py 2020-01-09 22:18:54.342546: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_100.dll WARNING:tensorflow:From D:/pycharm文件/try.py:5: The name tf.Session is deprecated. Please use tf.compat.v1.Session instead. 2020-01-09 22:18:56.348961: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library nvcuda.dll 2020-01-09 22:18:57.534582: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties: name: GeForce GTX 1660 Ti with Max-Q Design major: 7 minor: 5 memoryClockRate(GHz): 1.335 pciBusID: 0000:01:00.0 2020-01-09 22:18:57.535147: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_100.dll 2020-01-09 22:18:57.539354: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cublas64_100.dll 2020-01-09 22:18:57.543360: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cufft64_100.dll 2020-01-09 22:18:57.545647: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library curand64_100.dll 2020-01-09 22:18:57.550333: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusolver64_100.dll 2020-01-09 22:18:57.554235: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusparse64_100.dll 2020-01-09 22:18:57.556270: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudnn64_7.dll'; dlerror: cudnn64_7.dll not found 2020-01-09 22:18:57.556681: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1641] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform. Skipping registering GPU devices... 2020-01-09 22:18:57.558041: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 2020-01-09 22:18:57.560801: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] Device interconnect StreamExecutor with strength 1 edge matrix: 2020-01-09 22:18:57.561152: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1165] [2 0 2] [1 2 2] Process finished with exit code 0
Ubuntu 18.04上运行fio(fio-3.16-56-g5a9d)时无法执行libaio引擎
![图片说明](https://img-ask.csdn.net/upload/201911/29/1575029474_2128.png) Ubuntu 18.04上运行fio(fio-3.16-56-g5a9d):sudo fio --filename=/dev/sdb --name=randread --ioengine=libaio --iodepth=16 --rw=randread --bs=4k --direct=0 --size=512M --numjobs=4 --runtime=240 --group_reporting 会有如下报错: fio: engine pync not loadable fio: engine pync not loadable fio: failed to load engine fio: file:ioengines.c:89, func=dlopen, error=pync: cannot open shared object file: No such file or directory 也已经对系统安装过libaio-dev和libaio1且安装成功。 用以上命令,只对IO 引擎做修改,用psync,sync都是可以的,唯独libaio不行。 请各位解答问题所在,急急急......
Tensorflow 无报错结束运行
TensorFlow无报错结束运行,这是一个预测程序的输出结果,之前可以运行,没有更改过代码,控制台最后输出的内容如下,请问各位大佬该如何解决? > 2019-12-07 01:57:11.506176: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2 > 2019-12-07 01:57:11.510682: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library nvcuda.dll > 2019-12-07 01:57:11.811459: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 0 with properties: name: GeForce RTX 2080 Ti major: 7 minor: 5 memoryClockRate(GHz): 1.545 pciBusID: 0000:65:00.0 > 2019-12-07 01:57:11.811883: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 1 with properties: name: GeForce GTX 1080 major: 6 minor: 1 memoryClockRate(GHz): 1.8095 pciBusID: 0000:b3:00.0 > 2019-12-07 01:57:11.812080: I tensorflow/stream_executor/platform/default/dlopen_checker_stub.cc:25] GPU libraries are statically linked, skip dlopen check. > 2019-12-07 01:57:11.813215: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1763] Adding visible gpu devices: 0, 1 > 2019-12-07 01:57:12.694203: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1181] Device interconnect StreamExecutor with strength 1 edge matrix: > 2019-12-07 01:57:12.694360: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1187] 0 1 2019-12-07 01:57:12.694449: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1200] 0: N N 2019-12-07 01:57:12.694538: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1200] 1: N N > 2019-12-07 01:57:12.695690: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 8694 MB memory) -> physical GPU (device: 0, name: GeForce RTX 2080 Ti, pci bus id: 0000:65:00.0, compute capability: 7.5) > 2019-12-07 01:57:12.697395: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:1 with 6358 MB memory) -> physical GPU (device: 1, name: GeForce GTX 1080, pci bus id: 0000:b3:00.0, compute capability: 6.1) > Process finished with exit code 0
【求助】有没有大佬做过AndroidStudio通过JNI NDK调用第三方so库?
我现在用JNI NDK调用,通过dlopen方法打开想要调用的so库,可是他这个dlopen只能打开jniLibs文件下的so库,但这个文件夹又是ndk-build才会生成,所以我现在按照网上的办法,写Android.mk ,将这个库在ndk-build的同时复制进jniLibs的路径下,但是他只能生成X86CPU架构的so,我在Application.mk 里边APP_ABI := all就会出错 可是只生成这一种so,程序又运行不了,有没有大佬知道怎么办? ![图片说明](https://img-ask.csdn.net/upload/201711/05/1509884321_223110.png) ![图片说明](https://img-ask.csdn.net/upload/201711/05/1509884348_447680.png) ![图片说明](https://img-ask.csdn.net/upload/201711/05/1509884360_470711.png) ![图片说明](https://img-ask.csdn.net/upload/201711/05/1509884369_706681.png) ![图片说明](https://img-ask.csdn.net/upload/201711/05/1509884378_352612.png)
应用打系统签名后在android5.1上无法加载so
我的应用 打了系统签名后在android5.1 的设备上报错提示没有权限加载so文件 但是不打系统签名就可以正常启动,希望哪位大神帮忙看看,错误日志如下: 10-20 10:14:36.918 4708-4708/? I/System.out: action Title! 10-20 10:14:36.918 4708-4708/? W/osas.mdc:school: type=1400 audit(0.0:9500): avc: denied { execute } for path="/data/data/com.invosas.mdc/qt-reserved-files/plugins/platforms/android/libqtforandroid.so" dev="mmcblk0p14" ino=132587 scontext=u:r:platform_app:s0 tcontext=u:object_r:app_data_file:s0 tclass=file permissive=0 10-20 10:14:36.937 4708-4708/? E/art: dlopen("/data/data/com.invosas.mdc/qt-reserved-files/plugins/platforms/android/libqtforandroid.so", RTLD_LAZY) failed: dlopen failed: couldn't map "/data/data/com.invosas.mdc/qt-reserved-files/plugins/platforms/android/libqtforandroid.so" segment 2: Permission denied 10-20 10:14:36.937 4708-4708/? W/System.err: java.lang.reflect.InvocationTargetException 10-20 10:14:36.938 4708-4708/? W/System.err: at java.lang.reflect.Method.invoke(Native Method) 10-20 10:14:36.938 4708-4708/? W/System.err: at java.lang.reflect.Method.invoke(Method.java:372) 10-20 10:14:36.938 4708-4708/? W/System.err: at org.qtproject.qt5.android.bindings.QtLoader.loadApplication(QtLoader.java:237) 10-20 10:14:36.938 4708-4708/? W/System.err: at org.qtproject.qt5.android.bindings.QtLoader.startApp(QtLoader.java:649) 10-20 10:14:36.938 4708-4708/? W/System.err: at org.qtproject.qt5.android.bindings.QtActivityLoader.onCreate(QtActivityLoader.java:183) 10-20 10:14:36.938 4708-4708/? W/System.err: at org.qtproject.qt5.android.bindings.QtActivity.onCreateHook(QtActivity.java:266) 10-20 10:14:36.938 4708-4708/? W/System.err: at org.qtproject.qt5.android.bindings.QtActivity.onCreate(QtActivity.java:273) 10-20 10:14:36.938 4708-4708/? W/System.err: at com.uuke.activity.UschoolActivity.onCreate(UschoolActivity.java:31) 10-20 10:14:36.938 4708-4708/? W/System.err: at android.app.Activity.performCreate(Activity.java:6222) 10-20 10:14:36.938 4708-4708/? W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 10-20 10:14:36.938 4708-4708/? W/System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2295) 10-20 10:14:36.938 4708-4708/? W/System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2407) 10-20 10:14:36.938 4708-4708/? W/System.err: at android.app.ActivityThread.access$800(ActivityThread.java:151) 10-20 10:14:36.938 4708-4708/? W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1319) 10-20 10:14:36.938 4708-4708/? W/System.err: at android.os.Handler.dispatchMessage(Handler.java:102) 10-20 10:14:36.938 4708-4708/? W/System.err: at android.os.Looper.loop(Looper.java:135) 10-20 10:14:36.938 4708-4708/? W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5280) 10-20 10:14:36.938 4708-4708/? W/System.err: at java.lang.reflect.Method.invoke(Native Method) 10-20 10:14:36.938 4708-4708/? W/System.err: at java.lang.reflect.Method.invoke(Method.java:372) 10-20 10:14:36.938 4708-4708/? W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:963) 10-20 10:14:36.938 4708-4708/? W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:758) 10-20 10:14:36.938 4708-4708/? W/System.err: Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: couldn't map "/data/data/com.invosas.mdc/qt-reserved-files/plugins/platforms/android/libqtforandroid.so" segment 2: Permission denied 10-20 10:14:36.939 4708-4708/? W/System.err: at java.lang.Runtime.load(Runtime.java:331) 10-20 10:14:36.939 4708-4708/? W/System.err: at java.lang.System.load(System.java:981) 10-20 10:14:36.939 4708-4708/? W/System.err: at org.qtproject.qt5.android.QtNative.loadQtLibraries(QtNative.java:172) 10-20 10:14:36.939 4708-4708/? W/System.err: at org.qtproject.qt5.android.QtActivityDelegate.loadApplication(QtActivityDelegate.java:582) 10-20 10:14:36.939 4708-4708/? W/System.err: ... 21 more 10-20 10:14:36.943 4708-4708/? D/PhoneWindow: DecorView - SCREEN_WEITH = 1920 - SCREE_HEIGHT = 1128 10-20 10:14:36.971 2986-3621/? V/WindowManagerService: Adding window Window{18d0655b u0 com.invosas.mdc/com.uuke.activity.UschoolActivity} at 3 of 9 (after Window{166a3ce3 u0 com.invosas.mdc/com.example.whiteboard.WelcomeActivity})
导入环信EaseUIDemo_CN,运行报错,无法加载so,bug如下
06-08 11:44:57.035: E/dalvikvm(3586): dlopen("/mnt/asec/com.hyphenate.chatuidemo-1/lib/libhyphenate_av.so") failed: Cannot load library: soinfo_relocate(linker.cpp:975): cannot locate symbol "log2f" referenced by "libhyphenate_av.so"... 06-08 11:44:57.037: E/test(3586): Exception 06-08 11:44:57.039: E/AndroidRuntime(3586): FATAL EXCEPTION: main 06-08 11:44:57.039: E/AndroidRuntime(3586): java.lang.UnsatisfiedLinkError: Cannot load library: soinfo_relocate(linker.cpp:975): cannot locate symbol "log2f" referenced by "libhyphenate_av.so"... 06-08 11:44:57.039: E/AndroidRuntime(3586): at java.lang.Runtime.loadLibrary(Runtime.java:365) 06-08 11:44:57.039: E/AndroidRuntime(3586): at java.lang.System.loadLibrary(System.java:514) 06-08 11:44:57.039: E/AndroidRuntime(3586): at com.hyphenate.chat.EMClient.loadLibrary(Unknown Source) 06-08 11:44:57.039: E/AndroidRuntime(3586): at com.hyphenate.chat.EMClient.getInstance(Unknown Source) 06-08 11:44:57.039: E/AndroidRuntime(3586): at com.hyphenate.easeui.controller.EaseUI.init(EaseUI.java:146) 06-08 11:44:57.039: E/AndroidRuntime(3586): at com.hyphenate.chatuidemo.DemoHelper.init(DemoHelper.java:155) 06-08 11:44:57.039: E/AndroidRuntime(3586): at com.hyphenate.chatuidemo.DemoApplication.onCreate(DemoApplication.java:42) 06-08 11:44:57.039: E/AndroidRuntime(3586): at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1000) 06-08 11:44:57.039: E/AndroidRuntime(3586): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4566) 06-08 11:44:57.039: E/AndroidRuntime(3586): at android.app.ActivityThread.access$1300(ActivityThread.java:156) 06-08 11:44:57.039: E/AndroidRuntime(3586): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1400) 06-08 11:44:57.039: E/AndroidRuntime(3586): at android.os.Handler.dispatchMessage(Handler.java:99) 06-08 11:44:57.039: E/AndroidRuntime(3586): at android.os.Looper.loop(Looper.java:153) 06-08 11:44:57.039: E/AndroidRuntime(3586): at android.app.ActivityThread.main(ActivityThread.java:5299) 06-08 11:44:57.039: E/AndroidRuntime(3586): at java.lang.reflect.Method.invokeNative(Native Method) 06-08 11:44:57.039: E/AndroidRuntime(3586): at java.lang.reflect.Method.invoke(Method.java:511) 06-08 11:44:57.039: E/AndroidRuntime(3586): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) 06-08 11:44:57.039: E/AndroidRuntime(3586): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 06-08 11:44:57.039: E/AndroidRuntime(3586): at dalvik.system.NativeStart.main(Native Method)
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
字节跳动视频编解码面经
三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时想着能进去就不错了,管他哪个岗呢,就同意了面试...
开源一个功能完整的SpringBoot项目框架
福利来了,给大家带来一个福利。 最近想了解一下有关Spring Boot的开源项目,看了很多开源的框架,大多是一些demo或者是一个未成形的项目,基本功能都不完整,尤其是用户权限和菜单方面几乎没有完整的。 想到我之前做的框架,里面通用模块有:用户模块,权限模块,菜单模块,功能模块也齐全了,每一个功能都是完整的。 打算把这个框架分享出来,供大家使用和学习。 为什么用框架? 框架可以学习整体...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
Spring Boot2 系列教程(十七)SpringBoot 整合 Swagger2
前后端分离后,维护接口文档基本上是必不可少的工作。 一个理想的状态是设计好后,接口文档发给前端和后端,大伙按照既定的规则各自开发,开发好了对接上了就可以上线了。当然这是一种非常理想的状态,实际开发中却很少遇到这样的情况,接口总是在不断的变化之中,有变化就要去维护,做过的小伙伴都知道这件事有多么头大!还好,有一些工具可以减轻我们的工作量,Swagger2 就是其中之一,至于其他类似功能但是却收费的软...
Python 基础(一):入门必备知识
目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级 1 标识符 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。 以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供
天天学JAVA-JAVA基础(6)
如果觉得我写的还行,请关注我的博客并且点个赞哟。本文主要介绍JAVA 中最常使用字符串常量String相关知识。 1.String简介 2.创建字符串对象两种方式的区别 3.String常用的方法 4.String的不可变性 5.一道阿里面试题,你会做吗? 1.String简介 1.1String源码 首先看一段String源码,String主要实现了Serializable、Compar...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
经典算法(5)杨辉三角
写在前面: 我是 扬帆向海,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。 这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。 用知识改变命运,让我们的家人过上更好的生活。 目录一、杨辉三角的介绍二、杨辉三角的算法思想三、代码实现1.第一种写法2.第二种写法 一、杨辉三角的介绍 百度
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
2020 网络课 智慧树自动刷课代码,自动跳转,自动答题并关闭弹窗,自动1.5倍速静音
刷课一时爽,一直刷课一直爽! 终于让我找到了这个黑客代码了,教程开始: 只限谷歌浏览器和火狐浏览器使用,如果第一次失败,请重新试一下次 将下面代码复制后,进入浏览器按F12键,先点击console 然后Ctrl+v复制代码 最后按回车键即可 var ti = $("body"); var video = $(".catalogue_ul1 li[id*=video-]"); var i = 1;...
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
SQL-小白最佳入门sql查询一
一 说明 如果是初学者,建议去网上寻找安装Mysql的文章安装,以及使用navicat连接数据库,以后的示例基本是使用mysql数据库管理系统; 二 准备前提 需要建立一张学生表,列分别是id,名称,年龄,学生信息;本示例中文章篇幅原因SQL注释略; 建表语句: CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // dosho
致 Python 初学者
文章目录1. 前言2. 明确学习目标,不急于求成,不好高骛远3. 在开始学习 Python 之前,你需要做一些准备2.1 Python 的各种发行版2.2 安装 Python2.3 选择一款趁手的开发工具3. 习惯使用IDLE,这是学习python最好的方式4. 严格遵从编码规范5. 代码的运行、调试5. 模块管理5.1 同时安装了py2/py35.2 使用Anaconda,或者通过IDE来安装模
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,
程序员:我终于知道post和get的区别
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。 此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员。 码农:你知道get和post请求到底有什么区别? 程序员:你看这篇就知道了。 码农:你月薪三万了? 程序员:嗯。 码农:你是怎么做到的? 程序员:
羞,Java 字符串拼接竟然有这么多姿势
二哥,我今年大二,看你分享的《阿里巴巴 Java 开发手册》上有一段内容说:“循环体内,拼接字符串最好使用 StringBuilder 的 append 方法,而不是 + 号操作符。”到底为什么啊,我平常一直就用的‘+’号操作符啊!二哥有空的时候能否写一篇文章分析一下呢? 就在昨天,一位叫小菜的读者微信我说了上面这段话。 我当时看到这条微信的第一感觉是:小菜你也太菜了吧,这都不知道为啥啊!我估...
写1行代码影响1000000000人,这是个什么项目?
不带钱不带卡,只带手机出门就能畅行无阻,这已是生活的常态。益普索发布的《2019第一季度第三方移动支付用户研究》报告显示,移动支付在手机网民中的渗透率高达95.1%,截至今年1月,支付宝全球用户数已经突破10亿。你或许每天都会打开支付宝,付款购物、领取权益、享受服务……但你或许不知道的是,在这个方便、快捷、智能化的APP背后,有一群年轻的技术人,用智慧和创新让它每天都变得更“聪明”一点。 ...
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI 算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC
一点一滴记录 Java 8 stream 的使用
日常用到,一点一滴记录,不断丰富,知识积累,塑造自身价值。欢迎收藏 String 转 List String str = 1,2,3,4; List&lt;Long&gt; lists = Arrays.stream(str.split(",")).map(s -&gt; Long.parseLong(s.trim())).collect(Collectors.toList()); Lis...
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车? 某胡同口的煎饼摊一年能卖出多少个煎饼? 深圳有多少个产品经理? 一辆公交车里能装下多少个乒乓球? 一
相关热词 c#处理浮点数 c# 生成字母数字随机数 c# 动态曲线 控件 c# oracle 开发 c#选择字体大小的控件 c# usb 批量传输 c#10进制转8进制 c#转base64 c# 科学计算 c#下拉列表获取串口
立即提问