小知识
文章平均质量分 87
C++、Java、Python
Hello_GY
有在认真生活✌️
展开
-
如何获取打开文件和文件描述符数量
当我们在系统或应用的日志中碰到“too many open files”错误记录时,这个不是说打开的文件过多,而是打开的文件描述符数量已达到了限制,这时就需要增加文件描述符的数量限制了。文件描述符是一个正整数,用以标明每一个被进程所打开的文件和socket。从上面可看到小于文件描述符的数值时即报“Too many open files”错误,那么这个应该可以说明这个“Too many open files”错误是是打开的文件描述符数量已达到了限制所引起的,跟打开的文件数量没有关系。原创 2023-06-02 16:07:29 · 1470 阅读 · 0 评论 -
Java实战--飞机大战
根据引导自己动手试试看源码具体详情请点击https://download.csdn.net/download/qq_40803710/11011232 进行下载。1.第一个任务:做6个子类 Sky: y1;step step(); Hero: life;doubleFire move(int x,int y){} Airpla...原创 2018-11-23 11:37:04 · 517 阅读 · 0 评论 -
Flutter-------写一个app启动页
在开发app应用的时候一般都会写一个启动页来过渡会在里面初始化一些东西比如加载广告图片之类的。那么如何用flutter制作一个启动页面并在3秒后自动跳转到主页呢?首先创造一个Splash类,在build方法里面写好页面布局,然后写一个countDown()方法用来延迟,设定在3秒后启动newHomePage(),在右上角添加一个按钮用于点击跳转,onPressed进行首页的跳转。一个简单的启动页就做好了。import 'package:flutter/material.dart';imp原创 2020-06-22 14:58:50 · 4783 阅读 · 0 评论 -
自动化测试工具QTP概述、安装及使用
1、QTP简述QTP是QuickTest Professional的简称,是一种自动化软件测试工具。在软件的测试过程中,QTP主要来用来通过已有的测试脚本执行重复的手动测试,用于功能测试和回归测试。使用QTP要求测试人员在测试前考虑好应用程序测试的内容,步骤,输入数据和期望的输出数据等。QTP由Mercury公司开发,该公司开发的同类产品还有LoadRunner,但是Mercury已被HP收购,如...原创 2018-06-30 15:38:03 · 18130 阅读 · 0 评论 -
Eclipse常用快捷键
Eclipse常用快捷键1几个最重要的快捷键代码助手:Ctrl+Space(简体中文操作系统是Alt+/)快速修正:Ctrl+1单词补全:Alt+/打开外部Java文档:Shift+F2显示搜索对话框:Ctrl+H快速Outline:Ctrl+O打开资源:Ctrl+Shift+R打开类型:Ctrl+Shift+T显示重构菜单:Alt+Shift+T上一个/下一个光标的位...转载 2018-07-27 10:18:09 · 152 阅读 · 0 评论 -
Maven安装与配置
一、需要准备的东西1. JDK2. Eclipse3. Maven程序包二、下载与安装1. 前往https://maven.apache.org/download.cgi下载最新版的Maven程序:2. 将文件解压到D:\Program Files\Apache\maven目录下:3. 新建环境变量MAVEN_HOME,赋值D:\Program Files\Ap...转载 2019-03-16 14:07:14 · 294 阅读 · 0 评论 -
理解Cookie和Session机制
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session。Cookie机制Cookie技术是客户端的解决方...转载 2019-04-21 13:33:00 · 242 阅读 · 0 评论 -
Epoll函数的实现
#include <stdio.h> #include <iostream> #include <unistd.h> #include <fcntl.h> #include <errno.h>#include <sys/types.h>#include <sys/socket.h> #原创 2018-07-30 16:01:47 · 162 阅读 · 0 评论 -
常用的Linux命令
1.请解释下列10个shell命令的用途top:是linux下常用的性能分析工具,能够实时的显示系统中各个进程的资源占用情况,类似于windows的资源管理器,查看系统的cpu,内存,运行时间,交互分区,执行线程等信息。对进程状态进行实时监控。ps:显示系统进程在瞬间的运行状态mv:文件/目录改名或变更存储位置find:在指定的路径下查找指定文件df:检查磁盘占用空间情况c...原创 2019-03-11 11:16:44 · 168 阅读 · 0 评论 -
常用的Linux命令
1.请解释下列10个shell命令的用途top:是linux下常用的性能分析工具,能够实时的显示系统中各个进程的资源占用情况,类似于windows的资源管理器,查看系统的cpu,内存,运行时间,交互分区,执行线程等信息。对进程状态进行实时监控。ps:显示系统进程在瞬间的运行状态mv:文件/目录改名或变更存储位置find:在指定的路径下查找指定文件df:检查磁盘占用空间情况c...原创 2018-09-02 16:10:42 · 181 阅读 · 0 评论 -
Linux环境下几种常用的文件系统
Linux环境下几种常用的文件系统:1、ext2 ext2是为解决ext文件系统的缺陷而设计的可扩展的、高性能的文件系统,又被称为二级扩展文件系统。它是Linux文件系统中使用最多的类型,并且在速度和CPU利用率上较为突出。ext2存取文件的性能极好,并可以支持256字节的长文件名,是GNU/Linux系统中标准的文件系统。2、ext3 ext3是ext2文件系统的日志版本,它在ext...原创 2018-05-24 11:06:15 · 14696 阅读 · 0 评论 -
进程间通信
进程间通信(IPC)介绍进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。以Linux中的C语言编程为例。一、管道管道,通常指无名管道,是 UNIX 系统IPC最古老...转载 2018-05-26 20:29:16 · 145 阅读 · 0 评论 -
MySql中添加用户,新建数据库,用户授权,删除用户,修改密码
MySQL中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):1.新建用户登录MYSQL: @>mysql -u root -p @>密码创建用户: mysql> insert into mysql.user(Host,User,Password) values("localhost","test",pass...转载 2018-08-01 17:51:26 · 104 阅读 · 0 评论 -
linux下导入、导出mysql数据库命令
一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):1、导出数据和表结构: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql #/usr/local/mysql/bin/ mysqldump -uroot -p abc > abc.sql 敲回车后会提示输入密码2、只导出表结构 mysqldump -u用...原创 2018-09-02 15:53:45 · 779 阅读 · 0 评论 -
Mysql忘记用户密码的解决办法
1.1 忘记用户密码的解决办法普通用户,直接用root超级管理员登录进去修改密码就可以了,但是如果root密码丢失了,怎么办呢? 1.1.1 msyqld_saft方式找回密码停止mysql:service mysqld stop; 安全模式启动:mysqld_safe –skip-grant-tables & 无密码回车键登录:mysql -uroot –p 重置密...转载 2018-08-01 17:53:46 · 969 阅读 · 0 评论 -
互联网协议模型详解
我们每天使用互联网,你是否想过,它是如何实现的?全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗?互联网的核心是一系列协议,总称为"互联网协议"(Internet Protocol Suite)。它们对电脑如何连接和组网,做出了详尽的规定。理解了这些协议,就理解了互联网的原...原创 2018-07-18 12:52:32 · 952 阅读 · 1 评论 -
常见HTTP错误代码大全
常见HTTP错误代码大全:一些常见的状态码为:200 - 服务器成功返回网页404 - 请求的网页不存在503 - 服务不可用详细分解:1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。代码 说明100 (继续) 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。2xx (...原创 2018-04-14 14:16:53 · 235 阅读 · 0 评论 -
Wireshark抓包-TCP协议包
TCP首部格式 源端口号、目的端口号:用于寻找发端和收端应用进程。这两个值加上IP首部中的源端IP地址和目的端IP地址唯一确定一个TCP连接,在网络编程中,一般一个IP地址和一个端口号组合称为一个套接字(socket)。 序号:用来标识从TCP发端向TCP收端发送的数据字节流,它表示在这个报文段中的的第一个数据字节。在tcp中tcp用序号对每个字节进行计数 确认序号:包...原创 2018-08-04 19:46:47 · 15583 阅读 · 1 评论 -
在浏览器中输入www.baidu.com后执行的全部过程
这个问题经常可以看到,今天我好好总结了下,是从网络模型的角度来分析问题的。主要涉及:应用层:DNS,HTTP传输层:TCP网络层:IP和路由选择协议:RIP,OSPF(内部网关协议),BGP(外部网关协议)数据链路层:ARP下面来具体分析:1.应用层:客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发...原创 2018-05-16 19:53:04 · 1140 阅读 · 0 评论 -
QQ使用的通信协议
一、概述。不管UDP还是TCP,最终登陆成功之后,QQ都会有一个TCP连接来保持在线状态。这个TCP连接的远程端口一般是80,采用UDP方式登陆的时候,端口是8000。因此,假如你所在的网络开放了80端口(80端口是最常用端口。。就是通常访问Web的端口,禁掉它的话,你的网络对你来说价值已经不大了),但没有屏蔽腾讯的服务器IP,恭喜你,你是可以登陆成功QQ的。二、聊天消息通信。 采用UDP协...原创 2018-07-02 18:47:26 · 20119 阅读 · 2 评论 -
5种服务器网络编程模型
1.同步阻塞迭代模型同步阻塞迭代模型是最简单的一种IO模型。其核心代码如下:bind(srvfd); listen(srvfd); for(;;){ clifd = accept(srvfd,...); //开始接受客户端来的连接 read(clifd,buf,...); //从客户端读取数据 dosomthingonbuf(b...转载 2018-07-31 16:39:36 · 370 阅读 · 0 评论 -
TCP的三次握手与四次分手详细及常见问题
TCP的位置TCP工作在网络OSI的七层模型中的第四层——Transport层,IP在第三层——Network层,ARP在第二层——Data Link层;在第二层上的数据,我们把它叫Frame,在第三层上的数据叫Packet,第四层的数据叫Segment。数据从应用层发下来,会在每一层都会加上头部信息,进行封装,然后再发送到数据接收端。这个基本的流程你需要知道,就是每个数据都会经过数据的封装和解封...原创 2018-05-12 14:05:52 · 900 阅读 · 1 评论 -
常用协议的端口
20 ftp-data FTP 数据端口 21 ftp 文件传输协议(FTP)端口23 telnet Telnet 服务 25 smtp 简单邮件传输协议(SMTP) 邮箱设置经常用到 53 domain 域名服务 80 http 用于万维网(WWW)服务的超文本传输协议(HTTP) ...原创 2018-05-16 20:04:12 · 1439 阅读 · 0 评论 -
C与C++相互调用问题
在项目中融合C和C++有时是不可避免的,在调用对方的功能函数的时候,或许会出现这样那样的问题,但只要我的C代码和我的C++代码分别都能成功编译,那其他就不是问题。近来在主程序是C语言,而调用C++功能函数的时候,C++的*.h头文件都能找到,功能函数也都定义了,最重要的是,单独编译C++的时候,完全没有问题,但当用主程序的C调用C++的功能函数时,总是提示该函数未定义(undefined),这里分...转载 2018-08-13 17:08:05 · 804 阅读 · 0 评论 -
C++11 中的 5 个实用特性
C++11 中的 5 个实用特性:自动类型推导、强类型枚举、Unique 指针、static_assert、Lambdas 表达式。自动类型推导auto 关键字让用户得以使用 C++ 内置的类型推导特性。1 std::string something = somethingthatreturnsastring.getString();2 auto something = some...原创 2018-07-23 10:24:34 · 410 阅读 · 0 评论 -
C++ 中vector基本用法及其insert()、begin()、end()、front()与back()的用法详解
C++ 中vector的使用方法vector是C++标准模板库(STL)中的部分内容,是一个十分有用的容器,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。作用:它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。特别注意:使用vector需要注意以下几点:1、如果你要表示的向量长度较长(需要为向量内部保存很多数),容易导致...原创 2018-06-10 09:28:50 · 59112 阅读 · 2 评论 -
如何让类对象只在栈或堆上分配空间?
在C++中,类的对象建立分为两种,一种是静态建立,如A a;另一种是动态建立,如A* ptr=new A;1、静态建立类对象:是由编译器为对象在栈空间中分配内存,是通过直接移动栈顶指针,挪出适当的空间,然后在这片内存空间上调用构造函数形成一个栈对象。使用这种方法,直接调用类的构造函数。2、动态建立类对象:是使用new运算符将对象建立在堆空间中。这个过程分为两步,第一步是执行operator new...转载 2018-04-14 14:31:10 · 754 阅读 · 0 评论 -
C++中Sort的用法
1.sort头文件:#include <algorithm> 时间复杂度:n*lg(n)实现原理:sort并不是简单的快速排序,它对普通的快速排序进行了优化,此外,它还结合了插入排序和推排序。系统会根据你的数据形式和数据量自动选择合适的排序方法,这并不是说它每次排序只选择一种方法,它是在一次完整排序中不同的情况选用不同方法,比如给一个数据量较大的数组排序,开始采用快速排...转载 2018-05-10 21:27:24 · 434 阅读 · 0 评论 -
C++中accumulate的用法
accumulate定义在#include<numeric>中,作用有两个,一个是累加求和,另一个是自定义类型数据的处理1.累加求和intsum=accumulate(vec.begin(),vec.end(),42);accumulate带有三个形参:头两个形参指定要累加的元素范围,第三个形参则是累加的初值。accumulate函数将它...转载 2018-05-10 21:16:49 · 73420 阅读 · 9 评论 -
C++容器vector和迭代器iterator
vector是同一种对象的集合,每个对象都有一个对应的整数索引值。和string对象一样,标准库将负责管理与存储元素相关的类存。引入头文件#include<vector>1.vector对象的定义和初始化[cpp] view plain copyvector<T> v1 vector保存类型为T的对象。默认构造函数,v1为空 vector<T...原创 2018-05-09 09:54:16 · 5270 阅读 · 0 评论