抓包软件 Charles 的原理是什么?
Charles 的原理实际就是网络的 中间人攻击
。
所谓中间人攻击,指攻击者与通讯的两端分别建立独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。
客户端发给服务端的请求,被中间人劫持篡改之后,再发送给服务端。
服务端返回给客户端的数据,被中间人劫持篡改之后,再返回给客户端。
Run loops are part of the fundamental infrastructure associated with threads. A runloop is an event processing loop that you use to schedule work and coordinate the receipt of incoming events. The purpose of a run loop is to keep your thread busy when there is work to do and put your thread to sleep when there is none.
Runloop是与线程相关联的基础架构的一部分,它用来接受循环事件和安排线程的工作,在有工作时让线程处于繁忙状态,没有事件需要处理时让线程休眠;
1 | RunLoop管理事件,让线程在没有消息时休眠以避免占用资源,由用户态切换到内核态;在消息到来时被唤醒,由内核态切换到用户态,这种机制,叫做“事件循环”机制。 |
UITableView是iOS开发中的常用控件,用来加载列表数据,当数据量大或者布局过于复杂的时候有可能出现卡顿,影响用户体验。
短连接的使用有很大的瓶颈,所以才会有长连接的使用空间,但是长连接也会因为某些原因断开。
从开发角度来看,总体来说分以下几个过程
如果你要做一个类似网易云音乐,豆瓣电台的在线音乐类APP,你会这么做?
这篇主要总结一下Java语法方面的技巧
Spring Boot框架里面用到了很多注解,发现不明所以,所以学习一下。