自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 Objective-C学习笔记(NSString,NSMutableString,NSArray)4.11

③字符串指定下标的字符:characterAtIndex:参数:,返回unichar,打印用C%遍历:for(NSString *str in arry)④两个字符串是否相同:isEqualToString:参数。⑤C转OC:stringWithString:参数。⑥OC转C:str.UTF8String。②长度:str.length。1.框架:系统/第三方写好的类,这些类的集合就是框架。:①拼接:stringWithFormat:参数。6.NSNumber:存储非OC的基本数据类型。

2024-04-11 20:21:44 204

原创 Objective-C学习笔记(NSDictionary,NSFileManager,Copy)4.11

无论在MRC还是ARC,NSString类型的属性,@property参数使用copy,作用是拷贝对象。浅拷贝:NSString调用copy方法,没有产生新对象,只是返回对象的地址。深拷贝:NSMutableString调用copy方法,产生新的对象。遍历字典:for(id item in *dict){:以键值对key-value存储元素。操作磁盘得文件,创建删除复制拷贝移动。包装以上的不能存储到集合的结构体变量。ios界面的x和y坐标。:存储空间的位置和大小。

2024-04-11 20:20:44 299

原创 Objective-C学习笔记(block,协议)4.10

当方法内部需要执行1个功能,但是功能具体实现不确定,使用block让调用者将这个功能的具体实现传递进来。:①代码段如果没返回值可以省略void,声明block不能省略,其实代码段可以不写返回值。7.block内部可以修改全局变量,不能定义在外部的局部变量,局部变量名前加__可以让block内部修改这个局部变量。:声明一大段方法(不能声明属性,不能实现方法),只要某个类遵守这个协议,那就拥有这个协议里所有声明。代码段格式:^返回值类型(参数列表){:是一个数据类型,存储一段代码,代码可以有参数有返回值。

2024-04-10 17:15:39 1408

原创 Objective-C学习笔记(ARC,分类,延展)4.10

存入到自动释放池的对象,在自动释放池销毁时,会自动调用池内所有对象的release方法。自动计算对象的引用值,不要写release、retain、autorelease,retainCount关键字。strong代表@property声明的私有属性是强类型。A中有B,B中有A,如果两个都是strong就会内存泄漏。只能增加方法,不能增加属性,不能访问本类的私有属性,但能调用setter和getter。:默认为强指针,_strong来声明强指针。2.在类方法里写一个同名的方法,用于创造对象。

2024-04-10 15:03:53 1002

原创 Objective-C学习笔记(内存管理、property参数)4.9

为对象发送一条retain/release消息,对象的引用计数器加/减1,为对象发一条retainCount,得到对象的引用计数器值,当计数器为0时自动调用对象的dealloc方法。生成getter和setter方法名称相关的:可以修改setter和getter方法名称。7.MRC模式下,对象时OC对象,setter和dealoc应该写内存管理机制。自动生成私有属性,属性的getter和setter方法的声明和实现。:1个已经被释放的对象,但是这个对象所占的空间还没被分配。:只有getter。

2024-04-09 21:37:56 1046

原创 Objective-C学习笔记(@property,id,instancetype)4.9

alloc是类方法,创建这个类的一个对象。init是对象方法,初始化对象,为对象的属性赋默认值。instancetype有类型,代表当前类的对象。原理:①自动声明私有属性②自动生成getter和setter方法的声明和实现。init:如果是基本数据类型就是0,如果是C指针就是NULL,OC指针就是nil,NSObject会做编译检查,id只能调用对象的方法,不能使用点语法。指针指向的不是本类对象,可能是子类。万能指针,声明不需要加*,可以指向任意的OC对象,判断当前对象是否为指定类的实例,不包括子类。

2024-04-09 17:17:20 541

原创 Objective-C学习笔记(NString,匿名对象,self,继承,super,description)4.8

可以用在类方法和对象方法中,在类/对象方法中可以使用super调用子类从父类继承过来的类/对象方法,类似于self的功能,特指这个方法是从父类继承过来的。@protected:只能在本类和子类的方法使用。方法只写实现不写声明,那么这个方法就是私有方法。@private:只能在本类的方法使用。一个类只能有一个父类。比较字符串大小,小于-1,等于0,大于1。类方法,将C语言字符串转为OC字符串。是一个指针,指向当前对象或当前类。打印对象所属的类与内存地址。是一个类,存储OC字符串。类方法,拼接字符串。

2024-04-08 19:07:08 320

原创 Objective-C学习笔记(基本语法)4.6

语法:NSLog(@"hellowrold");类型的指针变量,NSString *str = @"hello world",用来存储OC字符串地址,占位符%s变为%@:编译:cc-c xx.m 链接:cc xx.o -framework 框架名称(Foundation)。[对象名 方法名:实参1:实参2];-(返回值)方法名称:(参数类型)形参名称:(参数类型)形参名称{}-(返回值)方法名称:(参数类型)形参名称:(参数类型)形参名称。-(返回值)方法名称 -void fun;

2024-04-07 22:02:34 493

原创 MySQL缓存策略

3、先读redis缓存,缓存存在直接返回,缓存不存在,去访问mysql获取,再写redis。1、缓存用户定义的热点数据,用户直接从缓存获取热点数据,降低数据库的读写压力。解决:间隔设置过期时间。重启时,预先导入热数据到缓存(预热)。2、mysql缓存是缓存频繁读写的数据,而不是根据业务需要。但数据在mysql里存在,造成mysql崩溃。问题:数据在redis缓存和mysql都无,问题:redis缓存无数据,mysql有,解决:过热数据不过期,分布式锁。,造成mysql崩溃。造成mysql崩溃。

2024-02-01 15:08:11 161

原创 redis

远程字典服务,通过tcp与redis建立连接交互,请求回应模型,key-value,内存中一定有数据,磁盘中可能有。

2024-01-31 16:59:26 256

原创 MySQL事务与隔离

用户定义的一系列操作,这些操作要么都做,要么都不做,是一个不可分割的的单位。

2024-01-30 20:43:24 165

原创 MySQL索引

索引是一种有序的数据结构,按照单个或者多个列的值进行排序。

2024-01-28 12:46:04 162

原创 MySQL高级查询

2024-01-28 12:36:31 112

原创 内存池thread_pool

①线程(生产者):发布任务 ②任务队列:任务上下文,任务执行函数 ③ 线程池(消费者):取出任务,执行任务,线程调度的方式。

2024-01-28 12:17:53 89

原创 TCP三次握手四次挥手[1.26]

1.客户端向服务端发送请求连接的SYN1包;2.服务端收到后回复确认的ACK1包=SYN1+1,再发送一个SYN2包;3.客户端收到两个包后,向服务端发送ACK2=SYN2+1确认包。

2024-01-26 19:01:10 132

原创 epoll[1.26]

epoll 是 Linux 上一种高性能的多路复用机制,用于监视大量文件描述符并在它们就绪时通知应用程序。它是在 select 和 poll 的基础上进一步优化和改进而来的。3.epoll_wait函数。2.epoll_ctl函数。reactor 面向实践。

2024-01-26 16:43:25 98

原创 linux_socket(TCP)连接/阻塞/io多路复用(select)

非阻塞:为了完成一个功能,发起一个调用,阻塞:为了完成一个功能,发起一个调用,

2024-01-24 18:08:19 338

原创 [C++新特性]

注意的问题:

2024-01-17 14:54:22 326

原创 [设计模式]单例、工厂、责任链、装饰器、组合[1.16]

方法1:用atexit(delete),程序结束是delete掉,只解决内存泄漏,没有考虑多线程。方法2:加锁,没有考虑多核cpu下的指令重排,构造函数先分配内存,调用构造函数,最后返回指针。方法3:无锁编程,使用同步原语:原子变量,内存栅栏fence。

2024-01-17 14:39:45 388

原创 [设计模式]模板模式、观察者模式、策略模式[1.16]

明确稳定的和变化点。

2024-01-16 17:01:44 364

原创 [数据结构]哈希、布隆过滤器[1.15]

K=31时,假阳率最低。

2024-01-15 16:34:04 322

原创 [数据结构]B树、B+树[1.15]

降低树的层高吗,也就是降低比对次数,用于磁盘。

2024-01-15 16:14:27 338

原创 [刷题]操作系统[1.15]

文件指针是FILE 指针类型的变量,指向的是一块内存区域,fscanf 读取,fprintf写出。

2024-01-15 10:07:42 328

原创 [刷题]Linux[1.15]

alias [别名]=[指令名称]打印系统总共运行时间和平均负载。显示目前登入系统的用户信息。用户名,登陆时间,进程数。动态持续监听进程运行状态。

2024-01-15 10:06:59 307

原创 [刷题]算法[1.15]

红黑树r-b tree查找。平衡二叉查找树AVL查找。DFS/BFS邻接矩阵图。DFS/BFS邻接表图。树的深度,即[log。

2024-01-15 10:06:20 324

原创 [刷题]数据结构[1.15]

2.对连通图调用一次深度优先遍历可以访问到图中所有顶点,非连通图不行。1.有向完全图边数:n(n-1),无向完全图边数:n(n-1)/2。

2024-01-15 10:05:20 366

原创 [刷题]编程语言[1.15]

类为空时,编译器分配的函数都是public,分配构造函数,析构函数,拷贝构造函数,赋值重载函数(d2 = d1),类指针的声明不会调用构造函数。this只对本类的非静态成员有效,对静态的成员变量没有作用,因为静态属于类,而不属于具体对象,所以使用this会导致不确定对象而出错。定义派生类的对象时先调用父亲的构造函数,再调用成员的构造函数,最后派生类的构造函数:先父亲,再客人,最后自己。虚函数可以是(普通成员函数,析构函数),不可以是(构造函数,静态成员函数,友元函数,内联函数)

2024-01-15 10:03:49 837

原创 [数据结构]红黑树[1.14]

1.红黑树的定义2.红黑树的应用3.红黑树的旋转4.红黑树的插入5.红黑树的调整

2024-01-14 17:11:28 327

原创 [算法]N皇后、迪杰斯特拉[1.13]

1.输入棋盘的边数N,初始化vector attack、vector queen,vectorslove;2.从第0行第0列开始假设皇后,将此位置的queen设置'Q',通过put函数将queen攻击的位置设置为‘.'。put函数通过输入一个坐标,向8个方向每个方向延申N个位置,如果该位置不超过边界,将此位置设置为'.'。3.回溯,将目前的attack和queen备份,进行第1行的假设,如果假设失败,就切换为第0行第1列。

2024-01-13 21:07:52 411

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除