自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (1)
  • 收藏
  • 关注

原创 ADB操作

1.Mac下配置ADB的第一步:cd ~/第二步:touch .bash_profile(创建 .bash_profile,若已经存在该步可省略)第三步:open .bash_profile添加如下:export ANDROID_HOME=/Users/peifangjun/Library/Android/sdkexport PATH=${PATH}:${ANDROID_HOME}/p...

2020-03-28 16:09:37 1574

原创 Git使用总结

May you return with a young heart after years of fighting.愿你出走半生,归来仍是少年。​​​1.git下载与配置Windows上Git安装访问网址https://git-for-windows.github.io/,下载完成后找到安装路径下的git-bash并打开。配置身份:git config --global user.n...

2020-03-23 22:44:35 209

原创 cookie和session

客户端技术,服务端返回一个信件,下次来带着就行了关闭浏览器后,没有设置有效期的 cookie 会被清掉,设置了有效期的 cookie 会继续生效,直到过期时自动清掉(或手动清掉)

2023-06-20 09:31:28 686

原创 Mybatis-plus

https://baomidou.com/pages/779a6e/ 官网地址。雪花算法:开源分布式ID生成算法。乐观锁:认为不会出问题,不去上锁,如果出了问题,再次更新值测试。逻辑删除:通过变量控制 deleted = 1 为删除。(1)删除数据库的默认值,和自动更新。悲观锁:认为一定会出问题,一定要上锁。1、字段添加TableId。1、数据库级别(不建议)(3)编写处理器处理注解。2、数据库字段设置自增。物理删除:从数据库删掉。新增字段deleted。id是雪花算法生成的。创建时间、修改时间等。

2023-06-18 08:41:18 365

原创 jmeter

setUp优先执行,tearDown最后执行,不受勾选独立运行线程组影响。a. CSV存储文件数据(UTF-8格式),如cvs.txt。勾选调度器:延迟3s后在2s内永远执行,不勾选一直执行;Ramp-Up时间:多长时间内启动完这些线程。勾选永远表示会一直执行,不勾选根据次数执行。生成随机数Random(闭区间)勾选后顺序执行,否则会并发执行。线程数:模拟多少个用户并发执行。跨线程组提取(设置全局变量)在另一个线程组获取全局变量。b. 设置CVS数据文件。2、CSV数据文件设置。c、数据导入参数模板。

2023-06-14 23:54:23 531

原创 MQTT协议简单了解

1.MQTT概念MQTT:消息队列遥测传输协议,是一个基于客户端-服务器的消息发布/订阅传输协议。最大优点在于可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。基础概念参考https://www.runoob.com/w3cnote/mqtt-intro.html2.订阅/发布MQTT 协议的订阅与发布是基于主题的,直接上代码。发布者:import jsonimport threadingimport timeimport paho.mqtt.client as mqt

2021-09-28 12:49:43 356

原创 动态代理和静态代理-java描述

1.业务功能实现package com.xxx.demo;public class UserServiceImpl implements UserService { @Override public void add() { System.out.println("往数据库添加一条数据"); } @Override public void delete() { System.out.println("删除数据库一条数据")

2021-08-07 18:53:24 98

原创 MySQL基本操作

1.数据库相关操作功能描述命令启动/关闭服务net start/stop mysql;退出mysqlexit;使用某个数据库use 数据库修改密码update mysql.user set authentication_string=password(‘新密码’) where user=‘root’ and Host =‘localhost’;显示所有数据库/表show databases; show tables;显示表所有表信息descri

2021-08-04 23:14:57 126

原创 Bitmap—有损压缩和无损压缩

有损压缩与无损压缩之间的主要区别:有损压缩无损压缩文件质量有损压缩是对图像本身的改变,保留了较多的亮度信息,将色相和色纯度的信息和周围的像素进行合并,信息量减少,图像质量也会相应的下降无损压缩是对文件本身的压缩,是对文件的数据存储方式进行优化,采用某种算法表示重复的数据信息,文件可以完全还原,不会影响文件内容,图像细节没有任何损失占用空间可减少图像在内存和磁盘中占用的空间不能减少图像的内存和磁盘中占用的空间还原性还原后不能和原来的文件一样,有一定的损耗的无损压

2021-08-02 18:29:27 394

原创 H5+CSS+JavaScript入门学习

第一部分 H51.认识HTML<!--使用html规范--><!DOCTYPE html><html lang="en"><!--网页头部--><head> <!--meta用于描述标签,用来描述网站的一些信息--> <meta charset="UTF-8"> <meta name="keywords" content="HTHL5"> <meta name="

2021-08-02 18:23:34 2261

原创 MVC与MVP

1.MVC模式Model层: 模型层数据处理层,可以带有逻辑(网络请求等),在数据变化时更新控制器View层: 视图层用于UI的更新Controller: 控制器作用于模型层和视图层上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。特点:1.View可以与Model直接交互2.Controller是基于行为的,并且可以被多个View共享3.Controller可以负责决定显示哪个View示例代码:model层:package com.xxx.mvc.model

2021-07-18 21:28:46 240 2

原创 Charles手机抓包

1. 工具下载(Mac端)下载链接: https://pan.baidu.com/s/1DYQ692tUBiDB1HNm4H_-8A 提取码: he1d安装破解过程见解压后的文件说明2. Charles配置1、让电脑和手机连接同一个WiFi【电脑开WiFi给手机连接也可以】2、打开Charles,点击菜单栏中Proxy –> Proxy Settings···,设置代理端口是8888【默认】,可以不修改端口号, 点击OK3、要对HTTPS抓包的话,还需要设置Proxy -> SSL

2021-07-10 15:28:45 1211

原创 理解JVM

什么是JVM?JVM是Java虚拟机的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码/.class文件),就可以在多种平台上不加修改地运行。Java内存模型模型图:类加载器加载器主要包括:应用程序加载器、扩展类加载器、启动类

2021-07-04 20:27:20 71

原创 Java注解

什么是注解Java 注解是 JDK5.0 引入的一种注释机制。Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。内置注解Java 定义了一套注解,共有 7 个,3 个在 java.lang 中,剩下 4 个在 java.lang.annotation 中。作用在代码的注解是@Override - 检查该方法是否是重写方法。如果发现其父类,或者是引用的接口中并没有该方法时,会报编译错误。@Deprecated - 标记过时方

2021-07-03 23:38:39 74

原创 Mac相关终端命令

修改权限的命令格式chmod [<权限范围><权限操作><具体权限>] [文件或目录…]<权限范围>u:User,即文件或目录的拥有者。g:Group,即文件或目录的所属群组。o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。a:All,即全部的用户,包含拥有者,所属群组以及其他用户。<权限操作>① +:表示增加权限② - :表示取消权限③ =:表示唯一设定权限<具体权限>r:表示可读

2021-04-06 17:33:51 224

原创 Java堆栈理解

一、概念JAVA的JVM的内存可分为3个区:堆、栈和方法区栈区栈中分配的是基本数据类型和自定义对象的引用。-每个线程包含一个栈区,栈只保存方法中(不包括对象的成员变量)的基础数据类型和自定义对象的引用(不是对象),对象都存放在堆区中-每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。-栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)。堆区堆中分配的是对象,也就是new出来的东西, 被所有线程共享。存储的是对象实例和数组,每个对象都包含一个与之对应的c

2021-03-12 18:34:32 503

原创 Mac生成tree目录结构

安装tree命令brew install tree查看目录进入指定的路径下tree -a 显示所有文件tree结构忽略某个文件夹(注意要带引号,支持正则表达式)tree -a -I “foldername”列出目录,忽略.git文件夹,输出到tree.md文件tree -a -I “.git” >> tree.md显示文件夹的层级(n表示层级数)tree -L n...

2020-12-23 15:26:57 174

原创 Excel使用小技巧

Excel是常用的办公软件,熟悉一些小技巧可以达到事半功倍的效果。1.单元格字符串截取操作=LEFT函数:表示从截取D6单元格从左边开始的4个字符=RIGHT(D6,2)表示截取D6单元格右边的2个字符=MID(D6,3,2)表示截取D6单元格从第三个字符开始的2个字符2.单元格分列操作先选中要操作的单元格,依次点击数据-分列-分隔符号-下一步选择分隔符号,这里手动输入逗号,点击下一步点击完成,就分成了两列3.计算操作求A1到A10的平均值,选择插入函数,选择函数,这里选AVER

2020-11-29 10:02:01 121

原创 C++基础

知识点1 :string、char *、char[]的转换一、string转char*。  主要有三种方法可以将string转换为char*类型,分别是:data(); c_str(); copy();//方法1string str = "hello";const char* p = str.data();//方法2string str=“world”;const char *p = str.c_str();//方法3string str="hello,C++";char p[50]

2020-11-05 17:50:58 83

原创 NDK开发使用addr2line定位到错误代码行

1.先找到NDK以ndk17版本为例,添加addr2line路径到环境变量(Mac环境)arm-v7路径/Users/xxx/xxx/android-ndk-r17c/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/binarm-v8路径/Users/xxx/xxx/android-ndk-r17c/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin

2020-11-03 17:37:43 1195

原创 Java常见问题总结

May you return with a young heart after years of fighting. ​​​愿你出走半生,归来仍是少年。1.hashCode方法与equals方法java中对象的存储采用哈希表的存储方式,hashcode方法是根据对象的地址转换之后返回的一个哈希值。看哈希表的结构:对于hashcode方法,会返回一个哈希值,哈希值对数组的长度(2*31...

2020-10-10 15:57:22 283

原创 IOS开发简单小结

1.关于UI获取iphone宽和高//可以将屏幕大小定义成一个宏#define SCREEN_WIDTH ([[UIScreen mainScreen] bounds].size.width)#define SCREEN_HEIGHT ([[UIScreen mainScreen] bounds].size.height)//宽度int w = [[UIScreen mainScreen] bounds].size.width//高度int h=[[UIScreen mainScreen]

2020-07-30 10:30:36 233

原创 FFmpeg——YUV播放(命令方式)

一、YUV的定义YUV是一种颜色编码方法。它跟我们常见的RGB格式区分开来,常使用在各个视频处理组件中。其中"Y"代表明亮度,"U"和"V"代表其色度。视频播放器把市面上流行的MP4等格式文件的视频部分解码出来,得到的一般会是YUV格式的数据,然后得进行转码(比如通过opengl的shader或者ffmpeg),把YUV格式的数据转成RGB格式的数据,然后才能在显示屏播放显示。YUV与RGB相比,优点是:1、亮度参量和色度参量分开表示,不但可以避免相互干扰,还可以降低色度的采样率而不会对图像质量影响太大

2020-07-16 10:53:19 5082

原创 NEON指令学习总结

第一部分 汇编指令armv7 & armv8指令对比arm-v8armv-7加载数据(三通道)st3 {v9.8b-v11.8b} , [%[result]], #24加载数据(单通道)ldp q0, q1, [%[rgb_b]], #32vld1.32 {q0-q1}, [%[rgb_b]]!加fadd v6.4s, v0.4s, %[constant2.0].4svadd.f32 q6, q0, %q[constant2.0]减fsu

2020-06-30 15:26:20 6663

原创 Android Studio 环境问题

问题1:android studio在4.4或4.2手机系统出现java.lang.ClassNotFoundExceptiondefaultConfig { multiDexEnabled true}depenencies { implementation 'com.android.support:multidex:1.0.3'}// AndroidManifest.xml 中的application要实现MultiDexApplication这个类<application

2020-05-29 14:07:36 112

原创 Kotlin学习笔记(二)

一、面向对象进阶数据类与单例类数据类用data关键字修饰类,相当于JavaBeandata class Company(val name: String,val startTime:Int)单例用object修饰类object Singleton{ ...}

2020-05-17 09:34:34 135

原创 Kotlin学习笔记(一)

一.Kotlin入门基础Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,先编译成字节码文件,运行阶段先转换成计算机可以识别的二进制文件后再执行,严格意义上是一种解释性语言。定义常量与变量变量定义关键字:var格式:var <标识符> : <类型>(可省略) = <初始化值>常量定义关键字:val ,(类似Java中final修饰的变量)格式:val <标识符> : <类型>(可省略) = <初始化值>

2020-05-16 17:29:44 95

转载 Android Studio 3.x Profiler 性能分析使用方法

转载: Android Studio 3.0 Profiler 性能分析利器

2020-05-06 10:29:02 254

原创 Windows任意位置右键打开终端

进入终端的快捷方式是进行了注册表的修改,修改注册表的步骤:1.在桌面新建一个文本文档(txt文档),命名为OpenTermnal.txt。2.将下面的代码粘贴至新建的文本文档,保存,关闭退出。Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\shell\OpenCmdHere]@="在此处打开终端""I...

2020-05-01 09:40:32 4654 1

原创 JNI——Java与C++ API接口调用

1.log打印#define GLOGD(format, ...) fprintf(stdout, "[%s %s] " format "\n", __FILE__, \__FUNCTION__, ##__VA_ARGS__)#define GLOGI(format, ...) fprintf(stdout, "[%s %s] " format "\n", __FILE__, \__FUN...

2020-04-15 19:09:42 349

原创 Android assets读写+SD卡读写

1.读取assets文本内容 public String getContentFromAssets(String fileName) { //String path = "file:///android_asset/"+fileName; StringBuilder builder=new StringBuilder(); try { ...

2020-04-11 13:31:43 610

原创 Android SD卡存储与内部存储

Android存储Android系统分为内部存储和外部存储,内部存储是手机系统自带的存储,一般空间都比较小,外部存储一般是SD卡的存储,空间一般都比较大,但不一定可用或者剩余空间可能不足。一般我们存储内容都会放在外部存储空间里。先判断SD卡是否可用,可用时优先使用SD卡的存储,不可用时用内部存储。存储在SD卡上时,可以在SD卡上新建任意一个目录存放,也可以存放在应用程序内部文件夹,区别是在...

2020-04-11 12:02:18 1451 1

原创 Mac终端指令操作

1.vi (vim)vi 1.c (如果文件存在,则打开这个文件,如果不存在,先创建,再打开)dd 删除一行(光标所在的那一行) (剪切)5dd 删除光标下的5行p 粘贴yy 复制5yy 复制5行u 撤销上一次操作 (undo)ctrl+r 恢复操作 (redo)gg 将光标定位在第一行shift+g 将光标定位到最后一行num s...

2020-04-02 10:47:43 447 1

原创 Android6.0动态权限申请

Android6.0及以上需要手动申请权限public class PermissionActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ...

2020-03-30 19:42:11 96

原创 Android数据存储与ADB

1.文件存储(一)context提供方法存取1.1将数据存储到文件中 public void save2File(Context context,String content){ FileOutputStream fos = null; BufferedWriter writer = null; try { fos...

2020-03-30 18:58:57 177

原创 Android——初识OpenGL ES 2.0

概念OpenGL(Open Graphics Library)是一个跨平台的高性能3D渲染API,OpenGL ES 2.0(Open Graphics Library Embedded System 2.0)是它的嵌入式平台2.0版本。简单实现在Activity里面,创建一个GLSurfaceView对象,然后当作Activity的布局,并实现一个Renderer接口,塞给GLSurfac...

2020-03-25 23:59:24 832

原创 Android——GLSurfaceView+Camera

一.GLSurfaceViewGLSurfaceView 继承自 SurfaceView。相比 SurfaceView,它加入了 EGL 的管理,并自带了渲染线程。另外它定义了用户需要实现的 Renderer 接口,客户端只需要将实现了渲染函数的 Renderer 的实现类设置给 GLSurfaceView 即可(策略模式)。二.Camera开发流程我们选择将 Camera 和 View 分...

2020-03-25 19:38:32 1673

原创 Android——Camera基础

Camera类概览图Camera类内部类—CameraInfoCameraInfo类用来描述相机信息,通过Camera类中getCameraInfo(int cameraId, CameraInfo cameraInfo)方法获得,主要包括以下两个成员变量:facingfacing 代表相机的方向,它的值只能是CAMERA_FACING_BACK(后置摄像头) 或者CAMERA_FAC...

2020-03-25 16:27:46 816

原创 Android JNI——Java与C相互调用

实现功能描述:在java调用native方法,在native方法里面再回调java的方法1.创建本地方法public class HelloNDK { static { System.loadLibrary("HelloNDK"); } private Context context; public HelloNDK(Context cont...

2020-03-21 16:53:27 692

原创 Android JNI搭建与实现

May you return with a young heart after years of fighting.愿你出走半生,归来仍是少年。​​​1.创建项目与NDK配置第一步:创建项目项目名:JNIDemo包名:com.pfj.jnidemo第二步:.配置NDK环境下载ndk需要的工具:打开SDKManager 然后选择SDK Tools需要下载LLDB、CMake、N...

2020-03-19 21:01:57 243

测试开发.xmind

测试开发.xmind

2021-10-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除