androidjetpack应用指南,超通俗解析

news2024/11/19 11:20:20

前言

每年的3、4月份是各大企业为明年拓展业务大量吸纳人才的关键时期,招聘需求集中、空缺岗位多,用人单位也习惯在初秋进行大规模招聘。

金九银十,招聘旺季,也是一个求职旺季。

不打无准备的仗,在这种关键时期,各大公司的薪资待遇等信息就变得相当重要,特别是对那些刚出校门或者是第一次跳槽的朋友们,知己知彼方能百战不殆。

在国内就业环境中,以腾讯、阿里等大厂为代表的互联网公司一直都是求职者眼中的香饽饽,“大厂工作经历”相当于一块金字招牌。

今天我帮大家搜集整理了一份薪资、职级、考核、晋升条件资料,都是互联网大厂。我以自己8年Android老油条身份告诉你:不知道这些,就别想什么跳槽涨薪了。

下面的资料差不多都是从厂里朋友那边打探来的。此外,我这边还有这些大厂近年来的面试真题及解析,以及一些朋友出于兴趣和热爱一起整理的Android时下热门知识点的学习资料

二、Android面试知识框架

Android面试知识框架

三、Java 基础叩关

3.1 数据结构与算法

3.1.1 常用的数据结构有哪些?
3.1.2 数组
(1).如何在一个1到100的整数数组中找到丢失的数字?
(2).如何在给定的整数数组中找到重复的数字? 小米
(3).如何在未排序整数数组中找到最大值和最小值? 字节跳动
(4).在Java中如何从给定数组中删除多重复制?
(5).大数相加(今日头条)
3.1.3 链表
(1).那查询第一个跟倒数第二个呢?(这就不一样了,第一个直接给了头结点,倒数第二个需要从倒数第一个开始查询,走两步) 腾讯
(2).arrayList底层原理 滴滴 字节跳动
(3).如何在一次遍历中找到单个链表的中值? 中国平安
(4).如何证明给定的链表是否包含循环?如何找到循环的头节点? 优酷
(5).两个有交叉的单链表,求交叉点 华为
(6).如何得到单链表的长度? 360
(7).如何在不使用递归的情况下逆转单链表? 小米/美团
(8).怎么判断链表有环? 滴滴
3.1.4 队列&堆栈
(1).如何使用栈实现队列的功能?(广州荔枝FM)
(2).两个栈实现一个队列 蘑菇街
(3).两个队列实现一个栈 腾讯
(4).对比一下队列和栈,以及它们底部实现 腾讯
3.1.5 二叉树
(1).如何在给定的二叉树中执行先序遍历?百度
(2).如何实现后序遍历算法? 百度
(3).如何在给定数组中执行二分法搜索? 苏宁
(4).已知前序遍历为{1,2,4,7,3,5,6,8},中序遍历为{4,7,2,1,5,3,8,6},它的二叉树是怎么样的? 58
(5).输入两棵二叉树 A 和 B,判断 B 是不是 A 的子结构。 爱奇艺
(6).请实现两个函数,分别用来序列化二叉树和反序列化二叉树。 YY
(7).平衡二叉树和红黑树的区别?字节跳动
(8).什么是平衡二叉树,它有什么特征 美团
(9).B 树,B+树
3.1.6 HashMap
(1).HashMap的底层原理是什么?线程安全么? 百度 美团
(2).HashMap中put是如何实现的? 滴滴
(3).谈一下hashMap中什么时候需要进行扩容,扩容resize()又是如何实现的?
(4).什么是哈希碰撞?怎么解决? 滴滴 美团
(5).HashMap和HashTable的区别 小米
(6).HashMap中什么时候需要进行扩容,扩容resize()是如何实现的? 滴滴
(7).hashmap concurrenthashmap原理 美团
(8).arraylist和hashmap的区别,为什么取数快?字节跳动
3.1.7图
 (1).旋转输出矩阵

( 2).给定一个矩阵 int matrixA[m][n],每行每列都是增序的,实现一个算法去寻找矩阵中的某个元素 element. 搜狗

3.1.8排序算法有哪些?
(1).top-k排序(堆排序,位图法) 美团
(2).冒泡排序的手写 华捷艾米
(3).堆排序算法的手写 华捷艾米
(4).椭圆形场地有两个赛道,可以同时提供两匹马比赛,两匹马比赛后,可以获知两匹马中跑的快的那匹马,但是没有计时工具。问题,如何最优的算法(比赛次数最少),获知10匹马中速度最快的三匹马 阿里
(5).输入一个整型无序数组,对堆排序的方法使得数组有序 阿里
(6).如何使用快速排序算法对整数数组进行排序? CVTE
3.1.9 查找算法
(1).有序数组的二分查找算法 百度
3.1.10 串
(1).给定一个字符串,请你找出其中不含有重复字符的 最长子串的长度。 字节跳动
(2).给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
3.1.11 请写出以下算法的时间复杂度
冒泡排序法 插入排序法 堆排序法 二叉树排序法
3.1.12 其他算法
(1).常用的对称加密算法,有什么同? 字节跳动
(2).如何在无序(有负数)的数组中查找是否存在和为target的两个数组合,twoSum(); 字节
3.2 Java基础
(1).什么情况下会发生栈内存溢出?
(2).如果让你写一段栈溢出的代码你会什么写,一个栈大概有多大,为什么?每个线程都有这样大小的一个栈吗? (美团)
(3).JVM中一次完整的GC流程是怎样的,对象如何晋升到老年代?
(4).介绍下GC回收机制与分代回收策略。
(5).Java中有几种引用关系,它们的区别是什么?
(6).GC收集算法有哪些?它们的特点是什么?
(7).如何判断一个对象是否被回收,有哪些GC算法,实际虚拟机使用最多的是什么GC算法?(美团)
(8).Jvm内存 结构说一下。
a.描述JVM内存模型。(东方头条)
(9).JVM DVM ART的区别(360)
(10).描述GC机制。Class会不会回收?用不到的Class怎么回收?(东方头条)
(11).StackOverFlow与OOM的区别?分别发生在什么时候,JVM栈中存储的是什么,堆存储的是什么?(美团)
(12).Java虚拟机和Dalvik虚拟机的区别?
(13).请描述new一个对象的流程。
(14).Java对象会不会分配到栈中?
(15).String, Stringbuffer, StringBuilder 的区别是什么?(东方头条)
a.String StringBuffer StringBuilder在进行字符串操作时的效率;这里主要考察String在内存中是如何创建的。(字节跳动)
(16).String为什么是不可变的?(字节跳动)
a.String为什么设计成final的?
(17).final 、finally、finalize 区别。
(18).抽象类和接口的区别。
(19).重载和重写的区别 (京东)
(20).什么是值传递和引用传递,Java 是值传递还是引用传递?
(21).String s = new String(“”);创建了几个对象?
(22).java里 equals和== 区别。
(23).try-catch-finally,try里有return,finally还执行么?
(24).Excption与Error区别。
(25).Static class 与non static class的区别。
(26).PathClassLoader与DexClassLoader的区别是什么?
(27).什么是双亲委托机制,为什么需要双亲委托机制?
(28).描述JVM类加载过程。
(29).动态代理是什么?如何实现?
(30).动态代理的方法怎么初始化的?(字节跳动)
(31).CGLIB动态代理(字节跳动)
(32).说说反射的应用场景,哪些框架,原理是什么?
(33).Java泛型的特点与优缺点,泛型擦除是怎么回事?
(34).List能否转为List。
(35).泛型super和extends的区别。
a.说法2:Java 的泛型,<? super T> 和 <? extends T> 的区别。
(36).为什么IO是耗时操作?

3.3 并发编程

(1).假如只有一个cpu,单核,多线程还有用吗 ?(美团)
(2).sychronied修饰普通方法和静态方法的区别?什么是可见性?
(3).锁分哪几类?
(4).CAS无锁编程的原理。(字节跳动)
(5).ReentrantLock的实现原理。
(6).AQS原理 (小米 京东)
(7).Synchronized的原理以及与ReentrantLock的区别。(360)
(8).Synchronized在JDK1.8之后做了哪些优化 (京东)
(9).Synchronized static与非static锁的区别和范围(小米)
(10).volatile关键字干了什么?(什么叫指令重排) (字节跳动)
(11).volatile 能否保证线程安全?在DCL上的作用是什么?
(12).volatile和synchronize有什么区别?(B站 小米 京东)
(13).两个线程用不同的对象,怎么样?(字节跳动)
(14).什么是守护线程?你是如何退出一个线程的?
(15).sleep 、wait、yield 的区别,wait 的线程如何唤醒它?(东方头条、字节跳动)
(16).sleep是可中断的么?(小米)
(17).实现非阻塞式生产者消费者(字节跳动)
(18).如何开启一个线程,开启大量线程会有什么问题,如何优化?(美团)
(19).线程生命周期。
(20).ThreadLocal是什么?
(21).AyncTask的原理。
(22).AsyncTask中的任务是串行的还是并行的?
(23).线程池管理线程原理。
(24).线程池的相关参数,有哪些类型的线程池,线程池任务如何调度,任务队列只是先进先出的队列吗,任务有优先级怎么办,知道优先级反转吗? (美团)
(25).有三个线程T1,T2,T3,怎么确保它们按顺序执行?
(26).Android中操作多线程的方式有哪些?
(27).怎样获取当前线程是否是主线程 (字节跳动)
(28).HandlerThread是什么?
(29).线程间如何通信?
(30).RxJava线程切换原理,RxJava1和RxJava2的区别有哪些?

3.4 网络编程
(1).描述TCP三次握手与四次挥手的过程与意义。
a.TCP的三次握手过程?为什么会采用三次握手,若采用二次握手可以吗?
b.三次握手为什么不是两次一次 五次六次(美团)
(2).TCP与UDP的区别是什么?(腾讯)
(3).Http与Https的关系是什么?
(4).SSL握手的过程。
(5).Http的post与get请求的区别是什么?
(6).输入一个URL到浏览器发生了什么?(美团)

四、Android体系

(1). Acitvity的生命周期是什么样的?

a. Acitvity的生命周期,如何摧毁一个Activity? (美团)

(2). Activity的4大启动模式,与开发中需要注意的问题,如onNewIntent() 的调用;

a. Activity的启动模式,区别 (美团)

b. singleInstance如果不指定栈名,是怎么分配的?(字节跳动)

(3). Intent显示跳转与隐式跳转,如何使用?(美团)

(4). Activity A跳转B,B跳转C,A不能直接跳转到C,A如何传递消息给C?(美团)

(5). Activity如何保存状态的?

(6). 请描诉Activity的启动流程,从点击图标开始。(B站)

a. APP是怎么启动的?

b. 启动一个Activity的流程分析

(7). Service的生命周期是什么样的?

a. Service两种生命周期以及区别

(8). 你会在什么情况下使用Service?

(9). startServer和bindServier的区别?(美团)

(10). Service和Thread的区别?

(11). IntentService与Service的区别?

(12). ContentProvider如何自定义与使用场景是什么?

(13). BroadcastReciver的静态注册与动态注册的区别?

(14). 广播的分类与工作原理

(15). 可以再onReceive中开启线程么,会有什么问题?

(16). 什么是有序广播?

(17). Application、Activity、Service中context的区别?能否启动一个activity、dialog?

(18). Fragment的生命周期?  (美团)

(19). Fragment的构造函数为啥不让传参?(B站)

(20). Fragment add与replace的区别,分别对Fragment的生命周期影响(美团)

五、View System

(1).View绘制流程与自定义View注意点。(东方头条、美团)
Android中的每一个UI控件都是集成自View,然后这些View都具有相同的绘制流程,必须经过measure,layout和draw.
view的绘制流程是在Window添加过程中,ViewRootImpl类的setView方法开始的
(2).在onResume中可以测量宽高么
(3).事件分发机制是什么过程?(东方头条)
(4).事件冲突怎么解决?(东方头条)
(5).View分发反向制约的方法?(字节跳动)
(6).自定义Behavior,NestScroll,NestChild。(东方头条)
(7).View.inflater过程与异步inflater(东方头条)
(8).inflater为什么比自定义View慢?(东方头条)
(9).onTouchListener onTouchEvent onClick的执行顺序。(58 京东)
(10).怎么拦截事件 onTouchEvent如果返回false onClick还会执行么?(58 京东)
(11).事件的分发机制,责任链模式的优缺点 (美团)
(12).动画的分类以及区别(车和家)
(13).属性动画与普通的动画有什么区别?(车和家)
(14).插值器 估值器的区别(车和家)
(15).RecyclerView与ListView的对比,缓存策略,优缺点。(美团)
(16).WebView如何做资源缓存?(字节跳动)
(17).WebView和JS交互的几种方式与拦截方法。(字节跳动)
(18).自定义view与viewgroup的区别
(19).View的绘制原理
(20).View中onTouch,onTouchEvent和onClick的执行顺序
(21).View的滑动方式
(22).invalidate() 和 postInvalicate() 区别
(23).View的绘制流程是从Activity的哪个生命周期方法开始执行的
(24).Activity,Window,View三者的联系和区别
(25).如何实现Activity窗口快速变暗
(26).ListView卡顿的原因以及优化策略
(27).ViewHolder为什么要被声明成静态内部类
(28).Android中的动画有哪些? 动画占用大量内存,如何优化
(29).自定义View执行invalidate()方法,为什么有时候不会回调onDraw()
(30).DecorView, ViewRootImpl,View之间的关系,ViewGroup.add()会多添加一个ViewrootImpl吗
(31).如何通过WindowManager添加Window(代码实现)?
(32).为什么Dialog不能用Application的Context?
(33).WindowMangerService中token到底是什么?有什么区别
(34).RecyclerView是什么?如何使用?如何返回不一样的Item
(35).RecyclerView的回收复用机制
(36).如何给ListView & RecyclerView加上拉刷新 & 下拉加载更多机制
(37).如何对ListView & RecycleView进行局部刷新的?
(38).ScrollView下嵌套一个RecycleView通常会出现什么问题?
(39).一个ListView或者一个RecyclerView在显示新闻数据的时候,出现图片错位,可能的原因有哪些 & 如何解决?
(40_.Requestlayout,onlayout,onDraw,DrawChild区别与联系
(41).如何优化自定义View
(42).Android属性动画实现原理,补间动画实现原理

六、Android FrameWork

1.Android中多进程通信的方式有哪些?
a.进程通信你用过哪些?原理是什么?(字节跳动、小米)
2.描述下Binder机制原理?(东方头条)
3.Binder线程池的工作过程是什么样?(东方头条)
4.Handler怎么进行线程通信,原理是什么?(东方头条)
5.Handler如果没有消息处理是阻塞的还是非阻塞的?(字节跳动、小米)
6.handler.post(Runnable) runnable是如何执行的?(字节跳动、小米)
7.handler的Callback和handlemessage都存在,但callback返回true handleMessage还会执行么?(字节跳动、小米)
8.Handler的sendMessage和postDelay的区别?(字节跳动)
9.IdleHandler是什么?怎么使用,能解决什么问题?
10.为什么Looper.loop不阻塞主线程?
a.Looper无限循环为啥没有ANR(B站)
11.Looper如何在子线程中创建?(字节跳动、小米)
12.Looper、handler、线程间的关系。例如一个线程可以有几个Looper可以对应几个Handler?(字节跳动、小米)
13.如何更新UI,为什么子线程不能更新UI?(美团)
14.ThreadLocal的原理,以及在Looper是如何应用的?(字节跳动、小米)
15.Android 有哪些存储数据的方式?
16.SharedPreference原理,commit与apply的区别是什么?使用时需要有哪些注意?
17.如何判断一个 APP 在前台还是后台?
18.如何做应用保活?
19.一张图片100x100在内存中的大小?(字节跳动)

20. Intent的原理,作用,可以传递哪些类型的参数?
21.如果需要在Activity间传递大量的数据怎么办?
22.打开多个页面,如何实现一键退出?
23.LiveData的生命周期如何监听的?(B站)

七、性能优化专题

1.App稳定性优化
2.App启动速度优化
3、App内存优化
4、App绘制优化
5.App瘦身
6.网络优化
7.App电量优化
8.安卓的安全优化
9.为什么WebView加载会慢呢?
10.如何优化自定义View
11.FC(Force Close)什么时候会出现?
12.Java多线程引发的性能问题,怎么解决?
13.TraceView的实现原理,分析数据误差来源。
14.是否使用过SysTrace,原理的了解?
15.mmap + native 日志优化?

八、三方源码理解

1.Glide :加载、缓存、LRU 算法 (如何自己设计一个大图加载框架) (LRUCache 原理)
2.EventBus
3.LeakCanary
4.ARouter
5.插件化(不同插件化机制原理与流派,优缺点。局限性)
6.热修复
7.RXJava (RxJava 的线程切换原理)
8.Retrofit (Retrofit 在 OkHttp 上做了哪些封装?动态代理和静态代理的区别,是怎么实现的)
9.OkHttp

题,怎么解决?
13.TraceView的实现原理,分析数据误差来源。
14.是否使用过SysTrace,原理的了解?
15.mmap + native 日志优化?

八、三方源码理解

1.Glide :加载、缓存、LRU 算法 (如何自己设计一个大图加载框架) (LRUCache 原理)
2.EventBus
3.LeakCanary
4.ARouter
5.插件化(不同插件化机制原理与流派,优缺点。局限性)
6.热修复
7.RXJava (RxJava 的线程切换原理)
8.Retrofit (Retrofit 在 OkHttp 上做了哪些封装?动态代理和静态代理的区别,是怎么实现的)
9.OkHttp

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1478712.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文件上传之后再次打开,文件依然存在

目录 1.上传说明 2.问题1 3.问题2 4.其他问题 1.上传说明 文件上传使用了单独的组件&#xff0c;使用对话框内嵌套上传组件的方式&#xff0c;在主画面中点击导入按钮&#xff0c;弹出对话框。 2.问题1 问题&#xff1a; ①上传文件后&#xff0c;点击遮罩层取消或者点击…

Maven下载、安装、配置教程

maven是一个项目管理的工具&#xff0c;maven自身是纯java开发的&#xff0c;可以使用maven对java项目进行构建、依赖管理。 通常我们靠手动下载jar包引入项目中是非常浪费时间的&#xff0c;我们可以通过maven工具帮我们导入jar包提高开发效率。 第一步&#xff1a;下载Mave…

【QT+QGIS跨平台编译】之五十五:【QGIS_CORE跨平台编译】—【qgsmeshcalcparser.cpp生成】

文章目录 一、Bison二、生成来源三、构建过程一、Bison GNU Bison 是一个通用的解析器生成器,它可以将注释的无上下文语法转换为使用 LALR (1) 解析表的确定性 LR 或广义 LR (GLR) 解析器。Bison 还可以生成 IELR (1) 或规范 LR (1) 解析表。一旦您熟练使用 Bison,您可以使用…

C++设计模式——抽象工厂模式

文章目录 抽象工厂模式的主要组成部分抽象工厂模式的一个典型例子抽象工厂模式用于其他场景抽象工厂模式与其他设计模式结合使用 C 中的抽象工厂模式是一种创建型设计模式&#xff0c;它主要用于处理对象家族的创建&#xff0c;这些对象之间可能存在一定的关联关系或属于相同的…

springboot227旅游管理系统

springboot旅游管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本旅游管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助使用者在…

C++ deque详解以及容器适配器

目录 1.容器适配器 2.deque的使用 2.1deque的介绍 2.2deque的缺陷 2.3deque作为stack和queue的可行性 2.4 deque类的使用 2.4.1deque的构造函数 2.4.2deque容量操作 2.4.3deque赋值&#xff0c;插入 1.容器适配器 适配器是一种设计模式&#xff08;设计模式是一套被人…

STL常见容器(stack、queue容器)---C++

STL常见容器目录&#xff1a; 4.stack容器4.1 stack 基本概念4.2 stack 常用接口 5.queue容器5.1 queue常用接口5.2 queue常用接口 4.stack容器 4.1 stack 基本概念 概念&#xff1a; stack是一种先进后出(First In Last Out,FILO)的数据结构&#xff0c;它只有一个出口. 注意…

重推请求之curl和fiddler

在实际的项目中会有出现问题&#xff0c;想重现的场景&#xff0c;比较重新调用一个服务&#xff0c;那么如何进行快速的重推请求呢&#xff0c;记录下来&#xff0c;方便备查。 主要有curl和fiddler两种方式&#xff0c;下面详细说。 方式一、curl 命令 curl 是一个利用URL规…

MySQL:索引有哪些(清晰明了)

一提到索引&#xff0c;可能就会想到B树索引、Hash索引、聚簇索引、主键索引、唯一索引、联合索引等等&#xff0c;但这些名词并不能混为一谈&#xff0c;他们有重复的部分&#xff0c;是从不同方面给索引取的名字。 从数据结构上来讲&#xff1a;B树索引、Hash索引、Full-text…

Spring注解之处理常见的 HTTP 请求

5 种常见的请求类型: GET &#xff1a;请求从服务器获取特定资源。举个例子&#xff1a;GET /users&#xff08;获取所有学生&#xff09;POST &#xff1a;在服务器上创建一个新的资源。举个例子&#xff1a;POST /users&#xff08;创建学生&#xff09;PUT &#xff1a;更新…

总结成果,擘画蓝图 | 易我科技召开2023年度总结暨2024年规划大会

2024年2月1日下午&#xff0c;易我科技举行了2023年度总结暨2024年规划大会。 01 首先&#xff0c;易我科技总经理万建华对2023年度整体工作进行了总结&#xff0c;对取得的经营成果给予了充分肯定。 ▲ 万总公布2023年经营成果 在肯定成绩的同时&#xff0c;也必须正视存在…

Leetcode : 移动零

给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 思路&#xff1a;遍历数组元素&#xff0c;判定为0&#xff0c;则采用erase从数组删除&…

P沟道与N沟道MOSFET的基本概念

N沟道与P沟道MOSFET基本原理与区别 学习MOSFET时的简单笔记作为个人总结&#xff0c;仅供学习参考&#xff0c;实际电路设计请直接略过&#xff01;&#xff01;&#xff01; 文章目录 N沟道与P沟道MOSFET基本原理与区别前言一、MOSFET &#xff1f;二、N沟道MOS管原理三、P沟…

TCP/UDP模型:2024/2/29

作业1&#xff1a;TCP模型 服务器端&#xff1a; #include <myhead.h> #define SER_IP "192.168.199.129" #define SER_PORT 8899int main(int argc, const char *argv[]) {//1.创建用于连接的套接字文件int sfdsocket(AF_INET,SOCK_STREAM,0);if(sfd-1){per…

【Javascript编程实操02】1、判断一个年份是闰年还是平年 2、找到三个数中最小的数

目录 前言 1、判断一个年份是闰年还是平年 原理&#xff1a; 代码&#xff1a; 实现效果&#xff1a; 2、找到三个数中最小的数 流程图&#xff1a; 代码&#xff1a; 实现效果&#xff1a; 总结 前言 本次继续针对Javascript阶段的if...else...的实操练习&#xff0…

【MySQL】SQL 入门和 DDL

1. 通用语法 SQL语句可以单行或多行书写&#xff0c;以分号结尾SQL语句可以使用空格/缩进来增强语句的可读性MySQL数据库的SQL语句不区分大小写&#xff0c;关键字建议使用大写注释&#xff1a; 单行注释&#xff1a;-- 注释内容 或 # 注释内容多行注释&#xff1a;/* 注释内容…

探索JavaScript中的构造函数,巩固你的JavaScript基础

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

【Unity实战】UGUI和Z轴排序那点事儿

如果读者是从Unity 4.x时代过来的&#xff0c;可能都用过NGUI这个插件&#xff08;后来也是土匪成了正规军&#xff09;&#xff0c;NGUI一大特点是可以靠transform位移的Z值进行遮挡排序&#xff0c;然而这个事情在UGUI成了难题&#xff08;Sorting Layer、Inspector顺序等因素…

波奇学Linux:共享内存

进程通信的前提&#xff1a;不同的进程看到同一份的资源 直接原理:同一块物理内存映射到不同进程的共享区 共享内存拆解&#xff1a; 1.申请内存&#xff0c;通过页表映射到进程地址空间 2.返回首地址&#xff0c;便于进程利用 3.释放共享内存&#xff0c;去关联 4.内存的申请…

如何使用Docker部署IT-Tools并结合内网穿透实现公网访问本地工具箱服务

作为程序员&#xff0c;在日常工作中&#xff0c;需要借助一些工具来提高我们工作效率&#xff0c;IT-Tools是为开发人员度身打造的一套便捷在线工具。它提供全面功能&#xff0c;使开发者能以更高效方式完成任务。经由IT-Tools&#xff0c;开发人员能轻松应对各类技术挑战&…