逐步探究ObjC的Weak技术底层】的更多相关文章

前言 之前的文章有说过 Atomic 原子操作的原理,其作为一个特殊的修饰前缀,影响了存取操作. 在属性修饰定义中,还有另一类修饰前缀,他们分别是 strong weak assign copy,这些又有什么区别呢? 平时喜欢探究的同学,可能也见过 unsafe_unretained,这个又是什么呢? 让我们从属性修饰入手,逐步揭开弱引用的面纱. 原理 属性自动生成的实现方法是怎么样的? 首先我们先创建一个示例代码文件作为样本. #import <Foundation/Foundation.h>…
[Docker  底层技术] docker底层的 2 个核心技术分别是 Namespaces 和 Control groups 在操作系统中,网络配置,进程,用户,IPC(进程之间的调用)等信息之间的操作,都是可以被所有进程查看到的,除了这些资源信息,我们还需要隔离进程之间能够共享的信息,而Namespaces用于实现进程之间信息隔离的 关于Linux命名空间,实现进程间信息的独立与隔离需要在操作系统内核层面进行实现的 Mount Namespaces:挂载命名空间,用于隔离挂载目录 为什么要通…
ajax 异步 javaScript and xml 开发五步骤: 1. 创建对象 XMLHttpRequest(chrome,firefox) ie... jquery 2. 找到连接, http的method方法    GET|POST    PUT DELETE 3. 注册监听器  有数据返回之后,就会自动调用该方法(不是一次 3次) 4. 发送请求 POST PUT delete 请求数据 5. 处理请求 <%@ page language="java" contentT…
中新网5月3日电 日前,腾讯正式发布腾讯浏览服务(Tencent Browser Service,以下简称TBS),宣布为合作伙伴提供整合腾讯底层技术.内容框架.广告体系以及大数据等多方面能力的升级浏览解决方案.腾讯公司副总裁钟翔平表示,TBS带来了浏览能力的升级,为Html5开发者提供更强的技术能力,将真正在技术端推进Html5生态的发展. 尽管目前Html5所带来的移动互联网营销异常火爆,但据很多html5 app开发者反映,由于开发Html5页面后需要反复测试,导致开发适配成本很高,同时为…
这个系列的文章一共8篇,我酝酿了很多年,参考了很多资源,查看了很多源码,直到今天把它写出来,也是战战兢兢,生怕什么地方写错了,贻笑大方. (一)引言 早在我还是Android菜鸟的时候,有很多技术我都不太明白,也都找不到答案,比如apk是怎么安装的,比如资源是怎么加载的. 再比如说,每本书都会讲AIDL,但我却从来没用过.四大组件也是这个问题,我只用过Activity,其它三个组件,不但没用过,甚至连它们是做什么的,都不是很清楚. 之所以这样,是因为我一直从事的是电商类App开发工作,对于这类A…
1.weak是弱引用,所引用的对象计数不会加1. 2.weak变量在其引用的对象被销毁之后,会被置为nil. 3.weak通常用于block, delegate, NSTimer,以解决循环引用带来的内存泄漏问题. NSObject *obj = [[NSObject alloc] init]; // obj是被引用对象的指针 id __weak obj1 = obj; // obj1是weak变量,也是被引用对象的指针 weak的底层实现,简化的源码及解析如下: id objc_storeWe…
AOP的概述(http://www.cnblogs.com/lxp503238/p/6837653.html)        1. 什么是AOP的技术?        * 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程        * AOP是一种编程范式,隶属于软工范畴,指导开发者如何组织程序结构        * AOP最早由AOP联盟的组织提出的,制定了一套规范.Spring将AOP思想引入到框架中,必须遵守AOP联盟的规范      …
1. Srping框架的AOP技术底层也是采用的代理技术,代理的方式提供了两种 1. 基于JDK的动态代理 * 必须是面向接口的,只有实现了具体接口的类才能生成代理对象 2. 基于CGLIB动态代理 * 对于没有实现了接口的类,也可以产生代理,产生这个类的子类的方式 2. Spring的传统AOP中根据类是否实现接口,来采用不同的代理方式 1. 如果实现类接口,使用JDK动态代理完成AOP 2. 如果没有实现接口,采用CGLIB动态代理完成AOP…
1. AOP 的概述 AOP, Aspect Oriented Programming, 面向切面编程; 通过预编译方式和运行期动态代理实现程序功能的统一维护的技术; AOP 采取横向抽取机制,取代了传统纵向继承体系重复性代码(性能监视,事务管理,安全检查,缓存); AOP 可以在不修改源代码的前提下,对程序进行增强; 2. AOP 的底层实现 Spring 框架的AOP技术底层采用的是代理技术,代理方式分为: 基于JDK的动态代理:必须是面向接口的,只有实现了具体接口的类才能生成代理对象; 基…
在技术论坛中,经常看到一种言论:面试造火箭,干活拧螺丝.我们平时写的大部分代码的确是CRDU,再提一个层次,也无非就是揉进去复杂一些的业务逻辑,把一堆的CRDU组合起来. 那么问题来了:我们提倡的研究“底层技术”,难道仅仅是为了面试?或是为了平时码农们聊天时装大佬吗? 当然不是! 小端随着工作年限的增加,深有感悟: 技术是我们程序员的工具箱. CRDU是我们的默认工具. 平时的点滴积累就是在不断的丰富自己的工具箱,增加工具种类. 而深挖技术细节,就是在更深入的掌握每一个工具的特性. 在工作中遇到…