自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(116)
  • 资源 (65)
  • 问答 (1)
  • 收藏
  • 关注

原创 iOS 匿名函数

文章目录一、匿名函数基本知识1、C 语言函数的定义2、GO 语言中匿名函数二、OC 中的匿名函数1、Block 定义2、Block 类型的变量3、Block 作为参数传递4、Block 作为返回值三、Block 实现1、实质2、...

2020-11-16 20:02:00 96

原创 iOS KVC实现原理

文章目录 一、KVC在iOS中的定义 二、常用的方法说明 三、赋值实现原理 四、取值实现原理一、KVC在iOS中的定义 KVC的全称为keyValueCoding,简称键值编码。是对NSObjcet的扩展,分类名为 : NSKeyValueCoding 我们经常用KVC或者setter方法来触发KVO,实现键值变化监听,实现一些功能。二、常用的方法说明 // 1、

2018-05-05 20:23:35 3819

原创 iOS hitTest

文章目录 一、什么是hitTest 二、hitTest的调用顺序 三、事件的传递顺序 四、hitTest的实现思路 五、hitTest的运用场景 1、事件穿透 2、子视图超出父视图范围一、什么是hitTest- (UIView*)hitTest:(CGPoint)point withEvent:(UIEvent *)event...

2017-11-01 14:03:06 10311

原创 iOS 消息转发机制

文章目录 一、消息发送概述 二、runtime 三次 拯救机会 1、Method resolution 2、Fast fowarding 3、Normal forwarding一、消息概述在编码过程中,我们经常会遇到类似 unrecognized selector 程序 crash的异常。可以总结到如下场景:1、方法只是声明了,对象直接调用 2、对象 使用 ...

2017-10-31 11:30:45 1566

原创 iOS Notification实现原理

目录 一、通知的基本使用 1、基本概念 2、什么情况下使用通知 3、如何使用通知 4、使用通知需要注意哪些细节 二、通知的实现原理 1、概述 2、实现一、通知的基本使用1、基本概念 NSNotification 是iOS中一个调度消息通知的类,采用单例模式设计,在程序中实现传值、回调等地方应用很广。在iOS中,NSN...

2017-07-26 14:31:36 6175 1

原创 iOS KVO的使用和原理实现

文章目录 一、KVC(键值编码 key-value-coding) 1、概念 2、简单使用 1> 注册观察者,添加观察对象属性 2> 实现回调方法 3> 移除观察者 4> 测试触发kvo 3、注意细节 二、KVO(键值监听 key-value-observer)...

2017-07-24 17:04:38 2176

原创 GO 接口类型

一、接口 3.1 声明 3.2 动态类型 3.3 类型判断 3.4 实现二、反射 4.1 方法和类型的反射 4.2 通过反射修改和设置值 4.3 反射结构 4.4 Printf 和 反射

2020-08-24 11:15:47 109

原创 GO 面向对象之结构体和方法

文章目录一、结构体 1.1 如何定义结构体 1.2 如何创建结构体 1.3 递归结构体 1.4 结构体转换 1.5 访问结构体中的成员 1.6 结构体作为参数 1.7 带标签的结构体 1.8 匿名字段 1.9 内嵌结构体 1.10 命名冲突 1.11 值语义 和 引用语义 1.12 二叉树二、方法 2.1 方法声明 2.2 方法和函数的区别 2.3 如何扩展任意类型的方法 2.4 工厂模式 2.5 方法

2020-07-02 23:50:30 195 3

原创 iOS 14.0 beta 沙盒缓存策略变化

一、问题描述 iOS 14.0 beta 暴露了开发者存储在沙盒 Document 目录下的所有缓存数据二、如何安装 iOS 14.0 beta 版本 2.1 安装 Profile 文件 2.2 检查更新 2.3 iOS 14 支持设备 6s 以上三、如何重现问题 QQ音乐、CSDN客户端的表现截图 正常的 例如:新浪微博 截图四、如何解决问题 4.1 问题的产生 4.2 问题解决一、问题描述偶然间更新了 iOS 14.0 beta 版

2020-06-28 16:54:17 491

原创 GO 函数基础知识

一、函数1、声明2、参数3、返回值4、函数作为参数5、函数做为类型6、可变参数7、匿名函数与闭包8、递归函数9、参数传递机制10、defer11、error13、panic14、recover

2020-06-26 23:21:49 131

原创 GO macOS下使用GoLand安装和使用

文章目录一、GoLand的下载和安装 1、下载安装 2、配置 GOOR 和 GOPATH 二、如何创建项目三、如何打开项目四、破解GoLand一、GoLand的下载和安装1、下载安装Goland下载地址:https://www.jetbrains.com/go/安装成功后在Application中出现如下应用2、 配置 GOOR 和 GOPATH点击打开 Go...

2020-06-18 10:30:18 1068

原创 GO macOS下安装包下载和环境变量配置

文章目录一、 GO 安装包下载地址二、环境变量配置 2.1 GOROOT 2.2 GOPATH 2.3 PATH三、使用 GO 环境 3.1 go version 3.2 go env 3.3 go build 和 go run 3.4 go help一、GO 安装包下载地址https://studygolang....

2020-06-18 10:12:27 211

原创 GO 用记事本编写第一个GO程序

文章目录 go build go run一、新建记事本输入如下package mainimport "fmt"func main(){ fmt.Println("Hello Word")}command+s 保存,文件名为HelloWorld.go。保存到桌面。二、编译并执行1、编译cd 到 HelloWorld.go文件所在目录go build Hel...

2020-06-18 10:12:10 145

原创 GO 基础知识

文章目录 一、常量和变量 1、常量 2、变量 二、基本数据类型 1、整型 2、浮点 3、布尔型 4、复数 5、字符串 6、字符传与其他类型转换 三、基本数据类型扩展 1、强制类型转换 2、自定义类型 3、类型别名 4、指针 四、流程控制语句 1、条件语句 2、选择语句 3、循环语句 4、延迟语句 5、标签语句(break、continue、goto)...

2020-06-18 10:10:09 166

原创 GO 复合数据类型

一、数组1、声明2、访问、修改3、作为参数传递二、切片1、创建2、增3、删4、改5、查三、映射1、创建2、增3、删4、改5、查

2020-06-18 10:09:34 92

原创 Java Map 接口

文章目录 一、Map的基本概念 1、基本概念 2、特点 3、常用的方法二、Map集合的两种取出方式1、Set<k> keySet 2、 Set<Map.Entry<k,v>> entrySetMap.Entry三、 Map常见的子类Map |-- HashTable: 底层是哈希表数据结构,不可以存入null键...

2019-07-20 23:36:44 125

原创 iOS 数组与集合

文章目录 一、集合和数组的对比 1、集合的概念 2、集合的使用优点 3、对比集合和数组 二、不可变数组和可变数组的关系 1、数组的可变形式原理 2、NSArray和NSMutableArray的本质区别一、集合和数组的对比不仅仅是iOS开发的Objective-C和Swift语言,很多其他的开发语言都有集合的概念,数组和字典以及Set是比较常见的方式。关于集合的数...

2019-07-06 23:49:11 995

原创 Java 泛型方法/接口、泛型限定

文章目录

2019-03-30 21:40:50 26842 6

原创 Java 泛型类

文章目录 一、泛型类的由来 当类中要操作的引用数据类型不确定的时候, 早期定义Object来完成扩展 现在定义泛型来完成扩展 二、并不存在泛型类 1、如何验证不存在泛型类 2、使用注意事项 三、泛型继承 1、以泛型类为父类 2、以非泛型类为父类 3、泛型类与非泛型类在继承时主要区别...

2019-03-10 18:12:26 173

原创 Java 泛型的使用

需求:定义一个字符串集合,要求字符串按照长度排序。在不使用泛型前,我们的代码如下。public class GenericDemo { public static void main(String[] args) { // 让Treeset集合元素具有比较性,构造方法传入一个自定义比较器 TreeSet ts = new TreeSet(new StringComperator...

2019-03-02 18:39:07 476

原创 Java 泛型基础

文章目录 一、泛型的由来 1、Collection的缺陷 2、泛型的由来背景 二、泛型的好处 1、类型安全 2、消除强制类型转化 三、泛型的格式 1、为什么泛型使用&amp;amp;amp;amp;amp;lt;&amp;amp;amp;amp;amp;gt; 2、泛型格式 一、泛型的由来1、Collection的缺陷Java语言的集合有一个缺点:当我们把一个对象丢进集合后,集合就会忘...

2019-02-24 17:56:53 109 2

原创 Java Set接口

一、Set接口的层级结构 1、特点 2、层级关系 二、常用方法 1、增 2、删 4、修 5、查 三、ListIterator迭代器 1、背景由来 2、使用 3、注意事项 四、List接口常见实现类 1、ArrayLis...

2019-02-22 00:21:01 422

原创 iOS 优化程序冷启动时间

文章目录 一、何为冷启动 1、冷启动 2、热启动 二、冷启动时间 1、什么是冷启动时间 2、冷启动过程做了什么 三、pre-main()阶段 1、pre-main阶段加载 2、pr-main节点时间测量及其优化 四、main()阶段 1、mai...

2018-11-21 19:16:28 2420

原创 Java List接口

文章目录 一、Lis接口t的层级结构 1、特点 2、层级关系 二、常用方法 1、增 2、删 4、修 5、查 三、ListIterator迭代器 1、背景由来 2、使用 3、注意事项一、Lis接口t的层级结...

2018-11-12 01:12:51 552

原创 Java Collection和Iterator

文章目录 一、关于集合 1、为什么会出现集合类 2、数组和集合同为容器,有何不同 3、集合的特点 4、集体体系 5、为什么会出现这么多容器 6、Collection接口常见方法 7、迭代器(Iterator) 8、示例demo一、关于集合1、为什么会出现集合类面向对象的语言对事物的体现都是以对象的形式,为了更方便对多个...

2018-10-29 22:44:33 857

原创 iOS CocoaPods 入门学习指南

文章目录 一、关于CocoaPos 1、什么是CocoaPos 2、安装使用CocoaPos 3、pod install 和 pod update 区别 二、制作CocoaPos 1、注册Trunk账号 2、注册github账号 3、配置ssh key 4、制作.podspec文件 一、关于Coco...

2018-10-24 21:32:57 576

原创 mac 更新“.bash_profile”(配置全局环境变量)没生效问题

打开终端cd /Users/用户名是否存在.bash_profileopen .bash_profile不存在即创建touch .bash_profile打开编辑后,让.bash_profile配置的全局变量理解生效source ~/.bash_profile这行脚本可能不起作用,原因是 mac下采用zsh代替bash,而zsh加载的是 ~/.zshrc文件,而 ‘.zsh...

2018-10-22 17:39:46 16171 1

原创 iOS 笔试面试题

1、为什么说OC是一门动态语言?主要体现以下三个方面: 动态类型、动态绑定、动态加载 (1) 动态类型 : 即运行时再决定对象的类型。简单说就是id类型,任何对象都可以被id指针所指,只有在运行时才能决定是什么类型。 例如 : `NSString *string = [[NSData alloc]init];` 编译时 是 NSString 类型,运行时 却是 NSData 类型 (2)

2018-04-23 17:42:34 1404

原创 ios Instruments之Time Profiler

文章目录 一、Time Profiler(方法执行时间) 1、简介 2、原理 3、注意事项 4、使用步骤(结合场景)一、Time Propfiler1、简介 Time Profiler帮助我们分析代码(方法)的执行时间,找出导致程序变慢的原因, 告诉我们“时间都去哪儿了?”。 在开发的过程中,我们经常能感觉到,点击某一按...

2018-04-20 18:00:04 1451

原创 ios Instruments之Allocations

文章目录一、Allocations(监测内存分配) 1、简介 2、如何使用一、Allocations1、简介 性能优化中使用Instruments-Allocations工具进行内存分配使用监测。 内存爆增,且持续不释放的情况,除了是内存泄露外,还有就是对性能代码质量不过关导致。 Allocations能够帮你精准定位到内存占用过多的代码。 ...

2018-04-19 18:39:22 1670

原创 iOS Instruments之Leaks

文章目录 一、内存泄露和内存溢出 1、内存泄露 2、内存溢出 3、内存泄露可能引发的问题 二、如何检测你的程序存在内存泄露 1、静态分析 2、动态检测一、内存泄露和内存溢出1、内存泄露 程序在申请内存后,无法释放已申请的内存空间 标识 : dealloc()方法未调用2、内存溢出程序在申请内存时,没...

2018-04-19 00:41:46 3651

原创 iOS 视频播放(AVPlayer)

文章目录 一、AVPlayer 1、简介 2、视频播放的解决方案 二、AVPlayer中的MVC 1、v层 :AVPlayerLayer 2、m层 :AVPlayerItem 3、c层 :AVPlayer 三、实现简单的播放、暂停功能 1、播放 2、暂停 3、视频播放暂停实现一、AVPlayer1、简介 OC 提供了三种视频播放解决方案,分别是

2018-04-17 14:59:40 12533

原创 iOS 音频录制、播放(本地、网络)

文章目录 一、录音机(AVAudioRecorder) 1、简介 2、如何使用 3、具体实现(开始、暂停、停止、播放 四个功能) 4、附件实现demo 二、播放音频 1、播放本地音频文件(AVAudioPlayer) 2、播放网络音频文件(Audio Queue Servies - 音频队列服务) &lt;1&gt; 音频...

2018-04-16 14:16:11 7567 1

原创 iOS AVAudioPlayer使用

文章目录 一、AVAudioPlayer 1、简介 2、优缺点 3、如何使用 4、扩展功能 (1) 如何做后台播放 (2) 如何做输出改变监听(拔出耳机音乐暂停播放) (3) 歌词轮播实现思路 (4) 关于NSTimer(循环引用、NSRunLoopMode)一、AVAudioPlayer1、简介 播放较大的音频或者要对音频有精确的,这种情况会选择使用AVFounda

2018-04-10 11:08:56 10927

原创 二分法查找θ(logn)

文章目录 一、递归查找 二、非递归查找一、递归查找int binarySearch1(int a[] , int low , int high , int findNum){ int mid = ( low + high ) / 2; if (low &gt; high) return -...

2018-04-05 15:00:56 400

原创 Java join()方法的使用

文章目录 一、join()方法的作用 二、join()和start()调用顺序问题 三、join()方法实现原理一、join()方法的作用主要作用是同步,它可以使得线程之间的并行执行变为串行执行。在A线程中调用了B线程的join()方法时,表示只有当B线程执行完毕时,A线程才能继续执行。 看如下代码class JoinThread implements Runnable{ //重写

2018-04-04 16:06:18 8953 1

原创 Java JDK1.5后生产消费者模式解决方案

文章目录 一、思考 nofifyAll()方法是否存在效率问题? 二、新特性 1、概述 2、总结 三、新特性的应用 1、Lock 2、Condition 四、优化代码示例 1、代码 2、注意点 一、思考在上一篇博客 生产-消费者模式初探 中,我们用 while()循环判断标记位和notifyAll() 解...

2018-03-29 17:05:14 163

原创 Java 生产--消费者模式初探

生产者消费模式 : 顾名思义有生产者、消费者、资源 三个对象。生产者生产资源,消费者消费资源。类似于工厂流水线,多条生产线(生产者),多条包装线(消费线)。前面有介绍线程的 等待唤醒机制 我们可以回顾下,一条输入线程(生产者),一条输出线程(消费者),不同线程对同一资源进行操作,只不过操作的工作不一致。回顾下等待唤醒机制的代码(2条线程)//资源文件class Resourc...

2018-03-25 14:25:03 127

原创 iOS 音效播放

在ios中,音频播放从形式上可以划分成两种 : 音效播放 和 音乐播放。音效播放通常指一些点缀性质音频,对于这类音频不需要进行进度、循环等控制。在ios中我们用 AudioToolbox 来完成音效播放。1、使用场景( 1 ) 接受推送的提示音 ( 2 ) 二维码扫描成功的提示音(类似微信) …..2、本质将短音频注册到系统声音服务3、局限性( 1 ) 播放时间不...

2018-03-01 15:49:50 909

原创 Java 线程间通信-等待唤醒机制

在上一篇博客Java 线程通信的安全问题(同步) 遗留一个问题,当输入线程(Input)操作资源(res)完成后,失去执行权,输出线程(outPut)在一些短时间内刻获取cpu执行权,就会疯狂打印这结果。那么,我们如何解决这个问题呢?分析: 我们期望的结果是,当输入线程一次(Input)操作资源(res)后,我们希望输入线程 (Input)失去执行权,让输出线程(outPut)获取cpu执行权,当输

2018-01-13 21:51:34 222

MVVM和MVP模式demo

ios架构之MVVM模式和MVP模式演示demo。

2016-01-27

Java 帮助文档

Java API 文档生成

2017-07-18

Java 字符串和基本数据类型之间的转换

Java 字符串和基本数据类型之间的转换

2017-06-27

Java 数组练习

Java 数组demo ,纯属练习用。做个笔记,方便学习。

2017-04-20

Java 自定义方法

Java 自定义方法和方法重载的练习demo,仅供初学者入门参考练习。

2017-04-22

Java static静态初始快

Java static修饰初始块。初级代码,仅供参考学习。

2017-04-25

ios AFN的二次封装

ios 基于AFN的二次封装修正版。仅供参考。

2017-05-02

Java 继承和方法重写

Java 继承知识点的相关学习。

2017-05-13

Java final关键字

Java final关键字的学习demo

2017-05-13

Java 字符串常用方法

Java String常用的方法

2017-06-16

iOS 音频录制

iOS AVFoundation框架下的AVAudioRecorder录音机的实现。

2018-04-13

Java static修饰方法

Java static修饰方法。例子仅供参考。

2017-04-24

图片加载菊花

图片加载菊花,小部分断言

2017-01-03

Java 接口多继承

Java 接口多继承和类实现多个接口的demo

2017-05-29

Java 自定义异常和抛出异常

Java 自定义异常和抛出异常的练习demo

2017-06-14

ios KVO实现原理

ios kvo原理的实现demo

2017-07-25

Java 等待唤醒机制

Java 等待唤醒机制,适合入门者学习的demo,可下载学习。

2018-01-13

监听键盘上的删除键

runtime一个小运用。为textview和textfiled写个扩展类,交换deleteBackward方法。当文本为空,继续点击键盘删除按键,可监听到删除事件。

2016-09-11

Java 构造方法

Java 构造方法的一些介绍,仅供参考学习。

2017-04-23

Java 多态中的类型转换

Java 多态中的类型转换

2017-05-22

Java 接口

Java 接口的初识学习demo

2017-05-25

Java 生产消费者模式

Java 生产消费者模式练习demo,供初学者入门。资深工程师请绕路。

2018-03-25

Java StringBuffer

Java 可变字符串StringBuffer学习demo

2017-06-21

ios runtime消息转发机制

ios runtime 消息转发机制。主要描述runtime消息发送的三次补救机会。

2017-10-31

Java static修饰成员变量

Java 关键字修饰成员变量例子。

2017-04-24

iOS AVPlayer播放暂停

iOS AVPlayer播放暂停功能示例demo,供视频初学者学习。

2018-04-17

微信支付demo

微信支付的demo,只需要在预处理文件替换3个宏,就直接可以运行。

2015-09-29

Java super关键字使用

Java super关键字使用demo

2017-05-16

ios 通知实现原理

ios 模拟通知实现原理

2017-07-27

ios 类似支付宝输入密码支付输入框控件

类似支付宝支付控件,输入4个数字,依次显示在4个控件,删除也是从后往前删除。

2015-11-17

iOS 本地音乐播放

iOS avaudioplayer 本地音乐播放器的学习demo,供除学习学习时候。

2018-04-10

Java 包装类

Java 包装类的使用说明

2017-06-26

Java StringBuilder

Java 可变字符串 StringBuilder 的 学习 (备注: 如果解压后是乱码,请用普通文本打开,重新复制到对应文件即可)

2017-06-20

Java 类的介绍

Java 关于类和对象之间关系的介绍,可以大概有个了解。

2017-04-22

ClientSocket

基于AnsySocket,对socket的简单操作,可结合这个对即时通讯技术有一定的了解。

2016-04-05

iOS 音频队列

iOS 音频队列之播放在线音频示例demo。供初学者学习使用。

2018-04-16

线程通信安全问题

java ,线程通信安全问题 ,属于入门代码,简单。 不喜勿喷呀。

2018-01-11

Java 抽象类

Java 抽象类的学习

2017-05-23

Java 处理异常

Java 异常处理的初识,适合入门学习

2017-06-08

在主线程上创建精准定时器

在主线程上面创建定准定时器,一个简单的demo

2015-08-31

空空如也

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

TA关注的人 TA的粉丝

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