C语言是一门充满魅力的编程语言。C语言的发明人,“C语言之父” Dennis Ritchie 在 2011 年去世。很低调,没有太多新闻报道。同年史蒂夫.乔布斯去世,各界报道铺天盖地(当然了,乔布斯也是很伟大的人)。我想说:应该多纪念那些低调付出的人。Dennis Ritchie 除了 C语言这项伟大发明(Windows、Linux 和 macOS 操作系统,底层几乎都用到了 C语言),还与 Ke
写在前面: iOS底层原理探究是本人在平时的开发和学习中不断积累的一段进阶之 路的。 记录我的不断探索之旅,希望能有帮助到各位读者朋友。目录如下:iOS 底层原理探索之 allociOS 底层原理探究 之 结构体内存对齐写在前面之前我们分析了alloc底层流程和结构体的内存对齐原理。那么,今天我们来分析下对象的本质是什么。我们都知道,OC语言是基于C和C++语言增加了一层面向对象,那么,我们就从O
苹果官方文档The Objective-C language defers as many decisions as it can from compile time and link time to runtime. Whenever possible, it does things dynamically. This means that the language requires not j
转载 2023-11-12 11:33:03
80阅读
一、Objective-C 的本质Objective-C 代码的底层都是通过 C/C++ 实现,所以 Objective-C 面向对象是基于 C/C++ 数据结构实现。 下图为OC语言转换成机器语言的几个过程。二、Objective-C 对象本质通过终端指令:(注:如果需要链接其他框架,使用 -framework 参数。)xcrun -sdk iphoneos clang -arch arm64
# 实现iOS底层是什么语言 ## 概述 在iOS开发领域,底层语言主要是Objective-C和Swift。Objective-C是较为传统的iOS开发语言,而Swift是苹果公司在2014年推出的新一代编程语言。两者的底层实现并不完全相同,但都是基于C语言的。 ### 流程 以下是实现“iOS底层是什么语言”的流程: | 步骤 | 描述 | | --- | --- | | 1 | 打开X
原创 2024-03-10 06:01:19
90阅读
iOS开发者都知道,当一个对象被释放时,所有对这个对象弱引用的指针都会释放并置为nil,那么系统是如何存储这些弱引用对象的呢?又是如何在一个对象释放时,将这些指向即将释放对象的弱引用的指针置为nil的呢?下面我们通过分析SideTable的结构来进一步了解内存管理的弱引用存储细节。weak结构在runtime中,有四个数据结构非常重要,分别是SideTables,SideTable,weak_ta
这篇读书笔记主要介绍了Objective-C底层的一些东西,比如Objective-C对象模型、objc_msgSend消息发送原理、方法混写(Method Swizzling)和ISA混写(ISA Swizzling)。Objective-C对象模型我们都知道Objective-C是一门动态性语言,这种动态性的核心是objc提供的Objective-C运行时,比如objc_msgSend就是一个
写在前面: iOS底层原理探究是本人在平时的开发和学习中不断积累的一段进阶之 路的。 记录我的不断探索之旅,希望能有帮助到各位读者朋友。目录如下:iOS 底层原理探索之 alloc以上内容的总结专栏iOS 底层原理探索 之 阶段总结准备Objective-C ,通常写作ObjC或OC,是扩充C的面向对象编程语言。它主要适用于Mac OS X 和 GNUstep者两个使用OpenStep标准的系统,
回值(3)
转载 2016-06-21 09:00:00
121阅读
2评论
荐的类型,效率高,在运行中保存代码。用来封装和保存代码,有点像函数,Block可以在任何时候执行。Block和函数的相似性:(1)可以保存代码(2)有返回值(3)有形参(4)调用方式一样。Block 底层实现定义一个简单的block
转载 2023-05-23 08:43:05
170阅读
文章目录综述1 一个oc对象的内存大小2. OC对象内存2.1 NSObject 的对象2.2 自定义对象2.3 复杂继承3. OC中操作系分配的内存都是16的倍数4. oc 对象的分类4.1 实例对象(instance)4.2 类对象(class)4.3 元类对象(meta-class)5. sizeof 综述objective-c 的代码(clang -rewrite-objc mian.m
转载 2023-08-09 23:03:51
235阅读
误解一:安卓是iOS的后辈   不知不觉,安卓已经成为了世界上最流行的移动智能系统,就市场占有率来看,安卓甚至要高于引领了智能机和平板电脑革命的iOS。安卓的红火深远地影响了IT行业,全球最大的社交网络Facebook甚至倡议员工弃用iOS改换安卓手机以更深入地了解用户体验 但是,流行总伴随着流言,安卓席卷世界的同时也让一些关于安卓的误解深深地植根在了人们的脑海中。很多人每天都在用安卓
转载 2024-06-26 20:37:30
34阅读
ES 简介ES是一个使用java语言编写的并且基于Lucene编写的搜索引擎, 他提供了分布式的全文搜索服务, 还提供了一个RESTful风格的web接口, 官方还对多种语言提供了相应的APILuceneLucene 本身就是一个搜索引擎的底层,ES特点分布式: ES主要为了横向扩展能力全文检索: 将一段词语进行分词, 并且将分出的单个词语统一的放入一个分词库中,在搜索时,根据关键字去分词库中搜索
Python 底层原理知识实际开发过程中,了解底层原理是有助于解决现实中遇到的问题的。现将了解到的几点重要的整理下,感谢原博主“吖水的程序路”的整理!1.Python是如何进行内存管理的?答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制一、对象的引用计数机制Python内部使用引用计数,来保持追踪内存中的对象,所有对象都有引用计数。引用计数增加的情况:1,一个对象分配一个新名
MySQL的内部组件结构:大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。 Server层主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。Store层存储引擎层负责数据的存储和提取。其架构模式是插件式的,支
转载 2023-07-31 16:54:26
51阅读
1. 心得体会        最近在学习一些 Python 底层原理的干货知识,从 python 底层的 C 代码真的是了解到了很多东西。让我明白了 Python 是如何处理各种变量类型的,也明白了 Python 是如何管理变量的。在这个过程中我也在学习过程中想通了以前遇到的一些当时认为很奇葩的现象,如 del 掉一个变量后新建一个变量偶尔会发现新建的变量和
转载 2023-09-01 11:45:52
68阅读
秉心识本源,於事少凝滞。--《信行远修水筒》了解一个系统的唯一途径就是去阅读源代码要想完全的了解一个系统唯一的方法就是去阅读这个系统的源代码实现!这个原则对于一个iOS程序员也是如此。很幸运的是我们现在处于一个开源代码迸发的美好时代(这里要感谢理查·马修·斯托曼以及他的GNU计划),很多优秀的库都以源代码的形式呈现给大家,甚至连iOS这种封闭的系统也迫于某种压力开放了部分源代码(虽然开放的部分并不
原创 2018-02-05 22:51:09
1608阅读
1评论
秉心识本源,於事少凝滞。-- 《信行远修水筒》 要想完全的了解一个系统唯一的方法就是去阅读这个系统的源代码实现!这个原则对于一个iOS程序员也是如此。很幸运的是我们现在处于一个开源代码迸发的美好时代(这里要感谢理查·马修·斯托曼以及他的GNU计划),很多优秀的库都以源代码的形式…
原创 2021-08-31 10:17:03
307阅读
IOS操作系统的层次架构:系统包含~层~层包含~框架~框架包含接口~接口~提供方法,功能  1)最底层的核心操作系统层(Core OS)该层包含6个框架:1)Accelerate 加速框架、2)Core Bluetooth Framework(核心蓝牙框架)、3)External Accessory Framework(外部附件框架)、4)Generic Security Service
iOS 底层探索篇 —— KVC 底层原理1. Method Swizzling的坑与应用1.1 method-swizzling 是什么?1.2 坑点坑点1:method-swizzling使用过程中的确保执行一次解决方案坑点2:子类没有实现,父类实现了解决方案坑点3:父类子类都没有实现解决方案class_replaceMethod, addMethod, method_exchangeImp
转载 2023-08-03 23:21:56
71阅读
  • 1
  • 2
  • 3
  • 4
  • 5