自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(126)
  • 收藏
  • 关注

原创 安卓设备adb远程装包

问题1:装包被拒绝install_failed_aborted:user rejected permissions​。解决方法:设备 - 开发者选项 - 调试 - 关闭【通过usb验证应用】【验证可调试应用的字节码】1.将安卓设备连接代理,设置端口号​。2.插入数据线,验证设备已连接​。4.拔掉数据线,远程连接​。3.打开adb监听端口​。

2023-05-15 15:27:41 1326

原创 计算机中的网络协议分层和OSI模型、TCP/IP模型

一、网络协议计算机中的网络协议其实可以理解为一种约定计算机生产的厂商有很多,计算机的操作系统也有很多,计算的网络硬件设备还有很多;那么怎么能让这些不同的计算机互相通信?就需要一个约定,这就是网络协议!网络协议是一个分层结构,这也是为了解耦;但是它也是根据功能分层的,每一层之间有接口,每一层的协议也不一样!二、OSI模型OSI(Open System Interconnection,开放系统互联)七层协议模型也可以称为开放式系统互联参考模型,它是一个逻辑上的定义和规范。该模型把网络从逻

2020-12-13 17:51:25 488

原创 Python变量类型、变量、运算符以及运算符的优先级、结合性

Python变量类型和变量一、变量类型int整数型整数就是没有小数部分的数字,Python中的整数包括正整数、0 和负整数。eg:10,20,-80float小数/浮点数Python中的小数有两种书写形式:十进制形式:eg:1.2,3.8、 指数形式:eg:2.1E5 = 2.1×105,其中 2.1 是尾数,5 是指数complex复数类型复数由实部(real)和虚部(imag)构成,在 Python 中,复数的虚部以j或者J作为后缀,具体格式为:a+bjbool布尔类

2020-10-25 18:36:14 1198

原创 Python基础语法

一、Python标识符标识符是给诸如:类、函数、变量等实体的名称。它的作用就是可以两个实体A、B区分开。编写标识符的规则1.标识符可以是小写字母(a-z)、或者大写字母(A-Z)、或者数字(0-9)或者下划线(_)的组合2.标识符不能以数字开头。1variable无效,但是variable1有效名称。3.关键字不能用作标识符。4.标识符对大小写敏感(Variable并且variable是不一样的)二、Python关键字关键字不能被用作任何标识符名称Python 的..

2020-10-25 16:11:20 489

原创 Pycharm安装教程

1、下载PyCharm安装包首先去Pycharm官网,或者直接输入网址:http://www.jetbrains.com/pycharm/download/#section=windows,根据自己电脑的操作系统进行选择,对于windows系统选择下图的框框所包含的安装包。2、选择Windows系统的专业版,将其下载到本地,如下图所示3、双击下载的安装包,进行安装,然后会弹出界面4、选择安装目录,Pycharm需要的内存较多,建议将其安装在D盘或者E盘,不建议放在系统盘C盘

2020-10-25 13:44:04 10158 2

原创 python3.7下载安装和环境变量配置教程(Windows)

1.在python的官网下载python对应版本:https://www.python.org/downloads/windows/版本会一直更新,所以直接选择相应处理器的就可以了64位下载Windows x86-64 executable installer 版本32位下载Windows x86 executable installer 版本2.下载好后安装,勾选 Add python to PATH 添加路径安装界面点击Customize installation 自定.

2020-10-25 13:11:56 688

原创 【测试】使用Fiddler4实现手机抓包

日常中,我们手机上无法直接查看网络请求数据,需要使用抓包工具。Fiddler是一款免费的Web调试工具,它通过代理手机App的网络,记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据。但是实现手机抓包的前提是:电脑和手机要连接在同一网络!一、电脑下载安装FiddlerFiddler4下载二、PC端配置1.安装HTTPS证书手机上的应用很多涉及到个人信息,采用比较安全的HTTPS加密过,而fiddler默认只捕获http会话而不抓取HTTPS报..

2020-07-15 16:16:38 1471

原创 【Java】Java中的运算符

基础运算符运算符都是有优先级的,所以说在写代码时最好带上(),以避免出现问题。自增和自减运算int x = 3;int y = 4;int res = x++ *y;System.out.println(x);System.out.println(res);【总结】x++ : 先使用后增加++x : 先增加后使用三目运算符三目是一种赋值运算...

2019-08-14 14:05:57 256

原创 【Java】Java数据类型划分以及数据类型操作

Java数据类型划分Java是一种强类型语言,所以这就意味着必须为每一个变量声明一种类型。【总结】整数就用int,描述小数用double。 long一般用于描述日期、时间、内存或文件大小(字节) 如果要进行编码转换或者进行二进制流的操作,使用byte(-127~128) char一般在描述中文中会用到(基本忽略)整形在Java程序中,任何一个整形常量都...

2019-08-13 16:02:39 272

原创 【Java】Java语言中的标识符和关键字

一、Java代码的注释再说标识符和关键字之前,一定要先说Java代码的注释方法,写代码一定要写注释啊!!不然后期别人维护很困难的,最近在实习的时候就遇到了这样的情况,满篇代码不写注释,我就只能去库里一个一个查,一边吐槽一边查!!!不写注释以后很容易被人背后骂屎~Java中注释和C++差不太多,主要分为三种:单行注释://注释内容 (用的最多) 多行注释:/*注释内容*/(不推荐)...

2019-08-10 14:46:51 779

原创 【测试】压力测试环境jmeter4.0的安装配置

注意一下:在装 jmeter 之前要先装好 jdk1.8 才可以1.下载安装jmeter4.0下载地址http://jmeter.apache.org/download_jmeter.cgi打开后找4.0版本的jmeter下载:现在已经更新到5.1.1版本了,别急,往下翻有旧版本档案2、解压Jmeter安装包到自定义路径下3、配置Jmeter环境变量【变量名】...

2019-08-09 15:16:12 307

原创 IDEA中的多行注释与取消多行注释

最近开始学习Java了,选择了IDEA这款工具,顺便简单记录一下使用过程中的一些问题一次性添加多行注释的快捷键首先选中要注释区域,然后ctrl+/ 这个是多行代码分行注释,每行一个注释符号ctrl+shift+/ 这个是多行代码注释在一个块里,只在开头和结尾有注释符号取消多行注释快捷键怎样添加快捷键的,用相同方法取消如 ctrl+/ 添加注释...

2019-08-09 14:56:40 2217

原创 【MySQL数据库】数据库、表的建立以及简单操作

一、SQL分类SQL结构查询语言(Structured Query Language)DDL数据定义语言,用来维护存储数据的结构代表指令: create, drop, alterDML数据操纵语言,用来对数据进行操作代表指令: insert,delete,updateDML中又单独分了一个DQL,数据查询语言,代表指令: selectDCL数据控制语言,主要负责权限管...

2019-05-18 18:15:37 391

原创 【MySQL数据库】CentOS 7 通过 yum 安装 MariaDB

虚拟机中我们可能会使用到MySQL数据库,那么如何安装环境呢~小编废了九牛二虎之力安装好了,所以写出来给你们~不过切记!下面的一切操作要在root下完成吖!1.安装 mariadb 服务# yum install -y mariadb-server不过经过测试第一个步骤已经顺便安装好了2,3,如果你执行完第一个步骤,也是如图所示,那么可以跳过2,3啦~2.安装 m...

2019-05-15 16:26:50 294

原创 如何使用STL关联式容器 ---- set、multiset

关联式容器及键值对STL中,像vector、list、deque、forward_list(C++11)等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的是元素本身。STL中,关联式容器也是用来存储数据的,与序列式容器不同的是,其里面存储的是<key, value>结构的键值对,在数据检索时比序列式容器效率更高。键值对是用来表示具有一 一对应关系的一种...

2019-05-11 18:34:34 254

原创 【C++】三种智能指针(auto_ptr,unique_ptr,shared_ptr)

c++中的智能指针主要是基于RAII思想的。不懂RAII思想的同学可以看看这篇博文-->RAII思想---利用对象生命周期来控制程序资源智能指针的两大要素RAII思想:把资源交给这个对象管理 像指针一样的行为(重载operator*和operator->)template<class T>class SmartPtr{public://交给对...

2019-04-13 17:47:22 2017

原创 【Linux】vim常用命令之多行注释和多行删除

在vim中多行注释和多行删除命令,这些命令也是经常用到的一些小技巧,可以大大提高工作效率。多行注释 1. 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式; 2. 在行首使用上下键选择需要注释的多行; 3. 按下键盘(大写)“I”键,进入插入模式; 4. 然后输入注释符(“//”、“#”等); 5. 最后按下“Esc”键。 注:在按下es...

2019-04-12 09:10:12 4026

原创 【C语言】C语言中static关键字的作用

在C语言中static的作用如下1.在修饰变量的时候,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。2.、static修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。3.static修饰一个函数,则这个函数的只能在本文件中调用,不能被其他文件调用。Static修饰的局部变量存...

2019-04-11 13:13:55 417

原创 【C++】RAII思想---利用对象生命周期来控制程序资源

C语言中我们学过指针,那么为什么在C++中还需要存在智能指针呢?实际上它的出现就是给c++的内存管理“填坑”来的~ 因为它的内存自己管理,所以说,有的时候使用malloc或者new创建的对象忘记释放就会导致内存泄漏,又或者此时释放语句之前有一段代码是抛异常的话,那么执行流就会乱跳,导致内存也无法释放。比如这一段代码,若n太大,开辟空间失败会抛异常,导致执行流跳出没有释放指针p。void...

2019-04-10 09:35:22 805

原创 【C语言】malloc函数进行内存分配是在什么阶段?

在说这个之前,我们要先明白:程序占用三种类型的内存:静态内存、栈内存、堆内存;静态内存:用来保存局部static对象、类static数据成员以及定义在任何函数之外的变量 。栈内存:用来保存定义在函数内的非static对象。分配在静态内存或栈内存中的对象由编译器自动创建和销毁。对于栈对象,仅在其定义的程序块运行时才存在;static对象在使用之前分配,在程序结束时销...

2019-03-25 15:41:04 1722

原创 【C++】数组指针和指针数组的辨析

在学习C语言的时候,数组和指针没有那么多的联系,但是当学习到c++的时候,指针和数组常常结合起来,于是就有了指针数组和数组指针这俩我傻傻分不清的概念~在今天,我把它们分清楚了。如果你也有一样的困惑,往下看~首先,理解一下数组指针和指针数组这两个名词:“数组指针”和“指针数组”,只要在名词中间加上“的”字,就知道中心了——数组的指针:是一个指针,什么样的指针呢?指向数组的指针。...

2019-03-23 11:18:39 213

原创 【C语言】关于static关键字修饰的变量

变量可以被static 修饰,意义有发生变化吗?下面我们举个栗子来说明:(1)变量不加 static 修饰#include <stdio.h>void test(){ int num = 0; num++; printf("%d ", num);}int main(){ int i = 0; for (i = 0; ...

2019-03-21 17:43:09 1239

原创 【C++】构造函数初始化列表中成员变量必须初始化的几种情况

有一个类A,其数据成员如下:class A {...private: int a;public: const int b; float* &c; static const char* d; static double* e; };则构造函数中,成员变量一定要通过初始化列表来初始化的是:b,c构造函数中,成员变量一定要通过初始化列表来初始化的有以下几种...

2019-03-20 17:10:57 3532

原创 【C++】String中的深浅拷贝问题;深拷贝的两种写法(传统写法、现代写法)

一、浅拷贝问题浅拷贝首先定义一个Sting类,它包含一个成员变量,一个char*的指针。namespace CPP{ class String { public: private: char* _str; };}对于String类的拷贝构造函数及operator=函数来说,当用一个String对象拷贝构造或赋值给另一个String对象时,就是将...

2019-03-13 16:02:04 926

原创 【C++】string的部分接口补充(swap()、replace()、suffix()、find())

swap()swap()接口表示交换,有以下两种编写方式void test_string(){ string s1("hello"); string s2("world"); cout &lt;&lt; s1 &lt;&lt; "--" &lt;&lt; s2 &lt;&lt; endl; s1.swap(s2);//单纯地成员变量的交换,指针交换,代价小 cou

2019-03-11 16:13:36 2982 2

原创 【C++】String类、String类的常用接口说明及其使用、STL中的迭代器使用

C语言中,字符串是以'\0'结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP(Object Oriented Programming,面向对象程序设计)的思想,而且底层空间需要用户自己管理,稍不留神可能还会越界访问。所以C++中有了String类,而且在日常的生活工作中,为了简单、方便、快捷,基本都使用string类。...

2019-03-10 15:24:30 330

原创 【C++】泛型编程;函数模板;类模板

一、泛型编程以前我们写过一个简单的交换函数。我们不难发现交换函数是与类型有很大关系的,int,double....那么如何实现一个通用的交换函数呢?void Swap(int&amp; left, int&amp; right){ int temp = left; left = right; right = temp;}void Swap(double&am...

2019-03-06 16:59:51 231

原创 【C++】单例模式(饿汉模式、懒汉模式)

什么是单例模式?首先先来了解一下设计模式。设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结,一共有23种经典设计模式。为什么会产生设计模式这样的东西呢?就像人类历史发展会产生兵法。最开始部落之间打仗时都是人拼人的对砍。后来春秋战国时期,七国之间经常打仗,就发现打仗也是有套路的,后来孙子就总结出了《孙子兵法》。孙子兵法也是类似。使用设计模...

2019-03-05 18:00:31 7292 2

原创 【C++】C/C++中动态内存管理方式;new / delete 与 operator new / operator delete;

一、C语言动态内存管理方式在C语言中,动态内存管理的接口有malloc/calloc/realloc,那么三者之间有什么区别呢?简单来说就是malloc是动态开辟空间;calloc是开辟空间的同时按字节进行初始化为0,并且可以扩容,须知道要扩容到多大;realloc是对当前空间进行增容,对已有空间进行操作,空间足够大时原地扩容,否则另外扩容。详细可见【C语言】malloc,calloc...

2019-03-04 13:26:29 277

原创 【C++】C/C++的内存分布

C/C++中特别注重的是数据存储,这就与内存分不开,我们想要知道C/C++如何进行数据存储,就必须了解它们的内存分布。先来看一段代码:int globalVar = 1;static int staticGlobalVar = 1;void Test(){ static int staticVar = 1; int localVar = 1; int num...

2019-03-03 13:03:23 189

原创 【C++】类和对象(5)初始化列表、static成员、C++11成员初始化、友元函数及友元类、内部类

一、初始化列表在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。#include &lt;iostream&gt;using namespace std;class Date{public: Date(int year, int month, int day) { _year = year; _month = month; _day =...

2019-03-02 11:06:36 401

原创 【C++】实现一个Date类

Date类的代码具体实现如下:Date.h#include &lt;iostream&gt;#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;using namespace std;class Date{public: Date(int year = 1900, int month = 1, int day = 1); D...

2019-02-28 16:10:50 566

原创 【Linux】信号的捕捉(捕捉过程及捕捉函数)

信号的捕捉过程我们现在知道了信号在产生之后不是被立即处理的,而是在合适的时候才进行处理,那么什么时候是合适的时候呢?信号又是怎么被捕捉的呢?合适的时候是指:从内核态切换为用户态时进行信号的捕捉。在Linux下,作为普通用户的我们会发现我们有时候会有一些文件不能进入、有一些文件不能创建、有一些信息不能看、我们创建的进程总数总是有上限的,我们访问不了硬件层面的 东西,感觉自己被限制了,其实...

2019-02-27 14:15:12 3639

原创 【Linux】信号的处理以及信号集操作函数

首先来再次看看这张图:sigset_t从上图来看,每个信号只有一个bit的未决标志,非0即1,不记录该信号产生了多少次,阻塞标志也是这样表示的。因此,未决和阻塞标志可以用相同的数据类型sigset_t来存储,sigset_t称为信号集,这个类型可以表示每个信号的“有效”或“无效”状态,在阻塞信号集中“有效”和“无效”的含义是该信号是否被阻塞,而在未决信号集中“有效”和“无效”的含义是该...

2019-02-26 15:44:45 465

原创 【Linux】如何安装gdb调试器 超实用!!

1.卸载旧版本首先我们需要检查系统中有没有安装过gdb,有的话用一下命令卸载gdb旧版本。2.安装Texinfo文档系统先用su切换到root模式,然后执行yum命令3.下载安装包4.解压5. (./configure)进入全局配置模式6.make这个过程有点点久,耐心等待....不过这一行行代码真的看着超厉害的像电影里的黑客一样hhh~~~国产...

2019-02-25 13:45:01 2170

原创 【Linux】信号的基本概念、信号的产生、记录与处理

一、信号的基本概念信号在我们生活中随处可见,上课铃声、喇叭、红绿灯、警报、闹钟、电话铃声.....等等。我们知道即使信号没有产生,我们也知道该如何处理它,比如,红灯我们就该停,电话响就该接....。那是因为在第一次遇到他时,我们就记住了它的特征及其处理方法,所以我么就知道,如果产生这种信号该怎么办。那么总结如下:生活中:① 信号的产生的随机的;②  信号没有产生时,我们也知道它的作用;③ ...

2019-01-24 09:24:31 353

原创 【Linux】什么是Core Dump值?

Core Dump值最初接触到是在进程控制那个部分,(【Linux】进程的控制 ---- 创建、终止、等待、替换)其中进程终止时,子进程的退出状态status的位图如下:当一个进程要异常终止时,可以选择把进程的用户空间内存数据以文件的形式全部保存到磁盘上,文件名通常是core,这种行为叫做Core Dump。也叫核心转储。进程异常终止通常是因为有Bug,比如非法内存访问导致段错误。事后...

2019-01-23 16:38:56 414

原创 【Linux】进程间通信 ----- 消息队列(IPC资源)

system V消息队列消息队列提供了一个从一个进程向另外一个进程发送一块数据的方法,每个数据块都被认为是有一个类型,接收者进程接收的数据块可以有不同的类型值,消息队列也有管道⼀样的不⾜,就是每个消息的最⼤⻓度是有上限的(MSGMAX),每个消息队列的总的字节数是有上限的(MSGMNB),系统上消息队列的总数也有⼀个上限(MSGMNI)。消息队列也是ipc资源。IPC资源必须删除,否则不会自动...

2019-01-22 12:28:20 611

原创 【Linux】进程间通信 ----- 共享内存(IPC资源)

system v 共享内存每个进程都是独立的,当进程运行起来时,都有一个PCB,一个虚拟地址空间,一个页表,一个对应的物理内存,页表将每一个进程的PCB映射到物理内存的不同区域,保证了它们的独立性。但是如果两个页表都分别把进程虚拟地址空间的一些内容映射到物理内存的同一块区域,那么这样就实现了两个进程看到同一份资源了,而这一块公共的区域就叫做共享内存!如图所示:因为可以减少进程间数据拷贝...

2019-01-21 14:08:40 403

原创 【Linux】进程间通信 ---- 管道

一、进程间通信 进程间通信的本质它的本质就是让不同的进程看到一份公共的资源(内存的一段内存区域),该资源只能由第三方提供,即操作系统直接或者间接提供。进程间通信的目的数据传输:一个进程需要将它的数据发送给另一个进程 资源共享:多个进程之间共享同样的资源。 通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。 进程控制...

2019-01-20 14:51:41 236

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除