ARP 协议
ARP协议的作用
- ARP是一种地址解析协议,ARP的存在是为了能在端到端通信时的寻找到端地址;ARP由设备的ip地址获取到设备的mac硬件地址,从而能跟该设备通信;
- 在网络层,有ip地址和路由作为寻路的导向,即通过封装源地址和目的地址,以及路由,一个ip包在不考虑mac层的时候大概是这样传输的:
端设备手机pc等–>(交换机)路由器—>下一个路由器—>下一个终端设备
有一些代码,占用额外内存小,即run in place,且执行的速度快,即复杂度O()低,但是可读性差,即使注释了,修改起来也容易出错,如:
对链表的操作:举一个leetcode的例子:(这个例子不是很典型,能说明问题即可)
reverse a linklist from m to n;
1->3->4->5->null and m,n(ex:2,4);
return 1->5->4->2->null;
上面例子一开始可以想到,头插法,或者将范围内的那一段用新的处理过的链表替换掉,即只需要处理该片段的头和尾部,当然可能还有其他方法,这里先不考虑;
于是,头插法不是很复杂,但是在这里不用额外的内存时,需要频繁的改变next指针和对pre元素做临时保存,使得代码可读性差,所以可以考虑以下方案:
在替换的内存小时,可以采用后者,让代码可读性高些,方便维护和(被替代~更容易被炒鱿鱼的风险哈哈)
在内存小时,采用前者,爱怎么指怎么指,看不懂不管哈哈哈
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.ksx.helloworld">
<!-- more -->
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="hallo"//app的名字和显示在bar上的文字
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">//活动的注册
<android:label="this is hallo">//会覆盖上面的
<intent-filter>
<action android:name="android.intent.action.MAIN" />//声明为主活动
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>