- 博客(89)
- 资源 (6)
- 收藏
- 关注
原创 JNI教程之局部和全局引用
此外,JNI 还提供了局部引用 (Local Reference),它们在本地方法的调用期间是有效的,并且在本地方法返回后会自动释放。但是,如果在一个本地方法中创建了大量的局部引用,可能会超出JNI的局部引用限制,导致内存溢出。理论上JNI的方法全是局部引用,至少官方文档是这么说的。但是,JNI还是提供了两种全局引用类型,用于确保本地代码可以安全地持有对Java对象的引用,即使这些对象在其他地方被垃圾回收也不会受到影响。当不再需要全局引用时,应该使用相应的删除方法来释放它。方法来管理局部引用的作用域。
2024-02-21 09:16:48
227
原创 JNI教程之JNIEnv接口指针
JNI的代码是运行在JVM当中的,并不是属于native代码,所以每个JNI函数都会带一个JNIEnv ,用于在 Java 代码和native代码之间进行通信。通过 JNIEnv,可以在 Java 代码中调用native方法,或者在native代码中调用 Java 方法。在 JNI 中,JNIEnv 是一个指向 JNI 函数表的指针,通过这个指针可以访问 JNI 函数表中定义的各种 JNI 函数。如果你在 JNI 方法中(即在 C/C++ 代码中)需要获取 JNIEnv,可以通过参数来获取。
2024-02-20 19:06:53
258
原创 内存泄漏的java代码
在这个示例中,我们创建了一个静态的字节数组列表 buffer,并在一个无限循环中不断地向其中添加新的字节数组。由于这些字节数组被添加到静态集合中,因此它们将一直存在于内存中,直到程序终止。随着时间的推移,这些字节数组将占用越来越多的内存,最终导致内存泄漏。
2024-01-23 13:46:38
485
1
原创 在windows的CMD中计算MD5
使用“cd”命令切换到包含要计算 MD5 值的文件所在的目录。将 <文件名> 替换为要计算 MD5 值的文件的实际文件名。在 Windows 10 的命令提示符(CMD)中,可以使用 certutil 命令来计算文件的 MD5 值。在运行窗口中输入“cmd”,然后点击“确定”。按下“win+R”组合键,打开运行窗口。命令执行后,将显示文件的 MD5 值。打开命令提示符窗口。
2024-01-23 13:44:33
8586
原创 JNI中获取当前时间戳
函数来获取当前时间的秒级精度,然后将其转换为毫秒表示的时间戳。以上就是在JNI中获取当前时间戳的一种实现方法。在你的Android项目中,加载生成的。方法来获取JNI返回的当前时间戳。最后,你可以在Java代码中调用。在JNI中获取当前时间戳,使用。命令编译Java代码,然后使用。在JNI的代码中,我们使用了。编译JNI代码,生成对应的。命令生成JNI的头文件。
2024-01-23 13:41:00
501
原创 Android JNI中设置全局的jbyteArray
在JNI的代码文件中声明一个全局变量,用来存储jbyteArray对象。你可以在JNI的头文件中定义该变量。
2024-01-23 13:38:08
640
原创 Android平台OpenCV入门
yuv格式的数组要先按单通道位图构建mat,再通过Imgproc.cvtColor()进行格式转换。**参数:**flags,当不写时,默认为Imgcodecs.IMREAD_COLOR。以CV_64FC2为例,64指64位,F指浮点数,C指通道,2为2通道。输入可为相对路径也可为绝对路径,自动通过后缀名识别文件的格式。别忘记把libopencv_java3.so添加进来。根据数组的存储格式和宽高导入,格式见前文。可根据文件名的后缀自行保存。CvType 数据类型。
2023-05-30 15:25:55
1017
原创 Android bitmap保姆级教学
Bitmap是一个final类,因此不能被继承。Bitmap只有一个构造方法,且该构造方法是没有任何访问权限修饰符修饰,也就是说该构造方法是friendly,但是谷歌称Bitmap的构造方法是private(私有的),感觉有点不严谨。不管怎样,一般情况下,我们不能通过构造方法直接新建一个Bitmap对象。Bitmap是Android系统中的图像处理中最重要类之一。Bitmap可以获取图像文件信息,对图像进行剪切、旋转、缩放,压缩等操作,并可以以指定格式保存图像文件。
2023-05-30 15:22:31
741
原创 Logcat用法详解
平常用logcat看日志或copy日志,实际是在logcat的一个可视化窗口上进行简单的read和copy,这个窗口是由logcat工具支撑的,并不是logcat的全部。Android 日志记录系统是系统进程 logd 维护的一组结构化环形缓冲区。这组可用的缓冲区是固定的,并由系统定义。最相关的缓冲区为:main(用于存储大多数应用日志)、system(用于存储源自 Android 操作系统的消息)和 crash(用于存储崩溃日志)。每个日志条目都包含一个优先级、一个标识日志来源的标记以及实际的日志消息。
2023-05-30 15:07:41
1219
原创 SurfaceView, GLSurfaceView 和 TextureView的探索
Android系统下视频流如何渲染和展示。系统提供了几种不同的View用于视频流的展示,它们分别是 SurfaceView, GLSurfaceView 和 TextureView。
2023-05-30 15:01:32
1129
原创 H264编解码开源库大集合
是广泛使用的功能齐全的开源多媒体框架,具有优秀的兼容性和稳定性,并且支持多种视频编解码格式和音频处理。如果需要处理更加复杂的音视频任务,如多路音视频混流、裁剪、变速等,那么FFmpeg会更适合,因为其拥有更全面的功能和广泛的使用基础,同时可以便捷地与其他音视频处理工具和框架进行集成。libavcodec是FFmpeg中用于音视频编解码的核心库,提供了音视频编解码的基本特性和功能,能够快速完成音视频处理任务。一个优秀的H.264视频编码器,提供了高性能和质量稳定性等方面的优势。,并被多个应用和平台所采用。
2023-05-23 16:25:06
2308
原创 Android App启动简单流程
Launcher响应我们产生的点击事件后,实际上就是启动一个新的Activity。Launcher将会通过App的快捷方式(ShortcutInfo)得到应用的Intent,并通过这个Intent启动应用的“MainActivity”,从而启动应用。Launcher通过Binder通知ActivityManagerService启动Activity。1.Launcher通过Binde
2023-04-04 11:22:34
258
原创 Connect to maven.google.com:443 [maven.google.com] failed: Connection timed out: connect
Android studio 编译报错:Connect to maven.google.com:443 [maven.google.com] failed: Connection timed out: connect解决办法:把build.gradle里面的默认配置:google() 和 jcenter() 各自改为:maven { url ‘https://maven.aliyun.com/repository/google’ }maven { url ‘https://maven.aliyun
2021-10-11 17:11:06
2074
原创 Android Studio 4编译报错信息乱码
在build.gradle中加入:tasks.withType(JavaCompile) { options.fork = true options.forkOptions.jvmArgs += ["-Duser.language=en"]}
2021-07-20 13:26:04
517
原创 Notepad++增加读取二进制文件的功能——HexEditor的所有
增加Notepad++的插件:HexEditor。一、页面下载当然最方便的就是页面上下载,插件->插件管理->找到HexEditor安装就可以了。下载的时候会自动重启软件,当然有的时候会无法下载。那就进入第二步二、官网下载官网地址:https://sourceforge.net/projects/npp-plugins/files/Hex%20Editor/这边下载好以后,把下载的HexEditor.dll放在新建的HexEditor文件夹中。注意:一定要建文件夹!放好以后
2021-04-26 20:21:58
949
原创 scrcpy Device disconnected报错
scrcpy,安卓设备在PC上投屏的神器,开源项目地址:scrcpy开源git地址使用的时候有个坑要避免,报错如下:[server] INFO: Device: samsung SM-A305GT (Android 10)INFO: OpenGL shaders: ENABLEDINFO: Created renderer: openglINFO: Renderer: openglINFO: OpenGL version: 3.1.0 - Build 9.17.10.4459INFO: Tri
2020-12-25 13:25:19
4664
2
原创 Android9和10 UVC设备权限问题
开源库:saki4510t/UVCCamera:https://github.com/saki4510t/UVCCameraAndroid7和8都正常运行,Android 9和10需要加一个camera 权限:android.permission.CAMERA代码中加 **checkPermissionCamera();**即可,开源库已经给你封装好了。...
2020-11-23 15:40:32
1736
6
原创 Android 保存short数组
保存short类型,官方只提供了一个writeShort()的接口,这个接口一次只能写一个字符,不能写数组,于是就是如下代码://保存short格式的文件public static void saveShortArrayToBin(short[] vArr, String vPath) { FileOutputStream fos; DataOutputStream dos; try { fos = new FileOutputStream(vPath);
2020-09-30 09:56:01
872
原创 android studio项目加载超时 找不到包等解决办法
加载的时候保存:Caused by: org.gradle.xxx: Could not find…,还不提供解决办法的,一般是因为墙的问题,下载不到,这时候可以改一下源。去掉Google的,换成aliyun的allprojects { repositories { jcenter()// maven {// url 'https://maven.google.com/'// name 'Google'//
2020-06-12 16:42:47
954
原创 Java 数据类型
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。byte:byte 数据类型是 8 位、有符号的,以二进制补码表示的整数;最小值是 -128(-2^7);最大值是 127(2^7-1);默认值是 0;byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;例子:byte a = 100,byte b = -50。short:short 数据类型是 16 位、有符号的以二进制补
2020-05-21 14:14:10
182
原创 android byte格式文件保存,追加保存
上一篇说了float类型的保存:java float数组与文件之间的转换 大端转小端里面说到了大端小端的问题,如果用byte格式保存就可以完美避免这个问题。public static void saveByte(byte[] bytes, String str){ FileOutputStream fos = null; try { fos = new Fil...
2020-03-25 16:48:26
1228
原创 Android 保存float数组 大端转小端
1、用二进制保存到文件public void saveFloatArray2Bin(float[] vArr, String vPath) { FileOutputStream fos = null; DataOutputStream dos = null; try { // 新建文件流 fos = new FileOutputStream...
2020-03-25 16:34:20
1559
原创 Android 8 Notification工具类 NotificationUtil
兼容android 8的Notification工具类,分代码和用用法:代码import android.app.NotificationChannel;import android.app.NotificationManager;import android.app.PendingIntent;import android.content.Context;import android...
2020-01-15 19:25:55
2261
1
原创 android 文件分享 基于provider
android 7.0以后为了提高私有目录的安全性,防止应用信息的泄漏,从 Android 7.0 开始,应用私有目录的访问权限被做限制。具体表现为,开发人员不能够再简单地通过 file:// URI 访问其他应用的私有目录文件或者让其他应用访问自己的私有目录文件。作为四大组件之一的 ContentProvider,一直扮演着应用间共享资源的角色。这里我们要使用到的 FileProvider,...
2019-11-22 15:57:13
970
原创 git reset 记录回滚
一般的版本回滚都是push完以后发现有错误需要回滚,这里要用到是git reset命令。该命令有3个参数,mixed,soft和hard,下面做简单区别讲解。–mixed不删除工作空间的改动代码,撤销 commit 和 add 操作。这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。–soft不删除工作空间的改动代码,撤销c...
2019-10-16 11:24:47
759
原创 xls结合脚本批量修改文件名
进入到目标文件夹;在上方导航栏输入cmd,进入命令行;命令行输入dir /b>rename.xlsx;用Excel打开新生成的文件,里面A列已经放了当前文件夹下面的文件名,在B列放入你要修改目标文件名;C列的C1输入="ren "&A1&" "&B1即可,注意不要漏掉2个空格。然后复制第三列的内容。如果名字中有空格,那要用另一种写法:="ren """&a...
2019-08-30 10:45:55
345
原创 tensorflow 1.6 修改checkpoint的saver机制
前段时间公司上马了一个机器学习的项目,在基础环境搭好以后,默认机制存在几个痛点:每隔10分钟保持一个checkpoint,保存下来的step无法追溯其loss值,最多只给保存5个点,无法获取最小loss的checkpoint这些需求其实跟tensorflow本身的业务无关,只是修改一下他训练过程中的保存机制。下面记录一下这些问题的解决办法。1. 最多只给保存5个点:这个最先搜到了...
2019-06-14 11:23:55
1750
原创 springboot中,mybatis报错Caused by: java.lang.ClassNotFoundException: tk.mybatis.mapper.generator.Mapper
springboot当中,映射不成功报错。报错信息:Caused by: java.lang.RuntimeException: Cannot instantiate object of type tk.mybatis.mapper.generator.MapperPluginCaused by: java.lang.ClassNotFoundException: tk.mybatis.ma...
2019-05-24 23:19:22
5333
1
翻译 axios官方文档——中文版
原文地址:https://github.com/axios/axios/blob/master/README.mdhttp://www.cnblogs.com/libin-1/p/6607945.htmlaxios axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP client。特征从浏览器创建 XMLHttpRequests从node.js...
2019-04-08 16:53:13
26936
1
原创 微信小程序bind函数携带参数
微信小程序开发过程中,有很多bind事件需要携带一些参数,比如点击list的某个item时需要知道点击了第几行。一下是官方文档原文:dataset在组件中可以定义数据,这些数据将会通过事件传递给 SERVICE。 书写方式: 以data-开头,多个单词由连字符-链接,不能有大写(大写会自动转成小写)如data-element-type,最终在 event.currentTarget.datas...
2019-03-04 13:45:47
14029
原创 数据库复习
sql对大小写不敏感sql可以分2个部分:数据操作语言(DML)和数据定义语言(DDL):DML:查询和更新的指令,即增删改查(CRUD)DDL:创建和删除表格,定义索引(键),规定表之间的链接,已经施加表间的约束:CREATE DATABASE - 创建新数据库ALTER DATABASE - 修改数据库CREATE TABLE - 创建新表ALTER TABLE - 变...
2019-01-04 10:00:22
421
原创 考公务员图形数字推理方法总结
图形推理图形推理总纲:点线角面素,观察数规律一 数量类若一组图形中每幅图的组成较为凌乱,但局部显示有一定的数量变化。对于有这样特点的图形,通常从数量的角度来进行解题。对这几年公务员考试命题趋势的分析发现,数量类图形推理考查的角度虽然很多,但重点仍然集中在点、线、角、面、素。二 位置类对于位置类图形推理题,一般来说,一组图形中元素个数完全相同,不同的是局部元素位置有变化,这时从位置的角度出...
2018-12-28 16:05:07
343
原创 C#部分笔记
C#调用命令行//开关/c表示执行完命令就退出System.Diagnostics.Process cmd = System.Diagnostics.Process.Start("CMD.exe", @"/c systeminfo >test.txt");cmd.WaitForExit();System.Diagnostics.Process.Start("CMD.exe", @"/...
2018-12-28 15:28:22
202
原创 网络安全笔记
课程路径:华南理工大学公开课:网络安全网络安全将是未来的基石,万物互联的基础保障。第一节 现状分析病毒,变种病毒;漏洞攻击,技术人员的后门导致;假网址;中断,截获,篡改,伪造被动攻击和主动攻击安全服务:保密,认证,完整,不可否认安全框架:安全攻击,安全服务,安全机制第二节 常规加密技术公钥密码学加密操作类型:代换,置换,多重加密单密钥算法和多密钥算法对称加密:发送...
2018-12-28 14:55:28
4490
3
原创 微信公众号 Token校验失败 基于spring-boot
最开始是这么写:@GetMapping(produces = "text/plain;charset=utf-8") public String authGet( @RequestParam(name = "signature", required = false) String signature, @RequestParam(name = "times...
2018-10-12 17:17:52
1695
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人