自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 NDK3:结构体、共用体

## 1、结构体 > 结构体是C编程中一种用户自定义的数据类型,类似于Java的JavaBean ```c //Student 相当于类名 //student和a 可以不定义,表示结构变量,也就Student类型的变量 struct Student { char name[50]; ...

2019-11-16 18:38:08

阅读数 3

评论数 0

原创 NDK2 :指针

import和include区别: import是弱传递,无法传递;include是可以传递的。 # 指针、函数、预处理器 // lsn2_example.cpp: 定义应用程序的入口点。 // #include "lsn2_example.h" using nam...

2019-11-16 17:27:19

阅读数 6

评论数 0

原创 NDK1:C基础,虚拟内存布局

# c初探:数据类型、数组、内存布局、指针 > c与c++ > > C语言是一门通用计算机编程语言,广泛应用于底层开发。 > > c语句是面向过程的语言,c++是面向对象的语言,C++对c进行扩展。 > > c是c++的子集,c++是c的超集,...

2019-11-06 23:07:34

阅读数 21

评论数 0

原创 RXJAVA2

/** * Observable --- 被观察者 * create ---操作符 * ObservableEmitter --- 发射器向观察者发送事件 */ Observable<String&...

2019-10-29 00:36:49

阅读数 6

评论数 0

转载 java 泛型

Java泛型详解:<T>和Class<T>的使用。泛型类,泛型方法的详细使用实例 一、引入 1、泛型是什么 首先告诉大家ArrayList就是泛型。那ArrayList能完成哪些想不到的功能呢?先看看下面这段代码: ArrayList<Strin...

2019-10-21 20:52:26

阅读数 10

评论数 0

原创 Android架构:A段架构师

2019-10-07 16:22:13

阅读数 3

评论数 0

原创 Android架构:神奇的通用性接口

重点:怎么从通用性接口转换成特殊性接口 随着业务越来越多样,软件系统就会包含越来越多的一对一特殊接口;怎么解决这类问题?避免业务的变化导致接口的大变动? 为了整合这些众多的特殊性接口;通常会设计出通用性接口,来试图统一他们,进而监控(Monitor)他们。如下图中的IMS就是一个通用性接口...

2019-10-07 16:02:14

阅读数 14

评论数 0

原创 Android架构:接口设计之美

本序列来自 高焕堂视频教程 接口设计之美_代码造形的角色 EIT E通过I,调用T E和I之间的关系, I和T之间的关系 EIT 是IOC的三个构成部分 IOC 遵循好莱坞原则,底层不能控制上层,上层控制下层 一般情况下的上下层之间的调用 是下层调用上层提供的方法 官方给出的API ...

2019-10-07 14:42:35

阅读数 54

评论数 0

原创 Android 39.项目实战 - 代码架构和运行时架构

2. 代码架构和运行时架构(内涵段子) 代码架构:与业务逻辑无关,基本上每个项目都要用的,比如访问,网络,图片,Activity,Fragment 等等 (一般是不会变动,多下些功夫) 运行时架构:与业务逻辑有关,是这个项目特有的一些功能部分,比如,参数要加密(RSA)单点登录,插件换肤等等(...

2019-10-06 21:43:09

阅读数 16

评论数 0

原创 Android架构 37.开发模式 MVP - 基础框架搭建分析

1. MVC举例 :M: model, V: View,C:controller 1. MVC 两个地方:个人主页,编辑资料,MVC意味着 ,这些代码是需要写很多份 2. 如果团队协作,多人开发,那么这个页面(编辑资料)一般都是一个人在做,项目比较紧凑的时候,不好分配人 3. 如果某...

2019-10-06 21:33:09

阅读数 7

评论数 0

原创 Android架构 33.第三方开源库 Retrofit - 源码设计模式分析

1. Retrofit: 网络封装框架(解耦),是对 OkHttp 的封装。 2.Retrofit 源码设计模式分析 《Android的源码》《JakeWharton的源码》 设计模式的使用 :还是基础 2.1 Builder 设计模式: Retrofit retrof...

2019-10-06 21:21:41

阅读数 9

评论数 0

原创 Android架构 32.第三方开源库 RxJava - Android实际开发场景

不要扰乱他人的心志,不要动摇自己的决心 1. OkHttp +RxJava + Rerofit(3次 + 1次) 2. RxBus + RxRelay // addTextChangedListener RxTextView.textChanges(mUserNameE...

2019-10-06 20:54:38

阅读数 11

评论数 0

原创 Android架构 RxJava

http://www.jianshu.com/p/464fa025229e(入门) RxJava(2.0) 思想:响应式编程(异步事件流编程)流 能够达到的标准,主流框架要自己能分析源码(Glide图片,Json解析,Dagger注入) 下载图片 public class Mai...

2019-10-06 20:05:00

阅读数 3

评论数 0

原创 Android架构 22.第三方开源库 EventBus - 源码分析和手写

1. 源码分析 现象描述: 2.1. MainActivity里面注册 EventBus.register(this) 2.2.MainActivity里面解绑 EventBus.unRegister(this) 2.3. 把需要接收的方法采用注解Subscribe 2.4.在任意的...

2019-10-06 16:23:08

阅读数 3

评论数 0

原创 Android架构 08.单例设计模式 - 强大的 Activity 管理

1. 设计模式 (23种) 把基础打好,做到不管什么代码你能自己分析。 什么是设计模式? 是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。 一些开发的套路,用于解决某一些特定场景的思想 aop 思想:把通用的部分代码统一管理,动态代理,aspecJ 等等 ...

2019-10-06 15:41:09

阅读数 8

评论数 0

原创 Android 架构 06.编译时注解 - 绕过微信支付和分享的局限

1. 架构的演变之路 2.绕过微信支付和分享的局限 3. 试题讲解 1.View的事件分发: 用两种方式解释 (通过画流程图,写文字描述)面试必备题 http://www.jianshu.com/p/98d1895c409d 2.请实现下图折现效果,要求横轴...

2019-10-06 15:28:26

阅读数 15

评论数 0

原创 Android架构5 ButterKnife

1. ButterKnife介绍 主要是解决掉 findViewById 和 setOnclick ,还包括资源的注入 , IOC ,运行时注解(上次)和编译时注解(ButterKnife注解) 2. ButterKnife原理分析 主要采用编译时注解,说白了就是用 apt 生成代码 ...

2019-10-06 15:21:54

阅读数 3

评论数 0

原创 Android架构03.UML建模 - View 的 Touch 事件分发流程

UML : 统一的建模语言 , 人才引入,开发规划 startUml (iOS Android 都行) power desinger 软件安装打开 1.UML分类 1.1 类图: 类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统...

2019-10-02 08:16:25

阅读数 9

评论数 0

原创 android架构2:京东,淘宝网络设计

网络关闭的情况下,点击京东超市等各个按钮,都没有任何反应;这种交互该如何实现 普通: /** * Created by hcDarren on 2017/8/27. * 标记切点 注解 */ @Target(ElementType.METHOD) // Target 放...

2019-10-01 15:46:11

阅读数 45

评论数 0

原创 android架构 :六大基本原则

本序列来自:https://www.jianshu.com/u/35083fcb7747 READ FUCKING CODE + 实践 利他:站在使用者角度看好不好用 simple1: /********************访问网络开始**************...

2019-10-01 11:39:26

阅读数 21

评论数 0

转载 密码学

明文长度不是8的整数倍怎么办? //填充最后一个分组的函数 /** * SRC 原始数据 size 每个分组的长度 */ func PaddingText(src []byte,blocksize int)[]byte{ //1,求出最后一个分组要填充的字节 pad...

2019-06-20 20:21:41

阅读数 10

评论数 0

转载 智能合约

2019-06-19 20:10:53

阅读数 16

评论数 0

转载 go第七天:网络模块

服务器代码开发 netcat 工具使用 客户端代码编写 发送文件流程

2019-06-04 19:45:37

阅读数 70

评论数 0

转载 go第六天:网络,线程

多核 04_创建goroutine 默认单任务,只能打印main ;把 go newTask()提前就两个都可以执行 06_主协程先退出导致子协程没来得及调用 这个程序什么都不会打印 07_runtime.Gosched的使用 08_runtime....

2019-06-04 12:34:31

阅读数 12

评论数 0

转载 go第五天:error,json,文件

04_显式调用panic函数 error不致命,panic致命错误 06_recover的使用 07_字符串操作常用函数介绍 10_正则表达式(上) 通过结构体生成json 15_str...

2019-05-26 17:54:32

阅读数 25

评论数 0

转载 go第四天:面向对象编程

初始化 成员操作 同名字段 07_非结构体匿名字段 08_结构体指针类型匿名字段 11_结构体类型添加方法 只要接收者类型不一样,这个方法就算同名也是不同的方法,不会出现出现重复定义函数的错误 值传递和引用传递:...

2019-05-23 19:59:17

阅读数 12

评论数 0

转载 go第三天:复合类型

不能操作没有合法指向的指针 GO语言也有值传递,地址传递的问题 切片作为函数参数传递,会作为实参传递,会改变原来的切片数据 长度都是0 ...

2019-05-23 10:18:05

阅读数 5

评论数 0

转载 go第二天:函数

第二种写法 不推荐 闭包方式修改,实际修改了值、 打印都是1 先打印a,后打印b 局部变量 ...

2019-05-19 18:52:17

阅读数 17

评论数 0

转载 golang:第一课

go 网站 go官网:https//golang.org go中文社区:http://studygolang.com go中文在线文档: https://studygolang.com/pkgdoc go命令 go build ***.go 编译go代码,生成一个可执行程序exe ...

2019-05-14 21:30:45

阅读数 53

评论数 0

转载 linux :目录结构

/:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录。所有的东西都是从这里开始。当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录)开始,再进入到home目录。 /bin: /usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。 ...

2019-05-12 13:42:03

阅读数 36

评论数 0

转载 Android跨进程通讯机制之Binder、IBinder、Parcel、AIDL

https://blog.csdn.net/qq_30379689/article/details/79451596 前言 Binder机制是Android系统提供的跨进程通讯机制,这篇文章开始会从Linux相关的基础概念知识开始介绍,从基础概念知识中引出Binder机制,归纳Binde...

2019-05-10 14:03:20

阅读数 45

评论数 0

转载 android :binder

https://www.cnblogs.com/xinmengwuheng/p/7070167.html 1. Binder到底是什么? 中文即 粘合剂,意思为粘合了两个不同的进程 网上有很多对Binder的定义,但都说不清楚:Binder是跨进程通信方式、它实现了IBind...

2019-05-09 19:53:36

阅读数 29

评论数 0

转载 Broadcast 广播

种类:普通广播,系统广播,本地广播 ,粘性广播 。 正式因为静态注册耗电、占内存、不受程序生命周期影响,所以Google在Android 8.0上禁止大部分广播的静态注册——Android 8.0新特性-取消大部分静态注册广播。 原理篇 https://www...

2019-05-05 20:28:09

阅读数 36

评论数 0

转载 大话设计模式1:UML & 简单工厂模式

1,面向新人 2,降低耦合,易拆解,可复用;封装,继承,多态 拆解:业务和逻辑的拆解,网络和io的拆解 3, 业务封装:常规操作 优化:增加运算类 ...

2019-05-05 11:16:32

阅读数 15

评论数 0

原创 UI卡顿:blockcanary

UI卡顿常见原因 1,UI线程中做轻微耗时操作 2,布局Layout过于复杂,无法在16ms内完成渲染 3,View过度绘制 4,View频繁触发messure,layout, 5,内存频繁触发GC过多(GC在执行的时候,其他线程都会暂停工作) ...

2019-05-03 16:31:36

阅读数 18

评论数 0

转载 leakcannary

mat 工具检测内存是否泄漏 LeakCanary 由Square开源的一款轻量级第三方泄漏工具 原理:watch一个即将要销毁的对象 为什么会泄漏 对象不再使用了还未被回收 声明周期结束了还未被回收 导致什么问题呢? OOM 传入的是activity的话,有可能这个act...

2019-05-03 16:08:56

阅读数 34

评论数 0

转载 EventBus

线程创建handler,处理消息 不管子线程还是主线程都可以发送事件

2019-04-29 15:34:22

阅读数 18

评论数 0

转载 butterknife

android界大神 JakeWharton 编写 版本8.5.1 ButterKnife.bind(this)需要在setcontentview之后调用 早起的注解框架用的是反射,这种方式在activity运行时大量使用反射会造成卡顿,生成很多临时变量。造成gc 早期的都是Runtime...

2019-04-24 20:42:17

阅读数 22

评论数 0

转载 开源框架初探

提升代码设计能力 全面掌握框架机制,原理,核心类,设计思想 网络框架:OKhttp ,retrofit 依赖注入:butterknife ,dagger2 异步处理:rxjava,eventbus 图片框架:glide,picasso 性能优化:leakcanary,blockcann...

2019-04-22 23:02:30

阅读数 8

评论数 0

转载 Java虚拟机:Metaspace

被废弃的持久代 想起之前面试的时候有面试官问起过我一个问题:Java 8为什么要废弃持久代即Metaspace的作用。由于当时使用的Java 7且研究重心不在JVM上,一下没有回答上来,今天突然想起这个问题,就详细总结一下这个问题。 首先我们看一张JVM内存布局的图: 注意到里面有一块M...

2019-04-09 20:38:01

阅读数 17

评论数 0

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