移动开发
Dubbo SPI自适应扩展和IOC
前言
书接上回,本文主要研究DUBBO SPI机制中的IOC和自适应扩展
上文中我们定义了一个抽象的汽车接口 Car,并提供两个实现别克(Buick)和奥迪(Audi)
// 车
@SPI
public interface Car {
void run();
}
// 奥迪车
public class Audi implements Car {
@Override
publ
强软弱虚引用如何理解
强引用:
我们平时最常使用的基本对象引用,JVM不会回收强引用类型对象,即使内存不足导致OOM也不会回收。
实现一个强引用
User user = new User()
软引用:
内存空间足够的情况下,JVM不会回收软引用对象,如果内存空间不足,那么软引用对象会被回收。
只要JVM没有回收,软引用就可以继续被程序使用,因此可以用软引用存放一些内存敏感的缓存。只要内存足够,对象就保持永远不被
Promise 对象
Promise 对象是一种连接生产者与消费者的特殊 JS 对象, 类似"订阅列表".
let promise = new Promise(
// 参数是执行器 executor
function(resolve, reject) {
// 扮演生产者的角色 通常是异步执行某些操作
// 生产者必须调用 resolve 或者 reject
});
// promi
123.路由重写-reroute
路由重写-reroute.jpeg
reroute 方法,没有调用start时进行加载app,调用loadApps方法,loadApps中准备加载应用,准备完毕后注册自定义事件callAllEventListeners
function reroute() {
if (isStarted()) {
appChangeUnderway = true;
Swift-转模型HandyJSON
一 简介
二 特性
三 安装使用以及封装
四 使用示例
五 项目使用示例
一 简介
HandyJSON是一个用于Swift语言中的JSON序列化/反序列化库。
与其他流行的Swift JSON库相比,HandyJSON的特点是,它支持纯swift类,使用也简单。它反序列化时(把JSON转换为Model)不要求Model从NSObject继承(因为它不是基于KVC机制),
UITableView、UICollectionView 滚动结束的监测(类似ViewDidAppear)
一、开始滑动:
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
NSLog(@"😁滑动,滑动。。。");
#ifdef DEBUG
#else
// 《友盟 统计》统计UIScrollView的滑动
[MobClick event:@"haha_scrollView_slide" label
js原型、原型链及继承实现方式
js继承主要包括原型链继承、借用构造函数继承、组合继承(原型链+构造函数)、组合继承优化、寄生组合继承5中方式,后3中都是由前两个组合优化而来,所以要先了解原型及原型链相关内容。
1、原型对象及原型链
在js中,一切皆对象,所以原型也是一个对象,称为原型对象。
在js中,每个函数类型的数据,都有一个prototype的属性,该属性所指向的对象就是原型对象。对于原型对象而言,其constructor
iOS -RAC使用
一、简介
ReactiveCocoa 可以说是结合了函数式编程和响应式编程的框架,也可称其为函数响应式编程(FRP)框架,强调一点,RAC 最大的优点是提供了一个单一的、统一的方法去处理异步的行为,包括 delegate 方法, blocks 回调,target-action 机制,notifications 和 KVO。
导入
在项目的 podfile 文件中添加
# RAC
pod 'Re