头文件 以此作为模板,记录于此 #import <Foundation/Foundation.h>#import <UIKit/UIKit.h>//this can write delegate directly,but out of the class ,can't see the class,so we add a @class@class HWeatherManager; @protocol HWeatherManagerDelegate <NSObject> /…
深入了解下 go 中的 select 前言 1.栗子一 2.栗子二 3.栗子三 看下源码实现 1.不存在 case 2.select 中仅存在一个 case 3.select 中存在两个 case,其中一个是 default 发送值 接收值 4.多个 case 的场景 具体的实现逻辑 1.打乱 case 的顺序 2.找出已经 ready 的 case 3.case 都没 ready,且没有 default 4.唤醒后返回 channel 对应的 case 总结 参考 深入了解下 go 中的 se…
此前编译过Android4.4的源码,但是现在Android都到了7.0的版本,不禁让我感叹Google的步伐真心难跟上,趁这周周末时间比较充裕,于是在过去的24小时里,毅然花了9个小时编译了一把Android6.0的源码,但是昨天编译完之后已经很晚了,没来得及记录编译的步骤,今天才慢悠悠地来记录一下我在Ubuntu Server14.04上编译Android6.0源码的步骤.好了,废话不多说,我们开始吧! 步骤一: 安装Ubuntu系统.我们既可以通过虚拟机的方式安装Ubuntu,也可以直接在…
昨晚在编译源码,make一段时间之后报错如下: # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x40362d33, pid=12195, tid=2835454784 # # JRE version: 6.0_45-b06 # Java VM: Java HotSpot(TM) Server VM (20.45-b01 mixed mode linux-x86…
最近在看<深入理解Java虚拟机 第二版>这本书,上面有关于自己编译OpenJDK源码的内容.自己根据书里的指示去操作,花了三天的时间,重装了好几次Ubuntu(还不知道快照这个功能,好傻一男的),在Ubuntu18.04.2上编译OpenJDK8源码都以失败告终.最后总结出书中关于这部分的内容已经过时了的结论,只能另外想办法.可能可以通过降低Ubuntu的版本(第三方下载旧的历史版本,官方不提供),但是我不愿意这么做,因为我的信条是过时的东西没必要重新捡起来了.最后决定编译OpenJDK9的…
Ubuntu 10.04 安装QT4.8.1 源码后字体模糊的问题. 附加解决 QT SDK 4.8.1 链接失败的问题 Ubuntu 10.04 编译QT源码后,编译程序,运行后IPA字体无法正常显示. 而且运行qtconfig程序,字体极为粗糙,很多矢量字体都无法显示.而且附带的demo程序也是这样. 而9.10源码编译后完全没有这个问题.但是现在9.10已经过期,而10.04是指定版本.不能回头了. 试着安装Qt SDK的二进制版本,发现qtconfig字体非常正常 用此版本编译.但是链接…
继续前一篇的内容.前一篇内容为: Spark中Client源码分析(一)http://www.cnblogs.com/yourarebest/p/5313006.html DriverClient中的代码比较简单,它只有一个main函数,同时,和AppClient一样,它也有一个ClientEndpoint,只是两者的用途不一样. 1.Client Client中唯一的main方法如下: def main(args: Array[String]) { if (!sys.props.contain…
继续上一篇的内容.上一篇的内容为: Spark中Master源码分析(一) http://www.cnblogs.com/yourarebest/p/5312965.html 4.receive方法,receive方法中消息类型主要分为以下12种情况: (1)重新选择了新Leader,进行数据的恢复 (2)恢复完毕,重新创建Driver,完成资源的重新分配 (3)触发Leadership的选举 (4)Master注册新的Worker (5)Master注册新的App,然后重新分配资源 (6)Ex…
继续前一篇的内容.前一篇内容为: Spark中Worker源码分析(一)http://www.cnblogs.com/yourarebest/p/5300202.html 4.receive方法, receive方法主要分为以下14种情况: (1)worker向master注册成功后,详见代码 (2)worker向master发送心跳消息,如果还没有注册到master上,该消息将被忽略,详见代码 (3)worker的工作空间的清理,详见代码 (4)更换master,详见代码 (5)worker注…
一.配置缓存   https://www.jb51.net/article/124434.htm 二.缓存全站.页面.局部   三.自我控制的简单缓存API API 接口为:django.core.chache 存接口:cache.set(key, value, time_out) 取接口:cache.get(key) django中的低层次缓存API 有些时候,对整个经解析的页面进行缓存并不会给你带来太多好处,事实上可能会过犹不及. 比如说,也许你的站点所包含的一个视图依赖几个费时的查询,每隔…