- 博客(300)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 【通用】操作系统 知识总结:IPC方式 / 进程线程 / 死锁 / 虚拟内存 / 段页存储
底层基于Binder通过将Binder对象转换成AIDL接口类型 & 调用其内方法,实现跨进程通信定义是进程实体的运行过程 & 系统进行资源分配和调度的一个独立单位作用使多个程序可 并发执行,以提高系统的资源利用率和吞吐量进程状态说明(前三个为基础状态)某资源/某事件处理机(CPU时间片)只缺前者 阻塞,只缺后者 就绪,二者兼备则 运行状态转换运行过程中,多个进程因争夺资源而造成的一种互相等待的僵局若无外力作用,这些进程都将无法向前推进。
2024-11-28 20:35:03
891
原创 【Android】Android 服务保活/常驻
配合 android.support.v7.AlertDialog 引导用户将 App 加入白名单.防止重复启动Service,调用startService(Intent i)时检查。工作服务运行在主进程中,免去与服务通信需使用AIDL或其他IPC方式的麻烦。参考了 Poweramp, 启动的前台服务与 UI 运行在同一进程中。守护服务 : 定时检查服务是否在运行,如果不在运行就拉起来。若服务还在运行,就什么也不做;若服务不在运行就拉起来。建议只在App的核心功能需要保活/常驻时使用。
2024-11-27 14:20:04
666
原创 【网络编程】Https的加密流程 / 对称加密和非对称加密 / SSL证书
在实际应用中,对称加密和非对称加密往往结合使用,以发挥各自的优势。例如,在HTTPS协议中,服务器首先使用非对称加密与客户端交换一个临时的对称密钥,然后客户端和服务器使用这个对称密钥进行后续的通信加密,这样可以保证密钥交换的安全性,同时也能享受到对称加密的高效率。在HTTPS协议中,服务器首先使用非对称加密与客户端交换一个临时的对称密钥,然后客户端和服务器使用这个对称密钥进行后续的通信加密,这样可以保证密钥交换的安全性,同时也能享受到对称加密的高效率。具体来说,HTTPS 工作过程中涉及到的密钥有三组。
2024-11-27 11:35:16
704
原创 【Android+多线程】异步 多线程 知识总结:基础概念 / 多种方式 / 实现方法 / 源码分析
一个基本的CPU执行单元 & 程序执行流的最小单元。
2024-11-26 20:50:05
866
原创 【Android】Handler 知识总结:应用场景 / 使用方式 / 工作原理 / 源码分析 / 内存泄漏
使用步骤/*** 此处以 匿名内部类 的使用方式为例*/// 步骤1:在主线程中 通过匿名内部类 创建Handler类对象// 通过复写handlerMessage()从而确定更新UI的操作@Override...// 需执行的UI操作// 步骤2:创建消息对象// 实例化消息对象// 消息标识// 消息内容存放// 步骤3:在工作线程中 通过Handler发送消息到消息队列中// 多线程可采用AsyncTask、继承Thread类、实现Runnable。
2024-11-25 22:20:25
898
原创 【Android+多线程】IntentService 知识总结:应用场景 / 使用步骤 / 源码分析
IntentService的定义、功能、应用场景、使用步骤、与Service和Thread的对比
2024-11-25 13:56:51
468
原创 【Android】Service使用方法:本地服务 / 可通信服务 / 前台服务 / 远程服务(AIDL)
这是最普通、最常用的后台服务Service。
2024-11-22 11:26:16
1292
原创 【SQL】case when语句
CASE input_expressionWHEN when_expression THEN result_expression [...n ] [ELSE else_result_expressionEND
2023-02-23 09:37:28
1053
原创 【SQL】SQL中各种各样的时间
%M 月名字(January~December)%W 星期名字(Sunday~Saturday)%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)%Y 年, 数字, 4 位%y 年, 数字, 2 位%a 缩写的星期名字(Sun~Sat)%d 月份中的天数, 数字(00~31)%e 月份中的天数, 数字(0~31)%m 月, 数字(01~12)%c 月, 数字(1~12)%b 缩写的月份名字(Jan~Dec)%j 一年中的天数(001~366)%H 小时(00~23)
2022-03-25 19:35:08
572
原创 【网络】Windows电脑端本地ip和公网ip的获取
cmd调出命令行查电脑本地ip:ipconfig查电脑公网ip:下列命令选一curl ipinfo.iocurl cip.cccurl ifconfig.me curl myip.ipip.netcurl icanhazip.com
2022-03-22 21:45:00
6561
1
原创 【Flink】DataStream API
DataStream API 基础执行环境(1)StreamExecutionEnvironment.getExecutionEnvironment()(2)StreamExecutionEnvironment.createLocalEnvironment()(3)StreamExecutionEnvironment.createRemoteEnvironment()流批一体,可以在提交任务命令中,设置是批处理模式、流处理模式、自动模式,-Dexecution.runtime-mode=BATC
2022-03-20 23:02:21
2072
原创 【SQL】SQL如何使0值升序排序时排最后
SELECT mylistFROM mylistORDER BY CASE WHEN t=0 THEN 1 ELSE 0 END, t
2021-12-16 11:30:44
1204
转载 【网络编程】netty
Netty 是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络 IO 程序。Netty主要针对在TCP协议下,面向Clients端的高并发应用,或者Peer-to-Peer场景下的大量数据持续传输的应用。Netty本质是一个NIO框架,适用于服务器通讯相关的多种应用场景要透彻理解Netty , 需要先学习 NIO , 这样我们才能阅读 Netty 的源码。private static final int DEFAULT_EVENT_LOOP_THREADS = Math.m
2021-09-08 19:04:46
335
1
原创 【工具】telnet用法
连接本机的6666端口:启动cmd,输入:telnet 127.0.0.1 6666进入一个只有横短光标闪烁的黑窗口,按住 ctrl + ] 两个按键,可以向指定端口发送数据。
2021-08-14 15:44:43
798
原创 【FFmpeg】SDL音视频渲染
1 SDL编译和安装下载源码:SDL2-2.0.14.tar.gztar -zvxf SDL2-2.0.14.tar.gzcd SDL2-2.0.14./configure --prefix=/usr/local sudo make -j 8 && make install2 SDL使用基本步骤添加头文件:#include<SDL.h>初始化SDL退出SDLSDL渲染窗口SDL_Init() / SDL_Quit()SDL_CreateWindow(
2021-07-22 20:03:50
264
原创 【JAVA】JVM的秘密
https://www.processon.com/view/link/5eea141cf346fb1ae56a44e7#map
2021-07-22 20:02:57
170
原创 【工具】好用的工具
Octotree - GitHub code tree目录树形式展示GitHub内容Save to Pockethttps://chrome.google.com/webstore/detail/save-to-pocket/niloccemoadcdkdjlinkgdfekeahmflj?hl=zh
2021-07-22 20:01:45
98
原创 【数据结构与算法】程序员MS金典 8.1-8.14
面试题 08.01. 三步问题class Solution {public: int waysToStep(int n) { vector<long> memo(n+1,-1);//当使用[]索引时,应该设置初始大小 if(n == 0){return 0;} if(n == 1){return 1;} if(n == 2){return 2;} if(n == 3){return 4;}
2021-07-22 20:00:51
167
原创 【Android】常用依赖
联网:Retrofit:GitHub、官网 implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0'生命周期组件 // lifecycle def lifecycle_version = "2.3.1" // ViewModel implementation "android.
2021-07-22 19:50:46
290
原创 【数据结构与算法】最小堆实现优先队列
https://zhuanlan.zhihu.com/p/65051934最小堆堆排序的原理就是,通过维护一个最小堆来进行排序(和没说一样。最小堆在数据结构上是个完全二叉树,即除了叶子结点靠右的部分可能缺失以外,其他的地方都是满的。最小堆在结构上的特点是,所有的父结点都比子结点要小。这个特点天然的用于获取第Top-K小的数或者排序。例如找第三小的数,就是从最小堆里面取的第三个数。最小堆有两个重要的操作,这两个操作都是为了维护最小堆,即在某些结点不满足最小堆属性的时候将堆调节到符合最小堆的状态。Si
2021-07-22 19:50:02
369
原创 【Android】自己手动打包一个apk,了解Android构建流程
1. 配置ANDROID_HOME环境变量以下是在mac下操作的过程。这样便于使用Android SDK自带的工具。vim ~/.bash_profile 以下代码,等号两侧不要有空格:export ANDROID_HOME=/Users/ztc/Library/Android/sdkexport PATH=$PATH:$ANDROID_HOME/toolsexport PATH=$PATH:$ANDROID_HOME/platform-toolsexport PATH=$PATH:$AN
2021-07-22 19:48:52
489
原创 【图像处理】NV21转Bitmap,Bitmap的截图、保存、旋转、镜像
/** * Describe: 将NV21数据转成Bitmap数据,便于截图 */public class NV21ToBitmap { private RenderScript rs; private ScriptIntrinsicYuvToRGB yuvToRgbIntrinsic; public NV21ToBitmap(Context context) { rs = RenderScript.create(context); yuvTo
2021-07-22 19:46:21
1087
原创 【Java】反射
反射:说白了反射主要解决那些我们平时解决不了的问题。比如一个类的构造,属性,普通方法为私有的情况下,或者某些方法虽然不是私有的方法但是是被隐藏的方法,我们就需要使用反射才能获得他们。一般使用Class类来完成反射,这个类把成员变量划分为Filed区域,把构造划分在Construct,把普通方法划分在method区域。、1 通过反射获得构造方法1.1 通过反射获得构造为空的构造方法:首先定义一个TestBean类,testBean的构造方法是私有为空public class TestBean {
2021-06-29 18:27:53
114
原创 【Android】配置HTTP代理
File>Settings>HTTP Proxy Settings> Auto-detect proxy settings>Automatic Proxy configuration URL: https://plugins.jetbrains.com设置HTTP Proxy:
2021-06-27 12:01:33
974
原创 【Android】跳转到指定的系统页:Wifi配置、热点配置
Android10 小米 亲测可用:Wifi配置:startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));热点配置:// 第一个参为包名,第二个各个设置的类名(可以参考下面,包名不用改变)ComponentName cm = new ComponentName("com.android.settings", "com.android.settings.TetherSettings");Intent intent = new Inte
2021-06-27 12:00:28
1328
原创 【Android】Android热点的开启、关闭、监听
参考1参考2WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);如果wifi打开关闭wifi:在6.0及其以下版本,在开启热点之前要先手动关闭wifi。以后版本就不需要了会自动关闭,热点关闭后也会自动打开。if (wifiManager.isWifiEnabled()) { wifiManager.setWifiEnabled(fal
2021-06-26 22:00:26
1202
原创 【Java】正则表达式的使用:去除字符串中的非法字符
只保留字符串中的字母、数字、下划线,其他字符删掉:public class StringProcess { public static String validify(String input) { String regEx = "[^\\w]"; String replacement = ""; // 定义待替换内容,将特殊字符换为replacement字符串,"_"代表替换为下划线 return input.replaceAll(regEx,
2021-06-26 21:59:12
4373
原创 【C++】STL里的priority_queue用法总结
https://blog.youkuaiyun.com/xiaoquantouer/article/details/520159281、头文件#include<queue>2、定义priority_queue<int> p;3、优先输出大数据priority_queue<Type, Container, Functional>Type为数据类型, Container为保存数据的容器,Functional为元素比较方式。如果不写后两个参数,那么容器默认用的是vec
2021-06-26 21:57:56
162
1
原创 【Android Studio】Android Studio ADB Wifi 无线调试
安装Adb Wifi插件打开File->perfrence->plugins->Browse repositories…->搜索 adb wifi->点击安装连接手机先用最普通的方式,用USB连接线,将手机和电脑连接,并成功被AS识别。然后操作如下:会出现:只要显示连接上了,就可以拔掉电脑和手机之间的USB连接线了。成功。...
2021-06-26 10:38:45
6556
原创 【Git】git的流程及常用命令
开始开发:git branch develop 创建develop分支git log 查看日志git checkout develop 切换到develop分支git checkout - 切换回master分支git checkout -b feature/notify 创建分支,并切换到该分支小技巧( git checkout -b feature/chat develop 在develop分支上创建一个chat分支,并切换到chat分支)开发git add .git..
2021-06-22 22:17:33
304
原创 【数据库】sqlite版本升级、降级
定义全局变量:public static SQLiteHelper dbHelper;public static String folder = "android.xxx.xxx"; // 数据库保存地址public static String file = "database.db"; // 数据库名称public static int DB_VERSION = 1; // 数据库的版本号public static SQLiteDatabase db; // 数据库初始化数据库(在M..
2021-06-22 21:40:20
2039
2
原创 【Android】Android studio中的Gradle压缩包存放位置查看
当你去C:\Users\dj\.gradle找Gradle的压缩包,发现这里放了各种版本的压缩包也无效的时候,不妨先去AS中查看一下你的这款AS,它会去哪里读取Gradle的压缩包:
2021-06-04 16:25:54
2904
rxpermission.aar
2021-03-05
DrawLinesTest
2020-11-12
订阅了您的专栏,问题:获取到NV21格式的frame后如何转成byte[]数组。
2021-07-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人