Rise的自留地

记录生活中的点滴,分享编程技术和游戏开发经验。

0%

当需要处理无源代码的久远jar包,获取其java源码时需要反编译工具的支持。

本文介绍IDEA自带的工具 [java-decompiler].

以反编译 logback-core-1.1.11.jar 为例,jar包位于 ~/jd 目录。

该组件是 IDEA 采用的反编译工具,在IDEA打开class文件时,就是通过该组件的反编译能力。

在安卓7.0以上的系统版本中,app默认不信任用户安装的证书,只默认信任系统证书,需要将FiddlerRoot证书导入在系统证书内。

在雷电9设置的其他设置中开启ROOT模式,并且在性能设置中开启System.vmdk可写入,保存后重启雷电。 再把证书使用adb push到/sdcard/Download/FiddlerRoot.crt,再使用adb shell执行以下命令:

最近在使用飞桨OCR,有几个特殊的符号需要进行识别,手上只有两台机器,一台1080TI单卡(windows 11),一台1080Ti双卡(linux 22.04),习惯性追新到飞桨最高支持的cuda11.7,其实1080Ti到cuda10就够用了,后面的新版本差没有明显的性能提升。 windows上无脑安装,linux上安装比较麻烦,记录下安装过程。 cuda、cudnn对nvidia驱动以及内核有依赖关系,cuda 11.7最低驱动版本是450.80,详细请看https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html#cudnn-versions-linux

排序

比较排序

冒泡排序

重复地走访过要排序的数列,每次比较相邻两个元素,如果它们的顺序错误就把它们交换过来,越大的元素会经由交换慢慢“浮”到数列的尾端。

依赖项配置

配置说明
implementationGradle 会将依赖项添加到编译类路径,并将依赖项打包到编译输出。不过,当模块配置 implementation 依赖项时,其他模块只有在运行时才能使用该依赖项。
apiGradle 会将依赖项添加到编译类路径和编译输出。当一个模块包含 api 依赖项时,会让 Gradle 了解该模块要以传递方式将该依赖项导出到其他模块,以便这些模块在运行时和编译时都可以使用该依赖项。
compileOnlyGradle 只会将依赖项添加到编译类路径(也就是说,不会将其添加到编译输出)。
runtimeOnlyGradle 只会将依赖项添加到编译输出,以便在运行时使用。也就是说,不会将其添加到编译类路径。
annotationProcessor要添加对作为注解处理器的库的依赖关系,必须使用 annotationProcessor 配置将其添加到注解处理器类路径。

Android音视频开发初级入门篇

Android 音视频开发(一) : 通过三种方式绘制图片

Android 音视频开发学习思路 里面,我们写到了,想要逐步入门音视频开发,就需要一步步的去学习整理,并积累。本文是音视频开发积累的第一篇。 对应的要学习的内容是:在 Android 平台绘制一张图片,使用至少 3 种不同的 API,ImageView,SurfaceView,自定义 View。

启动优化

一个应用App的启动速度能够影响用户的首次体验,启动速度较慢(感官上)的应用可能导致用户再次开启App的意图下降,或者卸载放弃该应用程序。

JVM

JVM 工作流程

对象

Java 的写法

Handler

Handler机制实现原理(一)宏观理论分析与Message源码分析

Message:

定义: