自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

刘胡来

你一条腿,我一条腿,咱俩一起走南闯北!

原创 Https是如何保证通讯安全的

这个问题困扰了很久,最近看了资料,总结一番,总结不到位的地方还请指出 http是明文传输而https加密传输(http的发展历史及各版本的差异,报文头这里就不介绍了,有兴趣的同学自己查阅资料)这是它们最大的区别。那https是如何达到安全传输的呢,这个需要先了解下http与https的osi层次结...

2020-05-29 21:00:28 50 0

原创 IOS自定义键盘(swift/Objc)

效果图 自定义键盘的核心思想 设置UITextFiled 的InputView 切换键盘的思路为重新设置UITextFiled 的InputView然后再调用textFiled?.reloadInputViews() *剩下的就是按键的布局与代理设置了 swift版本采用策略模式实现,O...

2020-05-27 15:43:33 72 0

原创 IOS 文本滚动标签效果(Objc/Swift)

实现效果 实现原理:动画改变文本的y坐标,同时使用把移出父布局的视图立即移到父视图的下方,使用一个临时UIView来交替上下两个视图,达到利用的效果 实现核心代码如下: Object-c版本: #import <UIKit/UIKit.h> NS_ASSUME_NONNULL_...

2020-05-21 20:17:50 42 0

原创 Object-c基本排序(快排,直接选择,直接插入)

直接插入排序算法思想: 插入排序首先考虑数组的前两个元素,即data[0]与data[1],如果次序颠倒了,就交换。然后考虑data[2],将其插入到前面已经排序好的位置上,依次到最后一个元素为止。 直接插入排序代码如下: -(void)insertSort{ printf(&...

2020-05-14 18:17:54 51 0

原创 Object-c 二叉树的遍历(前序、中序、后序以及非递归遍历)

二叉树的结构 二叉树是树的特殊形式,它包含结点值(可空),左孩子结点(可空),右孩子结点(可空)。空树即三者均为空,当任一结点只有左孩子或右孩子时,这颗树的结构就与链表类似了。 定义一个二叉树的结点代码清单如下: #import <Foundation/Foundation.h> ...

2020-05-12 21:01:00 11295 0

原创 Object-C 栈的应用实现两个大数相加

对于两个非常大的数,如1233333333333333333333333333+9090909090909090909090090909909090909090909090是无法直接相加的。因为已经超过了整型变量的限制可以使用下面代码获得基本类型在运行平台的存储范围: NSLog(@"...

2020-05-11 16:46:48 33 0

原创 Object-c 符号匹配的实现

基本思想: 对于读入的字符串,按顺序依次读取一个字符,如果该字符为左分隔符,则将其存入栈中。如果发现一个右分隔符,则与栈中弹出的元素相比较。如果二者相互匹配,则继续处理将标志match修改为true。反之中断处理并提示出错同时将标志macth修改为fasle。到达字符串末尾时检测栈是否为空与标...

2020-05-11 14:49:00 28 0

原创 Object-c 实现迷宫

关于本例子中用到的栈结构请参看:https://www.jianshu.com/p/e535df1a86d8 迷宫分析: 迷宫通常是用一个二维数组来表示,通路以0表示,不通以1表示,出口位置以e表示,起点为s表示(如下图所示)。 1 1 1 1 1 1 1 1 1 0 0 ...

2020-05-10 19:54:59 50 0

原创 Object-c 实现一个栈

栈释义 栈是一种线性数据结构,存储以及查找数据时只能访问栈的一端。类似于餐厅的盘子,新盘子放到这一叠盘子最上面,取的时候也是从最上面开始。最后放的盘子的也是最先被取走的那个。因此栈称为后进先出(Last in First Out )。 下列演示了一系列的栈的操作: 栈中至少有一个元素的时...

2020-05-10 18:19:04 43 0

原创 object-c 队列的两种实现方式(数组+链表)

队列是一个简单的等待序列,入队(新添加)的元素放在尾部,出队(删除的元素)从第一个开始。队列是先进先出结构(First In First out) 构造一个队列通常需要包含以下几个接口 初始化,这个过程用来设定队列的大小。 入队 出队 判断队空 判断队满 实现方式一:数组实现 例:...

2020-05-09 17:15:23 55 0

原创 《深入理解Java虚拟机 JVM高级特性与最佳实践》读书笔记--JAVA自旋锁与自适应自旋锁

自旋锁释义: 请求锁的线程(假设为线程A)再未获得锁的时候,不进入阻塞状态,而是让它「再执行一会」即占用CPU一会,看看持有锁的线程是否很快释放锁资源。但是为了让这个线程A进入「等待」的状态,需要让它执行一个忙循环(自旋),这项技术称为自旋锁。 自旋锁的优劣势分析 线程A的状态切换是...

2020-05-08 16:19:18 34 0

原创 Object-c单链表的操作

如果一个节点指向另一个节点的指针作为数据成员,那么多个这样的结点可以连接起来用一个变量能够访问整个节点序列。这样的节点序列就是最常用的链表实现方法。链表是一种由节点组成的数据结构,每一个节点都包含某些信息及指向链表中的另一个结点的指针。如果序列中的节点只包含后继节点的链接,该链表则称为单向链表。 ...

2020-05-07 15:29:38 30 0

原创 Java 多线程Latch模式-对比IOS 的线程依赖

Latch 模式背景释义: 有A、B、C、D若干个并行任务,现在F任务需要等ABCD全部完成之后再进行,只要其中任一一个并发任务未执行完F任务就阻塞或者抛出超时异常、取消任务 代码翻译: 抽象任务接口约束类 public abstract class Latch { pro...

2020-04-29 12:19:52 19263 0

原创 IOS-使用UICollectionView+UIScrollView实现悬停、导航条跟随列表滚动滑动

本例子主要实现2个主要功能 悬停 UIScrollView 的中Item随着滚动列表联动变化 效果图: 悬停的变化通过 监听UIConllectionView ContentSet变化再改变待悬停视图和y坐标即可,核心代码如下: - (void)scrollViewDidS...

2020-04-28 20:20:55 19856 0

原创 java 多线程-Balking模式(犹豫模式)

#原文案例来自于《java 高并发编程详解》 Balking 模式释义 比如我们在用word 编写文档的时候,每次文字编辑都代表着文档的状态发生了改变,除了我们手动使用ctrl+s保存文档以外,word还可以设置自动保存。如果word自动保存文档的线程正在准备执行保存动作的时候,恰好我们手动进行...

2020-04-26 09:16:08 32 0

原创 Java Balking模式

#原文案例来来自于《java 高并发编程详解》 Balking 模式释义 比如我们在用word 编写文档的时候,每次文字编辑都代表着文档的状态发生了改变,除了我们手动使用ctrl+s保存文档以外,word还可以设置自动保存。如果word自动保存文档的线程正在准备执行保存动作的时候,恰好我们手动进...

2020-04-25 22:23:39 19083 0

原创 Java多线程- 自定义Future模式

Future 模式释义 来源于《Java 高并发编程详解》 假设有个任务需要执行比较长的时间,通常需要等待任务执行结束或者出错 才能返回结果,在些期间调用者只能陷入阻塞苦苦等待,对此Future设计模式提供了一种凭据式的解决方案。在日常生活中凭据的使用很常见,比如你去服装店想订做一套西装,但又...

2020-04-25 17:05:31 20123 0

原创 Android/IOS 使用路径实现酷炫动画
原力计划

https://s31.aconvert.com/convert/p3r68-cdx67/vznv1-6aig0.gif

2020-04-08 17:14:36 6950 0

原创 IOS--简易的窗帘动画

IOS–简易的窗帘动画 使用原理 UIview的动画控制窗帘的高度 #import <UIKit/UIKit.h> NS_ASSUME_NONNULL_BEGIN typedef NS_ENUM(NSInteger, ToastAnimtype) { DONE, ...

2020-03-12 15:48:01 116 0

原创 Android studio 引用本地aar包

Android studio 引用本地aar包

2019-11-06 19:11:27 84 0

原创 ReactNative 手绘环形统计图

一、效果图 二、绘图使用了RN中的ART , 对于每段的计算需要注意 1.角度计算应该转换为弧度,转换公式如下: /** * 角度转弧度 * @param angle * @returns {number} */ degress2Radians(a...

2019-04-28 20:32:28 700 0

原创 IOS 编辑框焦点失去与获取时提示文本的的动画

一、本文实现的效果如图 二、实现思路 扩展一个UIView ,内部使用一个UILabel与UITextFiled,其中UILabel 使用动画控制缩放与位移,在UITextFiled 获取焦点时启动动画,进行UILabel 缩放并往上移,失去焦点且文本内容为空时再使用动画控制UILabel...

2019-04-25 20:07:38 172 0

原创 React Native 滑动组件

一、先放上效果图镇楼 二、封装这种组件,算是常规操作,练的多了,就有思路了。这里简单的说下封装的思路 动态创建中间的指示文本,一般是根据数组的内容来创建这些文本,有些时候,在创建好了之后我们还需要去获得这些组件的引用方便丢相应的接口出去,典型的如果,为每个控件绑定点击事件,在原生a...

2019-04-20 11:26:23 719 0

原创 ReactNative随手势滑动的进度条

一、效果图 二、 这里没什么分析的,主要是处理手势事件,然后把手指滑动的x座标传递上面的滑动文本即可,权当一个demo使用 直接放上源码: import React from 'react'; import {View, Dimensions, StyleSheet, Pan...

2019-04-03 10:39:20 597 0

原创 ReactNative FlatList 支持多类型Item的MVC写法

一、无图无真相,放上效果图先 二、封装的思路可参考之前的文章:https://blog.csdn.net/d06110902002/article/details/77929490 三、数据模型基类: /** * FlatList 的数据模型基类 * 对于基要展示的所有数据均扩展此类 */...

2019-04-02 11:26:22 20395 0

转载 IOS 深拷贝与浅拷贝

IOS 深拷贝与浅拷贝

2018-12-08 14:13:04 88 0

原创 移动端实习生菁英计划

一、菁英计划发展方向 二、第一阶段计划 代码托管工具与项目背景介绍(耗时1天) 项目框架介绍(耗时1-5天) 三、第二阶段:项目开发语言基础学习 java、Object-c、Swift语言基础学习(5-15天掌握一门开发语言) 项目框架介绍(耗时1-5天) 参考书籍: 《java核心...

2018-11-28 18:29:05 259 0

原创 Android/IOS-使用贝赛尔曲线画曲线图与填充图

一、按照惯例先放上效果图 二、从这个效果图来看需要画下列几部分 座标轴: 画座标轴,这个相信比较简单,画2条直线即可,但是如果座标轴的刻度随着输入的数据而变化的话,估计需要花点时间了。这样封装的目的就是为了在固定的区域可以展示不同的数据范围。如上图,横轴表示的是1-31之间的数,竖轴表示的是...

2018-11-08 10:13:40 19139 0

原创 IOS中使用GCD与信号量机制实现读者写者(读者优先)

一、读者写者问题是操作系统中非常经典的线程同步问题,像jdk中有读写锁用来处理这类问题。在读者写者模式中又有几种不同的同步模式,如: 读者优先 式的读者写者类型 写者优先 式的读者写者类型 公平竞争 式的读者写者类型 但不管是哪种类型,在处理 这个问题时都遵循下列几个互斥条...

2018-11-01 15:27:44 19416 0

原创 java多线程--简易使用同步锁实现一对一交替打印

一、本例需要分析的地方不多,只需要使用一个同步锁+一个计数器就能搞定,直接奉送源码吧: package com.example.liuxiaobing.statemodel.mutil_thread.onebyoneprint; /** * Created by liu...

2018-09-23 11:56:05 19440 0

原创 Cordova-android系列源码解读(一)加载h5页面流程

Cordova是一个比较成熟的跨跨平台框架,核心思想就是Native提供h5容器,业务逻辑由h5处理,因为h5是直接跑在浏览器中的,既而达到跨平台目的 本文旨在梳理cordovar第一个流程,在android平台加载h5过程。 先放出目的:加载h5是通过WebView...

2018-09-01 15:19:21 628 0

原创 mac搭建cordova环境流程

问题来源:MAC 安装cordova 安装nodejs 8.0.0 之后,用命令:sudo npm install -g cordova ionic 安装cordova 和 ionic 然后用命令:cordova -v 查看版本号 ,然后报了如下错误日志。必须用 sudo cordova -v...

2018-09-01 13:47:33 539 0

原创 软件产品发布流程

软件产品发布流程 一 目的 主要用于指导从项目到产品,从产品到市场的发布过程同时指导项目组开展产品发布。已实现下列目的: - 指导发布活动,有效控件产品发布过程; - 有效控制和追踪产品版本; 二 范围 适用本司所有软件产品的发布。 三 涉及人员 ...

2018-08-22 15:11:49 15464 0

原创 MVC框架模式在移动开发中的实践

一、MVC框架模式介绍: MVC (Model View Controller),是模型(model)视图(view)控制器(controller)的缩写,一种软件设计模式,用于组织代码用一种功能模块和数据模块分离的方法 层次角色职责划分如下: Model:模型层,负责处理...

2018-08-02 16:38:37 546 1

转载 AspectJ/AOP 在android上的实践小结

这编文章写的很详细,在此转载: https://www.jianshu.com/p/f90e04bcb326 本文测试的效果图如下: 本文要当日记类,方便下次用到的时候用: package com.haocai.aopdemo; import android.Manifest; i...

2018-08-01 20:22:46 124 0

原创 Object-c并发三曲---NSOperation的总结

// // ViewController.m // MultiThread // // Created by liuxiaobing on 2018/7/27. // Copyright © 2018 liuxiaobing. All rights reserved. // #impor...

2018-07-27 16:03:21 91 0

翻译 Object-c Block分析

本文是来自一位大神的分析博客,俺找不到他的博客地址了: 代码记录下来当作 自己的笔记吧 // // main.m // BlockDemo // // Created by liuxiaobing on 2018/7/25. // Copyright © 2018 liuxiaob...

2018-07-26 10:44:38 103 0

原创 IOS控件系列--在任意视图上添加小红点

一、先上效果图: 二.将需要显示的控件作为这个小红点的父结点,需要注意的地方是,如果父结点与小红点需要进行精确的座标,那么需要进行座标系的转换,这里也提供了一个 例子 其他的没什么好分析的,直接给出源码吧: // // RedPointBadgeView.h // IMobPay...

2018-07-23 18:51:17 20617 0

原创 Object-c 使用objc_property_t runtime机制遍历获取类的所有属性

本文没什么分析之处,需要注意的是,递归查找父类属性,直接给出源码: #import &amp;amp;lt;Foundation/Foundation.h&amp;amp;gt; /** * 遍历所有类的block(父类) */ typedef void (^Clas...

2018-07-20 16:39:10 339 0

原创 JAVA--状态模式

关于设计模式的文章,后续依次会更新,这里先放个彩蛋。 学习设计模式,一定要有自己的想法并在项目运用起来才能体验到它强大的好处,不然都是自嗨,俺第一次使用这个模式的时候是在做手游的时候,当时在军团战的时候,会出现多达7个状态,并且是依次连续出现,不能跳过。这些是题外话了,下面正式分析这个模式。 ...

2018-07-13 10:20:09 19352 4

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