AF_PACKET是socket的一种,用于在链路层(也就是OSI的二层)接收和发送数据包,可以让用户在用户态实现自定义的协议模型。由于该socket可以接收任何类型的链路层数据包,在这里利用其能力在用户态接收特定的arp协议包并发送响应。PF_PACKET可以看作等同于AF_PACKET,甚至在语义上更符合该场景,但linux文档中使用AF_PACKET。
2024年10月23日
AF_PACKET是socket的一种,用于在链路层(也就是OSI的二层)接收和发送数据包,可以让用户在用户态实现自定义的协议模型。由于该socket可以接收任何类型的链路层数据包,在这里利用其能力在用户态接收特定的arp协议包并发送响应。PF_PACKET可以看作等同于AF_PACKET,甚至在语义上更符合该场景,但linux文档中使用AF_PACKET。
2024年10月23日
1 0×00000001 不正确的函数。
2 0×00000002 系统找不到指定的档案。
3 0×00000003 系统找不到指定的路径。
4 0×00000004 系统无法开启档案。
5 0×00000005 拒绝存取。
6 0×00000006 无效的代码。
7 0×00000007 储存体控制区块已毁。
8 0×00000008 储存体空间不足,无法处理这个指令。
9 0×00000009 储存体控制区块地址无效。
2024年10月23日
使用循环可以多次重复地执行多条语句,这里的“多条语句”称为循环体。在C语言中,可以使用三种循环,分别是:while、do...while和for。
循环结构有两大要素:循环条件和循环体,当满足某个条件时,重复执行某些动作,直到该条件不再满足,这个表述很好地体现了循环条件和循环体的关系。构造循环时,首先要明自要做什么,即“循环体是什么”,这是和程序的目的相关的,知道要干什么了还不够,还要明白什么时候开始做,什么时候停,如果没有合理设定循环条件,很容易造成程序死循环,甚至是资源耗尽导致电脑死机。
2024年10月23日
欢迎关注头条号:java小马哥
周一至周日下午三点半!精品技术文章准时送上!!!
精品学习资料获取通道,参见文末
JVM 调优概述
性能定义
2024年10月23日
欢迎关注头条号:java小马哥
周一至周日早九点半!下午三点半!精品技术文章准时送上!!!
精品学习资料获取通道,参见文末
JVM 调优概述
性能定义
2024年10月23日
JVM 调优概述
性能定义
调优原则
2024年10月23日
Java GC发展至今,已经推出了好几代收集器,包括Serial、ParNew、Parallel、CMS、G1以及Java11中最新的ZGC。每一代GC都对前一代存在的问题做出了很大的改善。
今天介绍一个古董收集器-Serial串行GC。
虽然此收集器的使用场景已经不多,但本文通过这个收集器,说明了如何分配每一块堆内存的大小,并根据GC日志,详细说明了Serial GC在新生代和老年代的GC过程。
Serial GC的名字能很好地概括他的特点:串行。它与应用线程的执行是串行的,也就是说,执行应用线程的时候,不会执行GC,执行GC的时候,不能执行应用线程。
2024年10月23日
上期讲到此处:(doubixiaohanhan.sct中的内容后面会解释)
doubixiaohanhan.sct中的内容:
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x08000000 0x00010000 { ; load region size_region
ER_IROM1 0x08000000 0x00010000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$Sections)
.ANY (+RO)
}
RW_IRAM1 0x20000000 0x00005000 { ; RW data
.ANY (+RW +ZI)
}
}
2024年10月23日
逐步分析
虚拟机遇到一条new指令(new关键字、对象的克隆、对象的序列化等)时,会先去检查这个指令的参数在常量池中定位到一个类的符号引用,并且这个符号引用代表的类是否应被加载过,如果没有那么就去加载该类
类加载完毕后会给对象分配内存空间。对象的所需的内存大小在类加载完毕后就便可完全确认,为对象分配内存大小的空间等同于把一块确定大小的内存从java堆中划分出来。
2024年10月23日
使用多线程,可以把一些大任务分解成多个小任务来执行,多个小任务之间互不影响,同时进行,这样,充分利用了cpu资源。