自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 javax.annotation.processing.FilerException: Attempt to recreate a file for type

重写AbstractProcessor 使用注解重写文件时报错原因是createSourceFile时 会记录每次创建的文件名 并记录在Set<String> aggregateGeneratedSourceNames中如果重复创建 会报错JavacFiler filter = (JavacFiler) processingEnv.getFiler();JavaFileObject f = filter.createSourceFile(className);//调用流程creat

2021-02-07 22:46:54 3673

原创 scrapy框架总结

1、整体架构engine负责数据的转发/调度工作spiders 发起请求requests经过engine引擎engine发送到调度器scheduler进行排队,去重将排好队的请求再次发给引擎engine引擎将请求经过下载中间件(加头,加代理,加cookie,集成selenium)给下载器,异步发请求将返回的数据经过中间件返回给引擎引擎将返回的数据经过爬虫中间件返回给解析解析后将数据再次经过爬虫中间件给引擎,如果解析的数据中还有请求requests对象会继续走2 3 4 5 6 7 8引

2021-01-16 02:06:24 313 1

原创 idea 集成scrapy

https://blog.csdn.net/u014738683/article/details/780724841、安装idea2、安装python插件需要注意python可能有多个安装位置3、brew install pip安装pip4、pip3 install scrapy 可能会失败 再试几次5、创建scrapy startproject tutorial6、在spiders目录下创建Spiderimport scrapy;class QuotesSpider(scrapy.Sp

2021-01-11 23:28:47 2541

原创 mysql问题

1、安装mysql后 初始化密码进入mysql mysql -urootmysql> flush privileges;Query OK, 0 rows affected (0.01 sec)mysql> alter user root@localhost identified by '123456';Query OK, 0 rows affected (0.00 sec)

2020-12-02 11:48:01 145 1

原创 sublime text3常用快捷键

基本快捷键control + - 跳转上一个函数command + p 查找文件

2020-10-29 20:12:18 112

原创 lldb 常用命令

lldb基本命令lldb – 应用 参数lldb 应用r 执行/重新执行断点:b 文件名:行数 [文件名不需要路径]b 文件名:函数名br l 列出所有的断点br del [断点号] 删除断点n 下一步s 步入c 继续执行 直到下一个断点l 列出代码p 变量名 打印变量参考:gdb lldb命令对照表https://blog.csdn.net/u010029439/article/details/79461091?utm_source=blogxgwz4...

2020-10-29 20:10:36 272

原创 FastDFS整理

一个分布式的文件服务器服务器为客户端 用于向文件服务器发起增删改查操作实际的文件存储在Storage中参考:https://blog.csdn.net/prcyang/article/details/89946190

2020-06-04 20:50:05 120

原创 MyCat整理

用于数据库集群抽象了一个逻辑层的数据库,实现分库、分表、读写分离、主从复制等操作具体的数据由实际的物理数据库支撑参考:https://www.jianshu.com/p/c8973edc550a

2020-06-02 19:41:23 174

原创 MQ

一个分布式的生产、消费系统用于传递消息 类似android的HandlerActiveMQ 需要配合Zookeeperhttps://www.jianshu.com/p/79f8a0457069RecketMQ 功能更加强大 已经实现了分布式https://www.jianshu.com/p/6868ddceaa5b

2020-06-02 19:19:09 158

原创 zookeeper整理

zookeeper是一个文件监视系统节点增删改时 会通知监听的回调集群时 有一个主机 多个从机当主机宕机 会使用算法选举一个从机为主机主机用于写 从机用于读可以实现分布式锁机制https://blog.csdn.net/kongmin_123/article/details/82081953参考:https://blog.csdn.net/java_66666/article/details/81015302...

2020-06-02 15:16:30 135

原创 qml整理

1、属性//属性//type可以为var 表示通用类型 也可以为具体类型 如int,long等[default] property <type> <name> : <value>//别名property alias <name> : <reference>属性可以定义信号1.2、qml的类型qml类型类型说明booldoubleenumerationintlist.

2020-05-29 21:01:33 274

原创 c++智能指针

通用方法get(); //获取原对象的指针reset(); //放弃内部对象的所有权或拥有对象的变更, 会引起原有对象的引用计数的减少use_count(); //返回引用计数的个数1、auto_ptrc++11已被弃用2、unique_ptr独享所有权的智能指针 用于替代auto_ptr当转移所有权时 需要使用临时右值unique_ptr<Test> t1, t2, t3t2 = std::move(t1); //将t1转移给t2 此时t2原对象析构 t1的对象

2020-05-19 21:46:46 130

原创 netty整理

一、Reactor模式1、传统BIO的服务端模式为:while(true){ //监听到一个连接 则将socket放到一个子线程中处理 socket = accept(); handle(socket)}2、基于nio的Reactor模式Reactor模式是将连接、读、写步骤分离连接放在一个单独的线程中 读写放在子线程中 可以提高响应的速度 具体的读写操作放在线程池中 即是主从Reactor模式传统BIO的服务端也可以将读、写、连接的步骤进行多线程的分离但是基于ni

2020-05-09 20:12:25 144

原创 epoll-未完成

参考:https://zhuanlan.zhihu.com/p/93609693https://www.cnblogs.com/Anker/archive/2013/08/17/3263780.html

2020-05-07 00:06:49 133

转载 Android使用Usb Accessory模式与linux通信

参考:https://blog.csdn.net/lj402159806/article/details/699406281、概述android端的AOA模式 是使android端作为从设备,外设硬件设备作为主设备,遵循AOA协议进行usb的通信。2、android端2.1 manifest配置<?xml version="1.0" encoding="utf-8"?>&l...

2020-04-27 15:30:22 918

原创 c之番外

1 指针int i; 定义整型变量 i。int *p; p为指向整型数据的指针变量。int a[n]; 定义整型数组a,它有n个元素。int *p[n]; 定义指针数组p,它由n个指向整型数据的指针元素组成。int (*p)[n]; p为指向含n个元素的一维数组的指针变量。int f(); f 为一个返回整型的函数。in...

2020-04-24 20:55:20 131

原创 c++11 多线程相关

c++线程整理主要类说明atomic原子变量thread线程相关mutex互斥量condition_variable条件变量future一、thread1、创建void f1(int n);//普通创建//如果需要传递引用时 可以使用std::reftemplate <class Fn, class... Arg...

2020-04-18 21:44:49 1104

原创 Mediacodec 华为P9 绿屏

MediaCodec解码 使用SurfaceView进行渲染MediaCodec.dequeueInputBuffer/MediaCodec.dequeueOutputBuffer获取需要一定的时间视频为30fps 一开始设置timeoutUs为30msdequeueOutputBuffer多次返回-1 导致dequeueInputBuffer耗尽 无法再获取 也返回-1此时Media...

2020-04-13 16:08:10 596

原创 博客收集

博客收集音视频ffplay源码https://blog.csdn.net/u011928958/category_9450588.htmlhttps://www.cnblogs.com/leisure_chn/p/10301215.html

2020-03-28 20:58:51 174

原创 android Q open failed: EACCES (Permission denied)

使用android Q的模拟器调试相机写文件时 写权限手动开启 还一直报open failed: EACCES (Permission denied)查了很久 终于找到了<manifest ... > <!-- This attribute is "false" by default on apps targeting Android Q. --> &...

2019-11-26 06:42:34 3043 7

原创 mac IDEA配置groovy

第一次使用idea创建groovy项目时,Groovy library没有选项 需要点击create按钮手动配置groovy的sdk这里要选择的目录位置是groovy/libexec的目录。两种情况:1、直接官网下的groovy的压缩包直接解压,然后目录选择groovy/libexec。2、brew安装的groovy目录选择/usr/local/opt/groovy/libexec。...

2019-02-20 23:14:05 3627 1

转载 c++11右值引用

从4行代码看右值引用概述  右值引用的概念有些读者可能会感到陌生,其实他和C++98/03中的左值引用有些类似,例如,c++98/03中的左值引用是这样的:int i = 0;int&amp; j = i;  这里的int&amp;是对左值进行绑定(但是int&amp;却不能绑定右值),相应的,对右值进行绑定的引用就是右值引用,他的语法是这样的A&amp;&amp;,通过双引号来表...

2018-12-20 20:09:12 4701 8

原创 -fno-elide-constructors

c++11 测试右值 临时对象的构造 编译器会自动优化导致有些流程未打印需要添加-fno-elide-constructors标记g++直接添加cmake 使用SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-elide-constructors")参考:https://blog.csdn.net/XiyouLinux_Kangyijie/arti...

2018-12-20 18:12:09 1004

转载 static_cast dynamic_cast const_cast reinterpret_cast

1. c强制转换与c++强制转换总结:static_cast:作用与c语言的指针转换相同(好像不能用于引用)dynamic_cast :父子类之间的转换(指针、引用) 且有安全检查const_cast:去除constreinterpret_cast:指针与int的互转&amp;nbsp;c语言强制类型转换主要用于基础的数据类型间的转换,语法为:(type-id)expression/...

2018-12-18 22:51:24 122

转载 C++ 11 Lambda表达式

C++11的一大亮点就是引入了Lambda表达式。利用Lambda表达式,可以方便的定义和创建匿名函数。对于C++这门语言来说来说,“Lambda表达式”或“匿名函数”这些概念听起来好像很深奥,但很多高级语言在很早以前就已经提供了Lambda表达式的功能,如C#,Python等。今天,我们就来简单介绍一下C++中Lambda表达式的简单使用。声明Lambda表达式Lambda表达式完整的声明格...

2018-12-17 11:21:50 127

转载 AVPacket详解

本文主要从以下几个方面对AVPacket做解析:AVPacket在FFmpeg中的作用字段说明AVPacket中的内存管理AVPacket相关函数的说明结合AVPacket队列说明下AVPacket在传递过程中数据缓存的管理查了一些资料,发现FFmpeg的版本更新还是挺快,而且有很多API也有改动,本文使用的FFmpeg的最新版本3.1。AVPacket简介AVPacket是F...

2018-12-09 15:13:54 17524 4

转载 YUV格式解析

YUV格式有两大类:planar和packed。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。&nbsp;YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作...

2018-12-08 21:25:23 229

原创 gcc连接静态库成功 g++连接静态库报undefined reference to''

mac下用g++编译代码,在连接一个c的静态库的时候,总是提示: undefined reference to`错误,找不到库函数。main.c:(.text+0x15): undefined reference to `MemoryContextInit()'main.c:(.text+0x26): undefined reference to `MemoryContextDestory()...

2018-12-05 20:49:53 2259

转载 五、导入表、IAT、绑定导入表解析

1、导入表(Import Descriptor)结构解析:导入表是记录PE文件中用到的动态连接库的集合,一个dll库在导入表中占用一个元素信息的位置,这个元素描述了该导入dll的具体信息。如dll的最新修改时间、dll中函数的名字/序号、dll加载后的函数地址等。而一个元素即一个结构体,一个导入...

2018-07-21 14:44:30 1490

转载 四、重定位表(Relocation Table)解析

1、重定位表的作用重定位表(Relocation Table)用于在程序加载到内存中时,进行内存地址的修正。为什么要进行内存地址的修正?我们举个例子来说:test.exe可执行程序需要三个动态链接库dll(a.dll,b.dll,c.dll),假设test.exe的ImageBase为40000...

2018-07-21 14:40:38 3660

转载 三、导出表(Export Table)解析

数据目录(Data Directory)有16个_IMAGE_DATA_DIRECTORY结构体元素,该结构体数组是可选PE头中最后一个成员。这十六个元素分别存储了不同信息,分别是:导入表、导出表、资源、异常信息、安全证书、重定位表、调试信息、版权所有、全局指针、TLS、加载配置、绑定导入、IAT、...

2018-07-21 14:35:58 4236 1

转载 二、Section Table解析

1、Section Table结构解析:Section Table(节表)是记录PE文件中各个节的详细信息的集合,其每个成员是struct _IMAGE_SECTION_HEADER结构体,即节表是一个结构体数组来维护,属于线性结构。而节表的相对起始位置为:紧接着可选PE表。即:DOS头 + 中间空闲及垃圾数据 + ...

2018-07-21 14:30:56 1457

转载 一、DOS头与PE头解析

在Windows下所谓PE文件即Portable Executable,意为可移植的可执行的文件。常见的.EXE、.DLL、.OCX、.SYS、.COM都是PE文件。PE文件有一个共同特点:前两个字节为4D 5A(MZ)。如果一个文件前两个字节不是4D 5A则其肯定不是可执行文件。比如用16进制文本...

2018-07-21 14:29:28 2107

原创 Fragment源码分析

参考: http://blog.csdn.net/yuanzeyao/article/details/52822315 http://blog.csdn.net/yuanzeyao/article/details/52895029 https://www.jianshu.com/p/47d20351b1ac

2018-03-08 22:46:25 158

原创 Android 网络框架之Retrofit2使用详解及从源码中解析原理

http://blog.csdn.net/guiman/article/details/51480497 http://www.jianshu.com/p/097947afddaf主要的类: Retrofit:总类 负责各模块的组装 ServiceMethod:将注解转为http请求参数 CallAdapter:适配器类 转换为具体的Call的子类 执行网络请求操作 Converter:对

2017-11-08 15:29:14 422

原创 JAVA动态代理

1、简单的demopublic interface HelloService { /** * 目标方法 */ public abstract void add(String str);}public class HelloServiceImpl implements HelloService { /* * @see dynamic.proxy.

2017-11-03 18:29:01 262

原创 okhttp3 源码分析

总体流程下面的流程图是由上面的文章抄来的(自己画的图,用的visio)整个流程是,通过OkHttpClient将构建的Request转换为Call,然后在RealCall中进行异步或同步任务,最后通过一些的拦截器interceptor发出网络请求和得到返回的response。将流程大概是这么个流程,大家可以有个大概的印象,继续向下看:为了让大家有更深的印象,我准备追踪一个GET网络请求的具体流程,

2017-11-02 16:29:47 250

原创 整理的好的JNI资料

http://blog.csdn.net/qq_32583189/article/category/6521368

2017-10-31 10:30:03 222

原创 JNI so库加载流程之System.loadLibrary流程分析

下面的代码都来自于android7.1.1_r6源码,除了第一个代码片作为影子其他代码片的第一行都标注了代码片的来源。System.loadLibrary(libName);loadLibrary是System.java中的一个静态方法//libcore/ojluni/src/main/java/java/lang/System.java public static void loadLib

2017-10-30 22:33:01 2785

原创 JNI概述

设计概述JNI接口函数和指针平台相关代码是通过调用JNI函数来访问Java虚拟机功能的。JNI函数可通过接口指针来获得。接口指针是指针的指针,它指向 一个指针数组,而指针数组中的每个元素又指向一个接口函数。每个接口函数都处在数组的某个预定偏移量中。下图说明了接 口指针的组织结构。JNI接口的组织类似于C++虚拟函数表或COM接口。使用接口表而不使用硬性编入的函数表的好处是使JNI名字空间与平台相

2017-10-30 19:54:22 356

基于opengles2的圆柱

基于opengles2的圆柱 参考android3d游戏开发

2016-01-21

空空如也

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

TA关注的人

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