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

    Runtime - 方法发送机制味讲解

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

    61920发布于 2019-03-20
  • 来自专栏Golang语言社区

    Go学习笔记 | 10. 常量 与 数值常量

    package main import ( "fmt" ) const Pi = 3.14 func main() { const World = "厚" fmt.Println , Truth) } 运行结果是 Hello 厚 Happy 3.14 Day Go rules? true 数值常量是高精度的 值。 未指定数据类型的常量,由上下文来决定其类型。 fmt" ) const ( Big = 1 <<100 Small = Big >> 99 ) func needInt(x int) int { return x * 10

    78680发布于 2018-03-28
  • 来自专栏智能大石头

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

    NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netcore,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode。 最后一行是实体缓存统计日志,10秒输出第一次,然后每10分钟输出一次,统计了缓存数、请求数、命中率。 ? 如上,7亿多次查询,命中率在99%以上。 该列表位于 Meta.Cache.Entities,在 Meta.Cache 上提供了 Find/FindAll 方法。 因为是 IList<TEntity>,所以适用所有Linq方法,如上面例子可以改为:Meta.Cache.Entities.FirstOrDefault(e => e.Name.EqualIgnoreCase 早期版本XCode实体缓存默认过期时间60秒,随着数据库性能提升,默认值修改为10秒,可根据实际场景设置。

    1.1K10发布于 2019-05-24
  • 来自专栏伪架构师

    味微服务

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

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

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

    振弦传感器压力计的安装及埋设方法压力计是一种测量土体内侧压力的仪器,常用于土体工程的安全监测和评估。以下是压力计的安装及埋设方法:1. 预留安装孔:在选定位置上,需要预留一个钻孔或挖掘一个洞口,以便将压力计安装到土体内侧。孔的大小应该根据压力计的尺寸和要求进行选择。3. 安装压力计:将压力计安装到预留的孔内,确保其与孔壁接触紧密,并使用适当的密封材料填充孔隙。安装时需要注意压力计的方向和倾斜角度,以便其能够准确测量压力。4. 连接数据采集系统:将压力计的数据传输线连接到数据采集系统,以便实时监测、记录和分析压力数据。在连接时需要注意线缆的长度和布线方式。5. 埋设压力计:在安装完成后,需要将压力计埋设到土体内,以保护其免受外界干扰和损坏。埋设时可以使用适当的保护管道或套管,并填充土体以便形成良好的支撑和密封。注意事项:1.

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

    味情话API接口

    大家想不想要那种甜到爆炸的味情话呢? 如果想的话,那么这个api接口可以满足你的需求!

    2.2K10编辑于 2022-11-14
  • 来自专栏Ywrby

    10-方法引用

    方法引用概述 目的 方法引用是为了进一步简化Lambda表达式的写法 格式 类型或对象::引用的方法 //关键语法 “::” 实例 package ComparatorDemo; import lists.forEach(System.out::println); } } 静态方法的引用 格式 类名::静态方法 简化步骤 定义一个静态方法,将需要简化的代码放到一个静态方法中去 注意事项 被引用的方法的参数列表和函数式接口中的抽象方法的参数列表必须完全一致 如果函数式接口中的抽象方法有返回值,则被应用的方法也必须有相同返回值 如果函数式接口中的抽象方法没有返回值,则被应用的方法也可以有返回值 ,也可以没有 实例 首先在Student类中重写一个静态方法 //首先定义静态方法 public static int compareByAge(Student s1,Student s2){ 格式 对象::实例方法 步骤 定义一个实力方法,把需要的代码放到实例中去 注意事项 被引用方法的参数列表和函数式接口的抽象方法的参数列表必须完全一致 实例 实例就是本节开头所引的System.out.println

    44320编辑于 2022-10-27
  • 来自专栏算法之美

    reids吃记(1)-持久化

    8 printf("get a %d sig,pid:%d\n",signo,getpid());//getpid()为父进程的id 9 } 10 数据库内核月报 非常重要 看10遍 ✅ http://mysql.taobao.org/monthly/2018/12/06/ Redis Persistence https://redis.io/topics

    55310发布于 2021-06-25
  • 来自专栏孟永辉

    巴兔们的新未来

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

    25720编辑于 2022-05-13
  • 来自专栏闰土大叔

    说JS进阶之变量

    大家好,你们的闰哥在沉寂了数月之后又回来了!(此处应有掌声~~~) 前段时间在群里关于“闰去哪儿了”的话题,让我既欣喜又尴尬。欣喜的是大家还记得我,尴尬的是我竟不知道该如何回复。 闰这次回来是带着满满的干货想与大家分享,如果你在这里能学到一点点知识,收获一丝丝感悟,那闰便知足了。 (YY:按照惯例,此刻该听到搬小板凳的声音了,嘻嘻~) 正文 开门见山,这次闰要讲讲JavaScript进阶。废话不多说,先拿变量开刀。 也就是说,对于引用类型的值,我们可以为其添加/修改/删除属性和方法,但是我们不能给基本类型的值添加属性,尽管这样做不会导致任何错误(我们建议不这么写,因为写了也没用 Orz)。 闰再举一个栗子: function setName(obj){ obj.name = 'runtu'; obj = new Object(); obj.name = 'shaonian

    983100发布于 2018-04-12
  • 2025本DevOps新手选型指南

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

    22910编辑于 2025-09-01
  • 来自专栏Golang语言社区

    Go学习笔记 | 06. 变量

    用var语句可以定义一个变量列表。 var c, python, java bool 变量类型要写在最后面。 变量可以定义在函数内,也可以与函数一样定义在包内。 示例代码如下: package main import( "fmt" ) var c, python, java bool func main() { var i int fmt.Println(i, c, python, java) } 变量在声明的同时,可以赋予初始值。 var i, j int = 1, 2 在函

    58650发布于 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) 运行自己看看结果有无不同。

    649120发布于 2018-03-28
  • 来自专栏算法之美

    记之GDB调试原理

    启动注入代码方式检查死锁 然后这些东西不会融会贯通 吃记录 像外行一样思考,像专家一样实践: 小王:遇到core怎么办? 老王:gdb调试呀 小王:gdb 为什么可以非侵入调试进程呀。 GDB常用的使用方法有断点设置和单步跟踪 NAME ptrace - process trace SYNOPSIS #include <sys/ptrace.h> 有两个方法: 被调试的进程调用 ptrace(PTRACE_TRACEME, ...) 来使自己进入被追踪模式。 7 #define PTRACE_KILL 8 #define PTRACE_SINGLESTEP 9 #define PTRACE_ATTACH 0x10

    1.4K20编辑于 2023-04-03
  • 来自专栏闰土大叔

    说JS进阶之「戏说数组」

    技能攻略2:队列方法 刚看完栈方法,接下来我们介绍下Array的队列方法。栈数据结构的访问规则是后进先出,而队列数据结构的访问规则是先进先出。 于是,才有了升级版的sort()方法。该方法可以接收一个比较函数作为参数,下面来看例子: ? 第二个方法是slice()方法,它能够基于当前数组中的一或多个项创建一个新数组。slice()方法可以接收一或两个参数,即要返回项的起始和结束位置。 注意,slice()方法不会影响原始数组。请看下面的例子: ? 接下来我要说的这个splice()方法可以说是技能最强大的数组方法。splice()的主要用途是向数组的中部插入项。 技能攻略6:归并方法 英雄Array的最后两个杀手锏方法是reduce()和reduceRight()。这两个方法都会迭代数组中的所有项,然后构建一个最终返回的值。

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

    Go学习笔记 | 12. if 语句

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

    735130发布于 2018-03-28
  • 来自专栏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) 运行自己看看结果有无不同。

    78650发布于 2018-03-16
  • 来自专栏Reck Zhang

    Design Patterns 10 - 模板方法模式

    模板方法模式 模板方法模式, 定义一个操作中的算法的骨架, 而将一些步骤延迟到子类中. 模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. abstract class AbstractClass { public abstract void PrimitiveOperation1 ConcreteClassA(); c.TemplateMethod(); c = new ConcreteClassB(); c.TemplateMethod(); } 模板方法模式特点 模板方法模式是通过把不变行为搬移到超类, 去除子类中的重复代码来体现他的优势.

    24630发布于 2021-08-11
  • 来自专栏全栈程序员必看

    Windows10安装 cuDNN 方法

    需要注册信息,然后找CUDA对应的版本下载,所以要记住CUDA是哪个版本,我是 10.1 就选择第一项。

    87021编辑于 2022-08-18
  • 来自专栏嗨嗨嗨

    生信学习小组day7

    23820编辑于 2023-07-03
领券