自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 React 虚拟DOM

一、什么是虚拟DOMReact非常快速是因为它从不直接操作DOM。虚拟DOM是在DOM的基础上建立了一个抽象层,对数据和状态所做的任何改动,都会被自动且高效的同步到虚拟DOM,最后再批量同步到DOM中。在React中,render执行的结果得到的并不是真正的DOM节点,而仅仅是JavaScript对象,称之为虚拟DOM。虚拟DOM具有批处理和高效的Diff算法,可以

2017-09-15 18:20:07 366

原创 Android Context

一、什么是ContextContext可以理解为上下文环境,大概就是里面存储一堆全局变量,这些变量在调用系统 API时需要用到。Context持有程序的状态、入口、权限、文件系统、等信息,并且是Activity、Service、Application等组件的父类。通过这些属性,可以获得各种系统的资源。Activity,Service,Application并

2017-09-15 18:19:11 205

原创 Activity 生命周期、启动模式、IntentFilter 匹配规则

一、Activity生命周期onCreate()表示Activity开始创建。一般在里面做一些数据初始化的操作;onStart()表示Activity正在启动,即将进入前台。这个时候Activity已经创建出来了,但是还没有进入前台,无法与用户交互;onRestart()表示Activity正在重新启动。从不可见状态(onStop状态)重新回到可见状

2017-09-15 18:18:04 241

原创 Runtime浅析

Runtime乃iOS装逼必备,接下来将会详细的说下Runtime。一、Runtime简介二、类与对象基础数据结构1.class类型class类型表示为:typedef struct object_class *Classobject_class 结构体为:struct object_class

2017-09-14 17:56:00 221

原创 Java垃圾回收机制

一、Java垃圾回收简介二、哪些内存需要回收java堆方法区:垃圾回收主要是回收这两部分内容:废弃常量和无用的类。对于废弃常量,主要是判断当前系统中有没有对象引用这个常量;对于无用类则比较严格,需要满足下面三个条件:(1)该类的所有实例都已经被回收,即堆中不存在该类任何势力;(2)加载该类的ClassLoader已经被回收;(3)对类对应

2017-09-14 17:53:12 213

原创 Java高并发编程:线程锁技术

一、Lock1.synchronized : 传统线程模型。2.Lock : 同步锁接口Lock lock = new ReentrantLock();//获取锁实例对象3.ReentrantLock:lock(),unlock(),newCondition()Lock lock = new ReentrantLock()

2017-09-14 17:52:20 370

原创 Java反射机制

最近学习Android,刚好遇到java反射机制,于是简单做一下笔记,等以后项目中遇到了再深入研究下 一、反射的概念 动态的访问java对象的属性、方法等  二、反射的作用 1.反编译: .class-->.java 2.通过反射机制访问java对象的属性、方法等  三、反射机制中的类 java.lang.Class;

2017-09-14 17:51:32 227

原创 ReactNative学习第七天 项目fetch+ListView

昨天我搭了一个壳,里面什么数据都没有今天我要做数据请求+列表展示,当时是最简单的例子,毕竟我是个初学者请求数据用 fetchfetch('http://facebook.github.io/react-native/movies.json')例子的部分代码:// 初始化模拟数据constructor(p

2017-09-11 18:31:58 217

原创 ReactNative学习第六天 项目底部TabBar和Icon自定义库

昨天我们学了 项目Header+顶部滑动切换今天刚开始的时候看到了一个库:react-native-vector-icons自定义矢量图。我研究了一上午,但整体流程还跑不通,无奈先暂时放着,等以后再研究。这个库能适配不同机型,确实挺方便的。有兴趣的同学可以研究下。http://www.jianshu.com/p/9016703cfe49关于昨天提到的 r

2017-09-08 18:18:42 3225 2

原创 NIO Buffer对象原理

昨天我介绍了Java NIO的简单实用:缓冲区和通道。今天我要讲下Buffer对象是如何工作的Buffer对象有三个重要属性:position:指定了下一个将要被写入或者读取的元素索引,它的值由get()/put()方法自动更新,在新创建一个Buffer对象时,position被初始化为0。limit:指定还有多少数据需要取出(在从缓冲区写入通道时),或者还

2017-09-08 18:17:32 227 1

原创 GCD浅析

iOS 多线程多线程相关概念进程与线程进程概念进程是程序在计算机上的一次执行活动,打开一个app,就开启了一个进程,可包含多个线程线程概念独立执行的代码段,一个线程同时间只能执行一个任务,反之多线程并发就可以在同一时间执行多个任务主线程主线程(又叫作UI线程)主要任务是处理UI事件,显示和刷新UI,(只有主线程有直接修改UI的能力)耗时的操作放在

2017-09-08 18:16:22 259 1

原创 ReactNative学习第五天 项目Header+顶部滑动切换

昨天我们学了WebStorm安装以及做了项目顶部效果  今天我们要做一个顶部Tab切换 所用到的第三方库为react-native-scrollable-tab-view  一、当然是先nmp cd 到项目目录 npm install react-native-scrollable-tab-view --save  二、创建文

2017-09-07 17:59:47 1916 1

原创 Java NIO浅析

最近在学习Android,看到了一个概念NIO。于是小小的研究了下。 NIO是一个面向块的I/O系统,系统以块的方式处理处理,每一个操作在一步中产生或者消费一个数据库,按块处理要比按字节处理数据快的多。 NIO有三个核心对象:缓冲区(Buffer)、通道(Channel)、选择器(Selector)  一、缓冲区Buffer 所有的缓冲区类型都继承于抽象类B

2017-09-07 17:57:51 161

原创 NSOperation浅析

NSOperation是苹果提供给我们的一套多线程解决方案,它是基于GCD开发的,但是比GCD拥有更强的可控性和代码可读性。 NSOperation是一个抽象基类,我们使用最多的是系统封装好的NSInvocationOperation和NSBlockOperation。  一、NSOperation通用方法  NSOperation * operation

2017-09-07 17:56:54 215

原创 ReactNative学习第四天 WebStorm安装及项目顶部效果

从今天开始我打算做一个仿网易新闻demo,让自己练练手。为什么选新闻类的呢,一是简单,适合初学者,二是功能技术点齐全。 我选择WebStorm IDE,它的好处我就不多说了,都懂的。  第一步当然是环境的安装了 1.ReactNative就不多说了,看我前面的几篇博客,里面有提到,我也是参考 ReactNative中文网的哈。 2.WebStorm ID

2017-09-06 17:43:22 305

原创 NSThread浅析

NSThread是基于线程使用,轻量级的多线程编程方法(相对GCD和NSOperation),一个NSThread对象代表一个线程,需要手动管理线程的生命周期,处理线程同步等问题  NSThread常用方法介绍  //动态创建 NSThread * newThread = [[NSThread alloc]initWithTarget:self select

2017-09-06 14:08:20 368

原创 java动态代理

最近看到一篇博客讲了java动态代理。以前没接触过这个概念,于是小小的研究了下。源码部分下次研究哈。  java代理分两种 静态代理:由程序员创建或特定工具自动生成源代码,再对其编译。 动态代理:在程序运行时,运用反射机制动态创建而成。  这里讲动态代理  demo  一、创建接口类 AnimalDao 

2017-09-05 16:12:51 231

原创 ReactNative学习第三天 UI篇 React-native-Swiper

第三天了,今天学习下UI里基础的一个控件:React-native-Swiper。这里要用到一个第三方库: react-native-swiper。下面我们来写一个例子  一、环境搭建 这里就不介绍了,ReactNative中文网上有。  二、创建项目 react-native init SwiperProject --version 0.44.

2017-09-05 15:07:08 865

原创 抓包工具

做项目的时候我们难以避免用到抓包工具去定位问题所在,在这里我推荐两款抓包工具:Charles和Wireshark。  Wireshark是我去年一年项目用的抓包工具,支持各种协议,能抓各个包,但由于功能强大,导致初学者比较难学难用。 Charles则是轻量级,学习成本更低。  在这里我也不介绍这两款工具了,我只是简单的做个记录,很长时间没用的话可以翻出来看看

2017-09-05 14:15:34 250

原创 分布式高效ID生产

每个项目的消息请求都有一个ID,以便于消息的管理。那么问题来了,怎么取值这个ID呢。         于是sequence油然而生。    高效GUID产生算法(sequence),基于Snowflake实现64位自增ID算法。     sequence是为了满足Twitter每秒上万条消息的请求,每条消息都必须分配一条唯一的id,这些id还需要一些大致的顺序(方便客户端排

2017-09-04 22:09:10 520

原创 ReactNative学习第二天

第二天了,今天学习下UI里最基础的一个控件:TabBar。这里要用到一个第三方库: react-native-tab-navigator。下面我们来写一个例子  一、环境搭建 这里就不介绍了,ReactNative中文网上有。  二、创建项目 react-native init TabBarProject --version 0.44.3

2017-09-04 17:52:20 231

原创 用C语言封装 NSInteger,NSObject,NSString 对象

本文的内容主要来自于: 点击这里最近看到一篇文章, iOS里的 NSInteger,NSObject,NSString对象是怎么封装出来的。做过iOS开发的朋友都知道,OC是基于C封装出来的,那我们来用C实现这个吧  一、Object对象  我们来分析下如何封装一个 Object对象    如果使用C来封装对象,我们就要用到结构体 

2017-09-04 13:43:51 362

原创 JAVA 反射机制初探

最近学习Android,刚好遇到java反射机制,于是简单做一下笔记,等以后项目中遇到了再深入研究下 一、反射的概念 动态的访问java对象的属性、方法等  二、反射的作用 1.反编译: .class-->.java 2.通过反射机制访问java对象的属性、方法等  三、反射机制中的类 java.lang.Class;

2017-09-04 09:56:00 185

原创 网络数据载体 protobuf/json

网络上数据传输格式多种多样,protobuf/json/XML等。json和XML就不多说了,平时用的很多,现在简单介绍下protobuf,刚好项目中要用到。为什么呢,简单、高效、自定义数据结构等等好处多多。    入门实例:    1.下载protoc.exe 和 protobuf-java-2.4.1.jar,放入E:/protobuf    下载地址: https://pan.b

2017-09-03 21:23:05 447

原创 Log4j使用小例子

当我的项目需要用到日志时,我第一个想到的就是鼎鼎大名的Log4j。作为功能强大的日志组件,提供方便的日志记录。     入门实例:    1.新建一个Java工程,在跟目录下创建pom.xml文件,导入Log4j包。pom文件的配置代码如下:                        log4j            log4j            1.2

2017-09-03 16:41:45 1077

原创 RxJava初探

公司框架要用到RxJava,以前没怎么用过这个,乘着现在用到,默默的研究下这玩意儿RxJava什么是rxJava在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库rxJava的好处随着程序逻辑越来越复杂,代码依然很清晰rxJava的基本原理rxJava实现异步,是通过扩展观察者模式来实现的rxJava观察者模式通过

2017-09-01 16:07:12 302

原创 iOS 如何优化项目

结构与架构文件目录分类以一个基础的电商项目来解释,4个tabbarItem对应着四大模块,首页、分类、购物车、个人中心,往下每个还可以细分为MVC+Session层按项目架构来分: 最外层为Model、View、Controller、Session层,内部才是业务模块第三方库管理手动管理手动维护各种第三方库,适合于已经趋于稳定、极少Bug的三方库CocoaPod

2017-09-01 15:17:14 268

原创 ReactNative学习第一天

今天,无意中看到了ReactNative这项技术,瞬间被它吸引了,ReactNative是一门艺术,是一门学问,于是,花了一天时间学习了基础,是最最基础的UI,并进行了总结,接下来的几天我会逐步深入这门艺术.参考: http://reactnative.cn/docs/0.47/getting-started.html

2017-09-01 14:48:18 190

空空如也

空空如也

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

TA关注的人

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