- 博客(25)
- 收藏
- 关注
原创 字典处理重复
当nums=[-4, -1, -1, 0, 1, 2]时 S = {j: i for i, j in enumerate(nums)}这里j:i倒置并且nums有序,巧妙排除了重复值自动排除了重复值得到,字典会把重复key值只保留后一项{-4: 0, -1: 2, 0: 3, 1: 4, 2: 5}([0, 2, 3, 4, 5])也就是统计nums里面非重复数值在nums内的顺序而正常S = { i:j for i, j in enumerate(nums)}{0: -4, 1: -1,
2021-11-27 02:14:42
224
原创 servlet路径问题
请求URI的组成requestURI=contextPath+servletPath+pathInfo对于http://localhost:80/FirstServlet/servlet/path.viewrequest.getSchema()返回协议,就是“http”request.getServerName()返回当前服务器的名字,是“localhost"request.getS...
2019-01-25 09:43:16
415
原创 关于`request.getAttribute()`返回值强制转换的问题
其声明为 Object getAttribute(String var1);当使用Map<String,Object> errors=new HashMap<String,Object>();`......request.setAttribute("errors",errors);来保存信息时,object再强转String会
2019-01-24 19:53:28
2104
翻译 java注解的理解和框架中的利用
定义:注解(Annotation),也叫元数据。一种代码级别的说明。 它是JDK1.5及以后版本引入的一个特性,与**类、接口、枚举是在同一个层次**Annotation可被用于 packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数) Java SE5内置了三种标准注解: @O
2017-05-26 17:27:52
244
原创 假设检验
目的: 从样本提出问题,对总体作出推断,然后研究拒绝还是接受作出的推断基本想法: 1.全称命题不被本证明但易用举反例证伪–>在此基础上–>2.极小概率发生的事若发生证可用来证伪小概率原理 解释为: 如果对总体的某种假设是真实的,那么不利于或不能支持这一假设的事件A(小概率事件)在一次试验中几乎不可能发生的;要是在一次试验中A竟然发生了,就有理由怀疑该假设的真实性,拒绝这一假设。假
2017-01-20 19:02:58
642
原创 arpspoof毒化
iptables -t nat -A POSTROUTING -o eth0 -s 10.122.33.0/24 -j MASQUERADE 把10.122.33.0/24的包伪装转发 开启转发 echo 1 >> /proc/sys/net/ipv4/ip_forward cat /proc/sys/net/ipv4/ip_forward arpspoof -i eth0 -t 目
2016-06-09 20:05:06
741
翻译 JTable用法
public class table{ public static void main (String[] args) {final Object[] column{};,//列名 Object[][] Data = { };表格内容 JTable friends = new JTable (Data, column); //这是建表对象 friends.setPrefer
2016-05-03 17:49:27
302
转载 find:paths must precede expression问题及解决
用find命令查找时find /home -name w*find: paths must precede expression: webfdUsage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]会出错,因为 find: paths must p
2016-03-04 18:31:53
35169
转载 pcap_open()(网上资料)
我们主要使用的函数是pcap_open(),这个函数的功能是打开一个抓取设备。pcap_t *pcap_open(const char * source,int snaplen,int flags,int read_timeo
2015-12-22 20:48:50
4974
转载 crt安全警告问题
#ifdef _MSC_VER/* * we do not want the warnings about the old deprecated and unsecure CRT functions * since these examples can be compiled under *nix as well */#define _CRT_SECURE_NO_WARNINGS#end
2015-12-22 20:22:34
788
转载 WinPcap Pcap_findalldevs_ex() pcap_if
本课用到的数据结构简介: ①pcap_if 结构: ⑴typedef struct pcap_if pcap_if_t cap_if在incs/pcap.h文件的72行有定义 ⑵pcap_if结构里面的数据域:struct pcap_if{ pcap_if * next; //指向下一个元素的指针;如果是NULL,表示链表结束。 char * name ;//一个指向字符串的
2015-12-22 12:46:39
5257
转载 fprintf() stderr std out stdin
定义 int fprintf (FILE* stream, const char*format, [argument]) FILE*stream:文件指针 const char* format:输出格式 [argument]:附加参数列表 功 能 传送格式化输出到一个文件中与打印机输出 用 法#include <stdio.h>#include<stdlib.h>int fprin
2015-12-22 12:14:56
1528
1
转载 如何在VS2010及以上使用winpcap开发网络应用程序。
1.首先,从http://www.winpcap.org/下载winpcap.exe和Developer’s Pack.。安装winpcap.exe,并将Developer’s Pack进行解压。 2.配置。新建一个空工程。具体设置如下: (1)项目 →属性→配置属性→点击C/C++目录,点击展开的目录General(常规),在右侧的Additional Include Directories中
2015-12-22 00:57:11
928
转载 strdup()
头文件: #include<string.h>定义函数:char * strdup(const char *s);函数说明:strdup()会先用maolloc()配置与参数s 字符串相同的空间大小,然后将参数s 字符串的内容复制到该内存地址,然后把该地址返回。strdup()在内部调用了malloc()为变量分配内存,不需要使用返回的字符串时,需要用free()释放相应的内存空间,否则会造成
2015-12-21 20:10:02
412
转载 yacc用法(未完成)
用 Yacc 编写语法如同 Lex 一样, 一个 Yacc 程序也用双百分号分为三段。 它们是:声明、语法规则和 C 代码。 我们将解析一个格式为 姓名 = 年龄 的文件作为例子,来说明语法规则。 我们假设文件有多个姓名和年龄,它们以空格分隔。 在看 Yacc 程序的每一段时,我们将为我们的例子编写一个语法文件。C 与 Yacc 的声明C 声明可能会定义动作中使用的 类型 和 变量,以及 宏。 还可
2015-11-25 01:04:32
800
转载 内存页面管理
本地找不到对应证书,所以可以通过关掉验证来解决这一问题,就是在git 命令前面加上: env GIT_SSL_NO_VERIFY=true 所以完整的命令是这样: env GIT_SSL_NO_VERIFY=true git pull 虽然在很多操作系统书讲到页式地址管理的时候总会说页面大小是可以根据系统的安排而调整的,一般是1KB的整数倍,如1KB,2KB,4KB或者8KB等。但
2015-11-25 00:46:45
623
转载 文章标题
抛开JOS不谈,一个函数在调用时,肯定要压入参数给函数体传值,然后要压入函数结束后的下一条指令的地址,以便函数可以正确的返回,其次因为公用一个堆栈所以要压入BP也就是基址寄存器的值,和在函数体中使用到的寄存器的值,以便返回时可以恢复现场。但是这些值压入的顺序和规则目前还是不知道的,需要一些额外的资料。 esp的含义是“这个地址以下的空间是未被使用的堆栈控件”, ebp的含义是“这个地址以下至
2015-11-22 21:02:30
401
转载 文章标题
入kernel后从i386_init函数开始,首先做一些初始化工作,包括部分内存的清零,初始化显示器串口等(无非是判断一下地址使光标闪动正确的位置等),然后调用了cprintf,尝试将一个10进制的数字用8进制来表示,而这个函数是需要我们完成的。 进入cprintf函数(printf.c文件)后,首先是使用va_前缀的函数(也许是宏)来取出参数,这是标准的c语言可变长度参数的实现形式。这个函数其实
2015-11-22 17:23:15
359
转载 文章标题
文件跳转到了entry.S里面,这是kernel的入口。 kernel的代码段(text段)被加载到了0x100000的位置,也就是1MB的位置 值得注意的是kernel的VMA地址为0xf0100000,也就是内核“认为”自己是在一个高位内存里执行的,因此其中的符号,包括函数名、汇编里定义的符号,都会指向一个高位的地址(大于0xf0000000)的地址,所以到目前为止在entry.S里,只要调
2015-11-22 00:40:54
322
转载 文章标题
pointers.c的代码以及实现功能如下:#include<stdio.h>#include<stdlib.h>void f(void) { int a[4]; int*b = new int[16];//(int*)malloc(16);//分配长度为16bytes字节的内存块 int*c=0;int i; printf("1:a=%p,b=%p,c=%p\n
2015-11-22 00:03:38
313
转载 文章标题
objdump命令是Linux下的反汇编目标文件或者可执行文件的命令, 它还有其他作用,下面以ELF格式可执行文件test为例详细介绍: objdump -f test 显示test的文件头信息objdump -d test反汇编test中的需要执行指令的那些section objdump -D test 与-d类似,但反汇编test中的所有section objdump -h test
2015-11-21 23:03:52
277
翻译 文章标题
物理内存的0x000A0000 -0x00100000为VGA显示存储、BIOS ROM以及扩展ROM 物理内存的高端0xefffffff-0xffffffff往往被PCI设备的外设I/O所占据。 JOS 中的 Boot Loader Boot Loader的源程序是由一个叫做的boot.S的AT&T汇编程序与一个叫做main.c的C程序组成的。 boot.S主要是将处理器从实模式转换到3
2015-11-21 23:02:18
345
转载 转-LMA和VMA
一般体积LMA和VMA,多数情况下都是和ld,连接器有关。 在了解这两个名词的详细含义之前,有些基本知识和前提要说一下:【基础知识】1、从源代码到可执行的代码,一般要经过一下几个过程: 源代码编辑 -> 编译 -> 链接 ->装载 -> 执行2、编译 简单的说就是用编译工具,将你的源码变成可以执行的二进制文件,即目标文件,当然只是对应某一种硬件平台,比如x86,arm3、链接 就是将多个目标
2015-11-20 22:09:27
449
转载 从编辑框获取内容
第一篇 1、设置编辑框变量在MFC的基本对话框中,我建立了一个编辑框控件,变量名为 m_Min ,类型为value intCString c_user; m_user.GetWindowText(c_user); 其中m_user 是CEidt类的变量,且要声明为对应编辑框的控制变量2、直接获取CString str; GetDlgItem(IDC_EDIT1)->GetWindowText
2015-06-16 18:59:06
816
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人