豫ICP备17040950号-2

Class文件结构全面解析(上)

什么是Class文件? 在Java刚刚诞生的时候就提出了一个非常著名的口号:“一次编写,到处运行。(Write Once,Run Anywhere)”。为了实现平台无关性,各种不同平台的虚拟机都统一使用一种程序储存格式,就是字节码(ByteCode)。它就以二进制字节流的方式被存放在Class文件中,其中包含了Java虚拟机指令集和符号表以及其他辅助信息。

MYSQL快速导入大SQL文件

规模小的项目一般使用MYSQL数据库,有自动脚本,每天定时生成.SQL脚本数据库备份。如果某天BOSS突然反馈说业务侧操作失误或者需要恢复到昨天的整库数据,排除使用BINLOG方式恢复。但是生产导出的.sql文件脚本有几百M大小。按照传统方式去导入脚本,导入速度非常慢,耗时太长,均值情况下至少2,3个小时。恢复数据时间太长,业务侧和BOSS都有意见,顾而找到了如下的这种方法:
原来在默认情况下,当你去执行某个.sql文件的时候事物是自动提交的,也就是说insert一次提交一次,这样大大拖延了导入的速度;在使用一下这种方式之后50多万的数据,比起自动提交的导入来说快了不少,以前需要几个小时才能导入的数据,一两分钟就导入完了,以下是具体的使用方法:

网卡如何接收数据包

IP报文可以看作一个包

Linux网卡驱动程序,将IP包添加14字节的MAC包头,构成MAC包。
MAC包中含有发送端和接收端的MAC地址信息。既然是驱动程序创建的MAC包头信息,当然可以随便输入地址信息的,主机伪装就是这么实现的。
驱动程序将MAC包拷贝到网卡芯片内部的缓存区,就算完事了。有网卡芯片接手处理。网卡芯片对MAC包,再次封装成物理帧,添加头部同步信息和CRC校验。然后丢到网线上,就完成一个IP报文的发送。所有挂接到本网线的网卡都可以看到该物理帧。