240 发简信
IP属地:北京
  • 120
    有趣的Shader

    目录 1.Shader简单介绍以及入门。2.抖音特效经典滤镜实现(包含灵魂出窍、抖动)。3.用Shader创造一些新鲜有趣的效果吧。 1.1 什么是Fragment Shad...

  • APP 优化

    CPU-中央处理器 对象的创建和销毁,对象属性的调整,布局计算,文本的计算和排版,图片的格式转换和解码,图像的绘制 GPU-图形处理器 纹理的渲染,最大纹理尺寸是4096x4...

  • RunLoop

    什么是RunLoop 每条线程都有唯一一个与之对应的RunLoop对象 RunLoop保存在一个全局的Dictionary里,线程作为key,RunLoop作为Value 线...

  • 离屏渲染

    什么叫离屏渲染: 当GPU无法直接把渲染结构写入帧缓冲区,而是先创建一个临时的区域,之后再写入帧缓冲区,这个过程叫离屏渲染 什么会触发离屏渲染: 1.光栅 UIImageVi...

  • 动态规划(Dynamic Programming)

    简称DP 是求解最优化问题的一种常用策略 通常的使用套路(适合新手) 1.暴力递归(自顶向下,出现了重叠子问题) 2.记忆化搜索(自顶向下) 3.递推(自底向上) 常规步骤:...

  • 加密

    不可逆: 单向散列函数:MD5,SHA等 散列值的长度固定,计算速度快,具备单向性 可逆: 对称加密:DES,3DES,AES等 非对称加密:RSA等 其它: 混合密码系统 ...

  • 跨域

    浏览器有同源策略 默认情况下,AJAX请求只能发送给同源的URL 同源指3个相同:协议,域名,端口 解决跨域的办法: CORS:跨域资源共享 客户端:目前基本都支持 服务端需...

  • 二叉堆

    二叉堆的逻辑结构是一棵完全二叉树,所以叫完全二叉堆 索引i的规律 如果i=0,它是根结点 如果i>0,它的父节点索引为floor((i-1) / 2) 如果2i+1<=n-1...

  • hash table

    哈希冲突 1.开放定址法 2.再哈希法 3.链地址法(JAVA官方,默认使用单向链表将元素串起来,在添加元素时,可能会由单向链表转为红黑树来存储元素,比如当哈希表容量>=64...

  • 复杂度分析

    添加:动态数组最好O(1),最坏O(n),平均O(n),链表一样 删除:动态数组最好O(1),最坏O(n),平均O(n),链表一样 修改:动态数组都为O(1),链表最好O(1...

  • 红黑树

    最大高度是2*log(n+1),(100万个节点,最大树高是40) 搜索:O(logn),O(1)次的旋转 添加:O(logn),O(1)次的旋转 删除:O(logn),O(...

  • AVL树

    搜索:O(logn),O(1)次的旋转 添加:O(logn),O(1)次的旋转 删除:O(logn),最坏O(logn)次的旋转 最大高度是1.44+log2(n+2)-1....

  • 二叉树

    树的概念: 节点,根结点,父节点,子节点,兄弟节点 子树,左子树,右子树 节点的度:子树的个数 叶子节点:度为0的节点 非叶子节点:度不为0的节点 节点的深度:从根结点到当前...

  • 计算机通信

    计算机之间的通信基础: 需要得知对方的IP地址 最终是根据MAC地址(网卡地址),输送数据到网卡,被网卡接收 如果网卡发现数据的目标MAC地址是自己,就会将数据传递给上一层进...

  • 网络分层

    OSI模型(共七层) 1.物理层 2.数据链路层 3.网络层 4.运输层 5.会话层 6.表示层 7.应用层 TCP/IP协议模型 1.网络接口层(Network Acces...

  • 算法图解记录

    1.二分查找,例如查找一个1-100的数字,时间复杂度为O(logn) 2.数组读取的时间为O (1),插入和删除为O(n) 链表的读取时间为O(n),插入和删除为O(1) ...