首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏小蠢驴iOS专题

    Runtime - 方法发送机制味讲解

    如果找到了,调用并缓存该方法 如果类的class_rw中没找到该方法,通过superclass到父类中,走的逻辑还是先查缓存,缓存没有查类里面的方法。 最终如果在父类中调用到了,会将方法缓存到当前类的方法缓存列表中 方法缓存 如何进行缓存查找->使用散列表(散列表 - 空间换时间) ? image-20190317205913318 ? OC的消息机制 三个阶段 消息发送 动态方法解析 消息转发 消息发送 当前类查找顺序 排序好的列表,采用二分查找算法查找对应的执行函数 未排序的列表,采用一般遍历的方法查找对象执行函数 父类逐级查找 2019-03-17 22:57:45.130805+0800 Runtime-TriedResolverDemo[13776:9355195] -[IOSer interview] 消息转发流程2: :[[IOSer alloc]init]]; } @end NSInvocation 其实封装了一个方法调用,包括: 方法名 - anInvocation.selector 方法调用 - anInvocation.target

    67220发布于 2019-03-20
  • 来自专栏嗨嗨嗨

    学习小组Day2笔记--

    cp file1 file2 就是复制file1,命名为file2的意思 图片 ##mv 将文件移入文件夹,或者重命名 mv file 路径是移动file到某路径下 mv file1 file2是file1 重命名为file2 图片 小技巧:用tab键(键盘上q前面那个)可以补齐命令和文件名称,比如你想写huahua.txt,可以打出hua,按tab键,只要文件在当前目录下,文件名称就是可以自动补齐的,可避免代码拼写错误

    36000编辑于 2023-06-27
  • 来自专栏智能大石头

    实体列表缓存(最方法实现百万级性能)

    该列表位于 Meta.Cache.Entities,在 Meta.Cache 上提供了 Find/FindAll 方法。 因为是 IList<TEntity>,所以适用所有Linq方法,如上面例子可以改为:Meta.Cache.Entities.FirstOrDefault(e => e.Name.EqualIgnoreCase

    1.2K10发布于 2019-05-24
  • 来自专栏镁客网

    嫦娥五号:从月球挖2公斤回来!

    这次“嫦娥五号”肩负着最重要的一项任务——从月球采集约2公斤的样本带回地球。 如果“嫦娥五号”能成功完成任务,中国将成为继美国、苏联之后,第三个从月球运送样本返回地球的国家。 目前,人类已知的月岩标本的来源有三个: 1、外太空坠落到地表的陨石,这些陨石可能包含月球土壤及岩石; 2、苏联曾进行3次“月球号”无人探测任务,总计带回326克的月岩标本。 想要获取更多的信息,唯一方法就是重返月球,去采集更多来自不同地质背景、形成于不同历史时期的月球样品。 2、风暴洋克里普岩的具体形成过程是怎样的? 吕姆克山南部是风暴洋,这里富含克里普岩。

    54110发布于 2020-12-08
  • 来自专栏伪架构师

    味微服务

    设计开发过程受到新技术新方法的冲击。 测试标准、交付标准的变化。 运行环境升级和故障响应要求。 种种变化归结起来: 硬件和人力都变得廉价,变更频繁并且范围更大。

    57510发布于 2019-07-22
  • 来自专栏工程监测

    振弦传感器压力计的安装及埋设方法

    振弦传感器压力计的安装及埋设方法压力计是一种测量土体内侧压力的仪器,常用于土体工程的安全监测和评估。以下是压力计的安装及埋设方法:1. 选择合适的位置:压力计的安装位置应该在土体内的高应力区域,以便能够准确测量土体的内侧压力。同时,还需要考虑土体工程的结构特点和施工条件。2. 预留安装孔:在选定位置上,需要预留一个钻孔或挖掘一个洞口,以便将压力计安装到土体内侧。孔的大小应该根据压力计的尺寸和要求进行选择。3. 安装压力计:将压力计安装到预留的孔内,确保其与孔壁接触紧密,并使用适当的密封材料填充孔隙。安装时需要注意压力计的方向和倾斜角度,以便其能够准确测量压力。4. 2. 需要选择合适的压力计型号和精度,以满足测量要求。3. 在埋设过程中需要避免压力计受到过度载荷或损坏,以免影响其测量精度和可靠性。4.

    46110编辑于 2023-11-22
  • 来自专栏Chuanrui 初见之旅

    味情话API接口

    大家想不想要那种甜到爆炸的味情话呢? 如果想的话,那么这个api接口可以满足你的需求! 示例2: https://api.1314.cool/words/api.php?return=json 返回: {"code":"200","word":"听闻先生治家有方,小女余生愿闻其详。"}

    2.4K10编辑于 2022-11-14
  • 来自专栏算法之美

    reids吃记(1)-持久化

    小白回答: 有2种,全量Rdb 和增量 aof 小白思考:虽然我私下看过,脑海中知道,但是缺不敢说出来, 别人问几种,你上来回答2个,第三种你隐藏起来 然后脱口而出了,马上gameover 你犹豫是有道理的 002 V 2 377 9 214 H 0000160 253 212 0 G 344 * 2 \r \n $ 6 \r \n S E L \n S E T \r \n $ 2 \r \n K 4 \r \n $ 2 0000300 \r \n V 4 \r \n 0000306 * 2b) the parent accumulates differences in server.aof_rewrite_buf. * 3) When the child finished '2a' exists.

    63310发布于 2021-06-25
  • 来自专栏Listenlii的生物信息笔记

    SEL:估计1m2表层中的微生物α多样性

    英文标题: Assessment of microbial α-diversity in one meter squared topsoil 中文标题: 估计1m2表层中的微生物α多样性 杂志: (b) 四种混样方法. 主要结果 1. 非渐进的外推法 基于iNEXT实现了内插与外推曲线(Figure 2)。 非参数的渐进法 采用了基于丰度(Chao1, ACE and Jack1)和发生率(Chao2, ICE and Jack1)的非参数方法相互印证,来估计物种数量(Table 2)。 三种方法分别为27,193±1,076(UPARSE), 56,985±2,347(Deblur), 18,215±3,789(DADA2)。和非渐进的外推法比较一致。 S4 (a) UPARSE, (b) Deblur, (c)DADA2方法的Hill numbers. 5. 不同的序列聚类算法对微生物物种的估算具有较大的影响。

    78410发布于 2021-08-27
  • 来自专栏闰土大叔

    说JS进阶之变量

    大家好,你们的闰哥在沉寂了数月之后又回来了!(此处应有掌声~~~) 前段时间在群里关于“闰去哪儿了”的话题,让我既欣喜又尴尬。欣喜的是大家还记得我,尴尬的是我竟不知道该如何回复。 闰这次回来是带着满满的干货想与大家分享,如果你在这里能学到一点点知识,收获一丝丝感悟,那闰便知足了。 也就是说,对于引用类型的值,我们可以为其添加/修改/删除属性和方法,但是我们不能给基本类型的值添加属性,尽管这样做不会导致任何错误(我们建议不这么写,因为写了也没用 Orz)。 当使用age1的值来初始化age2时,age2中也保存了值26,但该值只是age1的一个副本,所以,这两个变量可以参与此后任何操作而不会相互影响。 然后这个值被复制到了person2;换句话说,person1和person2都指向同一个对象。这样一来,当为person1添加name属性后,person2也可以访问到这个属性。

    1K100发布于 2018-04-12
  • 来自专栏孟永辉

    巴兔们的新未来

    当回归产业成为主流的大背景下,互联网家装真正能够继续前行的关键在于找到回归家装产业的正确方式和方法,实现从流量时代向留量时代的全新嬗变。 我们需要找到一种更加深度的,更加可持续的推倒家装行业内部烟囱的方式和方法,通过这种方式实现家装行业上下游的打通和融合。 对于巴兔这样的头部互联网家装公司而言,他们在互联网时代积累了丰沛的数据,通过对这些数据进行深度挖掘,我们完全可以找到通过新技术的方式来推倒家装行业内部烟囱的方式和方法,以此为开端,家装行业才能从简单意义上的生拼硬凑的阶段 只有找到了改变家装行业内部元素的方式和方法,并且真正让家装行业的内部元素得到了改变,家装行业才能改头换面,才能真正进入到一个全新的发展阶段。 如果仅仅只是从表层来改变家装,而没有找到深度改造家装行业的方式和方法,那么,所谓的家装依然会陷入到死循环里。

    29520编辑于 2022-05-13
  • 来自专栏算法之美

    记之GDB调试原理

    启动注入代码方式检查死锁 然后这些东西不会融会贯通 吃记录 像外行一样思考,像专家一样实践: 小王:遇到core怎么办? 老王:gdb调试呀 小王:gdb 为什么可以非侵入调试进程呀。 GDB常用的使用方法有断点设置和单步跟踪 NAME ptrace - process trace SYNOPSIS #include <sys/ptrace.h> 有两个方法: 被调试的进程调用 ptrace(PTRACE_TRACEME, ...) 来使自己进入被追踪模式。 #define PTRACE_PEEKTEXT 1 #define PTRACE_PEEKDATA 2 #define PTRACE_PEEKUSR 3 #define write(2, "Hello", 5) roughly would translate into 大致可以理解为 movl $4, %eax movl $2, %ebx movl $hello

    1.5K20编辑于 2023-04-03
  • 来自专栏Golang语言社区

    Go学习笔记 | 06. 变量

    var i, j int = 1, 2 在函数内和函数外,有同名的变量时,函数内使用的函数内声明的这个变量。 如果变量初始化是使用表达式,则可以省略类型。变量会从初始值中获得类型。 完整代码示例: package main import( "fmt" ) var c, python, java bool var i, j int = 1, 2 func main()

    62550发布于 2018-03-28
  • 2025本DevOps新手选型指南

    其价值不仅体现在工具层面,更在于帮助中国团队建立起符合自身特点的研发方法论。当前,已有超过500万开发者选择Gitee DevOps作为其研发协作平台。

    25510编辑于 2025-09-01
  • 来自专栏闰土大叔

    说JS进阶之「戏说数组」

    技能攻略2:队列方法 刚看完栈方法,接下来我们介绍下Array的队列方法。栈数据结构的访问规则是后进先出,而队列数据结构的访问规则是先进先出。 然后使用shift()方法从数组种取得了第一项,即“red”。在移除第一项后,数组的length就变成了2。 在sort()方法里接收compare函数,该比较函数接收两个参数,如果val1小于val2返回-1,如果两数相等,返回0,如果val1大于val2,那么返回1。 例如,splice(0, 2)会删除数组中的前两项。 插入:可以向指定位置插入任意数量的项,只需提供3个参数:起始位置,0(要删除的个数)和要插入的项。 例如,splice(2, 0 ,'red','green')会从当前数组的位置2开始插入字符串“red”和“green”。

    1.3K120发布于 2018-04-12
  • 来自专栏Golang语言社区

    Go学习笔记 | 12. if 语句

    ); v < lim { return v } return lim } func main() { fmt.Println( pow(3, 2, fmt.Printf("%g >= %g\n", v, lim) } return lim } func main() { fmt.Println( pow(3, 2,

    775130发布于 2018-03-28
  • 来自专栏Golang语言社区

    Go学习笔记 | 29. 接口

    在go语言中,接口类型是由一组方法定义的集合。 一个类型是否实现了一个接口,就看这个类型是否实现了接口中定义的所有方法。在go语言中,无需特别的指明? a = &f 下面你可以分别看一下 a 和 f 都能实现什么方法了。 是的,a 没有 Scale() 这个方法。 为什么呢?因为 func (v Vertex) Scale() float64 里的是 Vertex 而不是 *Vertex 。 type Stringer interface { String() string } 我们给它在包内依附一个结构体,定义一个 String() 方法。 你可是试着把 String() 方法里的返回值写成 return fmt.Sprintf("full name is Joel %v", c.name) 运行自己看看结果有无不同。

    674120发布于 2018-03-28
  • 来自专栏机器学习/数据可视化

    模型评估方法-2

    评估方法 在实际中,通常需要通过实现对学习器的泛化误差进行评估并进而做出选择。需要使用一个测试集来测试学习器对新样本的判别能力,然后以测试误差近似作为“泛化误差”。 常用的几种评估方法: 留出法 留一法 交叉验证法 自助法 留出法 留出法hold-out,直接将数据集合分成两个互斥的集合,其中一个当作训练集合S,另一个当作测试集合T。 比如S中350个正例,350个反例;T中150个正例,150个反例 即使确定了划分比例之后,不同的划分方法仍然对模型的评估造成缺别。 解决方法:单次使用留出法得到的结果往往不是稳定的,多次使用取平均值。 通常在留出法中采用的比例是\frac23-\frac45用于训练,剩下的用于测试。 交叉验证法 现将数据集合D划分成k个大小相似的互斥子集D_1,D_2,…,D_k。每个子集尽量保持数据分布的一致性,即从D中分层采样得到。

    81110发布于 2021-03-02
  • 来自专栏blackheart的专栏

    2-匿名方法

    1.匿名方法应用和机制 先看一段代码(C#1.0): 1 //这里加了参数<为了说明delegate关键字后面的参数列表> 2 public delegate void MyDelegate(object : private void function() { MyDelegate md2 = delegate { Console.WriteLine("C#2.0写法"); }; md2( 2.匿名方法的中的"外部变量" 这个外部变量指的是匿名方法所在的方法里的局部变量,对与匿名方法来说称作外部变量, 改写下上面的代码[只改了function这个方法,其他没动]: private void ("C#2.0写法"); }; md2(this, EventArgs.Empty); } 虽然声明的这个i没做什么实质性的工作,但是它却使编译器做了很多额外的工作,看图: ? 而把外部变量作为了这个类的一个共有字段,我还原下改写的那个function方法[注:把上图用友好点的代码写一下]: 1 private void function() 2 { 3 Temp

    79360发布于 2018-01-19
  • 来自专栏Golang语言社区

    Go学习笔记 | 29. 接口

    在go语言中,接口类型是由一组方法定义的集合。 一个类型是否实现了一个接口,就看这个类型是否实现了接口中定义的所有方法。 a = &f 下面你可以分别看一下 a 和 f 都能实现什么方法了。 是的,a 没有 Scale() 这个方法。 为什么呢?因为 func (v Vertex) Scale() float64 里的是 Vertex 而不是 *Vertex 。 type Stringer interface { String() string } 我们给它在包内依附一个结构体,定义一个 String() 方法。 你可是试着把 String() 方法里的返回值写成 return fmt.Sprintf("full name is Joel %v", c.name) 运行自己看看结果有无不同。

    82950发布于 2018-03-16
领券