2017-05-10 Lauzy
在项目开发中,大部分 Android 开发者都使用过 ButterKnife 这个通过注解简化代码的框架。部分 Android 开发者也使用过 xUtils 这种快速开发的框架。 两者均使用到了注解。在上一篇 Java注解、反射,安卓IOC(一) 中我们知道了注解及反射的用法。本篇会分别介绍下其实现机制。 运行时注解 首先我们自己简单实现类似 xUtils 这种运行时注解框架。 绑定 View 控件 创建注解: ```java @Retention(RetentionPolicy.RUNTIME)//运行时注解 @Target(ElementType.FIELD)//Target为属性 public @interface 继续阅读 »
2018-05-05 Vaniot
docker docker 使用go语言开发,对进程进行封装隔离。 more docker的三个基本概念 一、镜像(Image) Docker中的文件系统(操作系统的完整root文件系统),提供容器运行时所需的程序,文件,资源,配置及配置参数(匿名卷,环境变量,用户),镜像不会包含任何动态数据,其中的内容在构建后不会发生任何的变化,Docker的镜像设计基于Union FS设计为分层存储的架构。镜像的构建一层一层前者是后者的基础,构建完成后不再发生变化。 二、容器(container) 容器是镜像的运行实体(实质为进程),容器运行时以镜像为基础层创建当前的容器存储层,容器存储层的生命周期与容器相同,保存于容器存储层 继续阅读 »
2016-04-01 AllanChan
为什么 UIScrollView 的滚动会导致 NSTimer 失效? 定时器里面有个runoop mode,一般定时器是运行在Defaultmode上但是如果滑动了这个页面,主线程runloop会转到UITrackingRunLoopMode中,这时候就不能处理定时器了,造成定时器失效,原因就是runroop mode选错了。 解决办法有2个: 1:更改mode为NSRunLoopCommonModes(无论runloop运行在哪个mode,都能运行) 2:切换到主线程来更新UI界面的刷新 继续阅读 »
2013-04-27 Robert Zhang
分析:此题根据如何来表示一条指令,有两种解法:一种是用一个整数(3位数)来表示,另一种用一个对象(含有3个成员,分别表示指令的3个位)来表示。前者的好处是存贮方便,但需要运行时“译码”;后者的好处是不需要运行时“译码”,但有额外的开销在对象的创建和复制上。根据网站的判题结果,二者的时间效率大体相当。more 继续阅读 »
2017-06-22 MoreFreeze
CH41 Creating a Full Plugin 看到这里你可以停了,因为前面的姿势足够你完善自己的~/.vimrc脚本,去修复别人脚本的bug了,绝无讽刺的意思 往下学之前,建议先玩下Potion语言,这是个很小的语言,使用它的目的是为了辅助我们写vim script CH42 Plugin Layout in the Dark Ages ~/.vim/colors/在这里的文件记录了vim的颜色主题,如果运行:color xxx就能看~/.vim/colors/xxx.vim的配色方案了,查看当前配色都有哪些用:hi ~/.vim/plugin/在这里的文件每次vim启动都会运行一次 ~/.vim/ftdetect/这 继续阅读 »
2014-09-23 jude
网上有不少文档说明怎样在 linux sublime text 中输入中文的,比如这篇。本人操作系统是 manjaro linux,按照文档操作能在命令行运行能输入中文的sublime text,但要想在桌面上点击图标运行,就出问题了。 继续阅读 »
2017-07-06 安兴乐-siler
watch 定时监测 如同名字一样,watch就是监测一个命令的运行结果,省得自己不断的重复输入。 bash watch -n 2 "nvidia-smi" 每两秒运行一次nvidia-smi watch -n 2 -d "nvidia-smi" 同时高亮显示每次命令执行后变化的区域 继续阅读 »
2016-04-20 Lingxian Kong
在octavia中,实际的loadbalancer服务是由虚拟机提供,所以在虚拟机中需要运行服务与octavia通信,接收octavia发来的操作指令,配置网卡、路由以及haproxy和keepalived软件。 实际上,虚拟机里面会运行amphora-agent进程,对外提供REST API访问,如下所示: 继续阅读 »
2013-07-19 walter lee
编译型和解释型: 1.1 编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件。 1.2 解释型语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译。 动态语言和静态语言(对应变量而言): 2.1 动态语言:一种在执行期间才去发现数据类型的语言, 动态语言是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。pythton 2.2 静态语言:即一种在编译时,数据类型是固定的语言。大多数静态类型定义语言强制这一点,它要求你在使用所有变量之前要声明它们的数据类型。C、C++、Java 强类型定义语言和 继续阅读 »
2017-01-17 徐哲
第一章 第一章 1.Android系统架构 ~~Linux内核层->系统运行库层:底层驱动 系统运行库层->应用框架层:C/C++库,虚拟机 应用框架层->应用层: API~~ 继续阅读 »