2021年10月22日

使用springboot

摘要: 开发项目时选择spring框架,springu框架包括很多模块:Spring JDBC 、Spring MVC 、Spring Security、 Spring AOP 、Spring ORM 、Spring Test 虽然功能很强大,但是开发起来会很麻烦,所以可以选择springboot框架。 s 阅读全文

posted @ 2021-10-22 12:29 能量星星 阅读(79) 评论(0) 推荐(0) 编辑

2021年8月19日

IDEA搭建Spring框架环境

摘要: 一、spring 框架概念 spring 是众多开源 java 项目中的一员,基于分层的 javaEE 应用一站式轻量 级开源框架,主要核心是 Ioc(控制反转/依赖注入) 与 Aop(面向切面)两大技 术,实现项目在开发过程中的轻松解耦,提高项目的开发效率。 在项目中引入Spring可以带来以下好 阅读全文

posted @ 2021-08-19 18:56 能量星星 阅读(1202) 评论(0) 推荐(0) 编辑

vmware扩展磁盘空间

摘要: 一、在虚拟的设置中扩展虚拟机的磁盘容量,根据需要更改虚拟机的磁盘大小,更改后虚拟机不会自动更改内存大小,需要自己进行磁盘分区的设置。 二、进行磁盘分区,首先输入sudo fdisk -l命令查看当前磁盘分区,注意看Disk的名称。 三、输入sudo fdisk /dev/sda命令进入fdisk命令 阅读全文

posted @ 2021-08-19 10:21 能量星星 阅读(2099) 评论(0) 推荐(0) 编辑

2020年9月18日

linux ftp服务器配置

摘要: 设置匿名登录,而且可以直接向服务器上传文件: 修改vsftpd.conf文件: anon_umask=022 匿名用户上传文件的mask,如果不设置此项,则匿名用户上传的文件匿名用户无法下载 anon_upload_enable=YES 允许匿名用户上传文件 chmod -R 755 /var/ft 阅读全文

posted @ 2020-09-18 17:44 能量星星 阅读(145) 评论(0) 推荐(0) 编辑

2020年7月27日

muduo配置

摘要: 1.配置环境 操作系统:centos 7.7 muduo版本:https://github.com/chenshuo/muduo v2.2 安装依赖库:yum install bzip2 bzip2-devel bzip2-libs python-devel protobuf 2.安装boost库 阅读全文

posted @ 2020-07-27 14:16 能量星星 阅读(150) 评论(0) 推荐(0) 编辑

samba安装

摘要: 1.安装samba yum -y install samba 2.编辑配置文件 vi /etc/samba/smb.conf 添加以下配置: [share] path = /home/temp available = yes browseable = yes public = yes writabl 阅读全文

posted @ 2020-07-27 13:53 能量星星 阅读(133) 评论(0) 推荐(0) 编辑

2020年6月10日

递归锁和非递归锁

摘要: 1.递归锁和非递归锁含义 递归锁:在同一个线程可以多次获取同一个锁,不会产生死锁。 非递归锁:在同一个线程中,加锁后不可以再次获取该锁,如果获取可能产生死锁。 2.常用锁的递归和非递归属性 linux下的pthread_mutex_t是非递归锁,但是可以通过在创建互斥量时设置PTHREAD_MUTE 阅读全文

posted @ 2020-06-10 22:17 能量星星 阅读(1076) 评论(0) 推荐(0) 编辑

2020年5月10日

nginx配置ssl

摘要: 1.安装openssl开发环境 1. yum install openssl2. yum install openssl-devel 2.生成私钥和证书 // 1.生成私钥openssl genrsa -out 254.key 1024 // 2.生成CSR(证书签名请求)openssl req - 阅读全文

posted @ 2020-05-10 22:35 能量星星 阅读(1485) 评论(0) 推荐(0) 编辑

2020年4月19日

go开发环境配置

摘要: 1.windows go安装 “D:\project\”是windows的共享目录。 【1】安装go [1]从地址:https://golang.google.cn/dl/,下载go1.13.10.windows-amd64.msi,下载后双击安装,安装路径为“D:\project\go_proje 阅读全文

posted @ 2020-04-19 21:17 能量星星 阅读(681) 评论(0) 推荐(0) 编辑

2020年4月16日

github - p2psteam配置开发

摘要: 1.环境配置 [1]安装epel源,并且更新repo yum install epel-release yum clean all yum makecache yum update [2]安装python yum install python yum install python-pip pip i 阅读全文

posted @ 2020-04-16 11:21 能量星星 阅读(478) 评论(0) 推荐(0) 编辑

2019年11月27日

vmvare安装

摘要: 1.所需软件包 1.VMware_Workstation_7.zip [vmware7 精简版] 2.CentOS-6.3-x86_64-minimal.iso [centos-6.3 镜像文件] 3.VMwareTools-10.0.5-3228253.zip [VMwareTools,解压后得到 阅读全文

posted @ 2019-11-27 09:18 能量星星 阅读(308) 评论(0) 推荐(0) 编辑

2019年11月5日

HMAC-MD5算法

摘要: 1.HMAC算法 HMAC是一种基于Hash函数和密钥进行消息认证的方法,通过这个算法可以保证通信双方之前交互的消息来自对方并且没有被篡改。 HMAC的作用: [1]可以保证消息不被篡改,因为有Hash算法来保证。 [2]认证信源身份,因为有密钥来保证。 即所谓HMAC算法就是通过提供一个Hash函 阅读全文

posted @ 2019-11-05 17:37 能量星星 阅读(6163) 评论(0) 推荐(1) 编辑

2019年9月12日

校验和计算方法

摘要: 1.说明 校验和覆盖的内容: IP校验和:IP首部。 ICMP校验和:ICMP首部+ICMP数据; UDP、TCP校验和:首部+数据+12个字节伪首部(源IP地址、目的IP地址、协议、TCP/UDP包长)。 2.计算校验和的步骤 [1]把校验和字段设置为0。 [2]把需要校验的数据看成以16位为单位 阅读全文

posted @ 2019-09-12 09:30 能量星星 阅读(1904) 评论(1) 推荐(1) 编辑

数据帧、MSS、IP分片

摘要: 1.以太网帧 在以太网链路上的数据包称作以太帧,在802.3标准里,规定了一个以太帧的数据部分(Payload)的最大长度是1500个字节(MTU),再加上14字节链路头和4字节的FCS,所以以太网帧的最大长度为1518。另外,以太网帧的最小长度为64字节。 [1]4字节的FCS是网卡处理的,所以抓 阅读全文

posted @ 2019-09-12 09:28 能量星星 阅读(503) 评论(0) 推荐(0) 编辑

2019年6月21日

UDP

摘要: 1.udp基本说明 udp报文是基于数据包的,即一次sendto()对应一次recvfrom()。 如果调用一次sendto()发送4096个字节,则发送方会进行ip分片发送给接收方,接收方ip重组后交给应用层,应用层调用recvfrom()时传入的buffer长度至少为4096,如果少于4096则 阅读全文

posted @ 2019-06-21 10:55 能量星星 阅读(612) 评论(0) 推荐(0) 编辑

2019年5月29日

C++基础

摘要: 1.fgets、feof用法 char *fgets(char *s, int size, FILE *stream); [1]该函数每次读取一行,读到'\n'时结束,或者读到EOF时结束。 [2]最多读取size - 1个字节,留一个字节设置'\0',如果一行的长度大于size - 1,则下次读取 阅读全文

posted @ 2019-05-29 17:47 能量星星 阅读(195) 评论(0) 推荐(0) 编辑

2019年4月16日

iTunes使用方法

摘要: 1.资料库和iTunes Media文件夹 资料库就是存放资料配置的地方,里面存放了一个设备的配置信息,正常iTunes Media也在其中。 iTunes Media就是存放歌曲的文件夹。 因此,资料库是一个整体,里面包含了配置文件和iTunes Media。 正常不用在itunes程序中配置iT 阅读全文

posted @ 2019-04-16 10:28 能量星星 阅读(894) 评论(0) 推荐(0) 编辑

2019年4月15日

ab测试工具

摘要: 1.ab结果输出解释 阅读全文

posted @ 2019-04-15 17:30 能量星星 阅读(233) 评论(0) 推荐(0) 编辑

2019年3月29日

Linux进程环境表

摘要: 1.环境表 每个进程都有一个环境表,存储当前进程的环境变量。每个环境变量由“name=value”这样的字符串组成。环境表的内存布局: 2.环境表的操作函数 char * getenv(const char *name); 该函数用来获取名字为name的环境变量值,不存在时返回NULL。 int p 阅读全文

posted @ 2019-03-29 10:31 能量星星 阅读(420) 评论(0) 推荐(0) 编辑

2019年3月27日

Linux信号机制

摘要: 1.信号本质 信号是进程间通信机制中唯一的异步通信机制,在软件层次上是对中断机制的一种模拟。即信号类似软中断。 信号和软中断的区别: [1]中断有优先级,而信号没有优先级。 [2]信号处理程序是在用户态下运行的,而中断处理程序是在核心态下运行。 [3]中断响应是及时的,而信号响应通常都有较大的时间延 阅读全文

posted @ 2019-03-27 11:50 能量星星 阅读(466) 评论(0) 推荐(0) 编辑

2019年3月21日

Linux惊群

摘要: 1.惊群 惊群即当某一资源可用时,导致多个进程/线程去竞争资源。惊群会导致的问题: [1]导致n-1个进程/线程做了无效的调度和上下文切换,cpu瞬时增高。 [2]多个进程/线程争取资源同步(加解锁)时造成的系统开销。 当前Linux存在的惊群情况有:accept、epoll、条件变量导致的多线程惊 阅读全文

posted @ 2019-03-21 17:08 能量星星 阅读(401) 评论(0) 推荐(0) 编辑

2019年3月20日

gcc和g++

摘要: 1.GCC、gcc、g++ gcc和GCC是两个不同的东西: GCC:GNU Compiler Collection(GUN 编译器集合),它可以编译C、C++、JAV、Fortran、Pascal、Object-C、Ada等语言。 gcc:GCC中的GUN C Compiler(C 编译器)。 g 阅读全文

posted @ 2019-03-20 16:01 能量星星 阅读(396) 评论(0) 推荐(0) 编辑

c++单例模式

摘要: 1.实现方法 [1]把构造函数设置为private,因此不能在外部创建实例,并且提供一个public方法访问实例。 [2]把析构函数是private和public都可以,private时需要定义一个垃圾回收类自动销毁这个实例,public时可以手动delete。 2.单实例销毁的方法 【1】把单例对 阅读全文

posted @ 2019-03-20 14:56 能量星星 阅读(171) 评论(0) 推荐(0) 编辑

2019年3月19日

c++对象内存管理

摘要: 1.基础 每个对象有独立的数据成员(非static),但是内存中成员函数只有一份,该类的所有对象共享成员函数。 static数据成员属于类,该类的所有对象共享static数据成员,static数据成员存储在静态存储区。对象数据成员依据创建对象的方式不同,可能存在于栈上或者堆上。成员函数存储在代码段。 阅读全文

posted @ 2019-03-19 15:30 能量星星 阅读(499) 评论(0) 推荐(0) 编辑

c++内存对齐

摘要: 1.为什么要内存对齐 内存存取粒度:大部分处理器并不是按字节块来存取内存的.它一般会以双字节,四字节,8字节,16字节甚至32字节为单位来存取内存,我们将上述这些存取单位称为内存存取粒度。 以4字节作为存取粒度的处理器,只能从地址为4的倍数的内存开始读取数据。 假如一个int变量存放在从地址1开始的 阅读全文

posted @ 2019-03-19 15:10 能量星星 阅读(138) 评论(0) 推荐(0) 编辑

STL—set

摘要: 1.set set底层用红黑树实现(每个元素的值都唯一,而且系统能根据元素的值自动进行排序)。并且set里面的元素是只读的,不可以直接修改,因为直接修改会破坏红黑树的结构。 由于使用红黑树,所以set的访问操作的时间复杂度是O(log(N))。 set的操作,例如插入、删除,并不需要执行内存拷贝和内 阅读全文

posted @ 2019-03-19 11:19 能量星星 阅读(186) 评论(0) 推荐(0) 编辑

2019年3月16日

c++模板

摘要: 1.模板 模板的声明有两种:template <typename Type>或者template<class Type>,虽然建议使用typename以避免二义性,但是这两种实际上是都可以的。 函数模板: template <class type> ret-type func-name(parame 阅读全文

posted @ 2019-03-16 14:14 能量星星 阅读(209) 评论(0) 推荐(0) 编辑

2019年3月14日

c++虚表

摘要: 1.虚表 基类指针可以指向基类对象,也可以指向派生类对象,实现多态的时候,是用基类指针指向一个派生类对象。 在同一个基类指针上调用同一个虚函数,会因为基类指针实际指向的对象不同而调用不同的函数,这就是所谓多态,基类指针只不过是个普通指针变量而已,所以靠这个指针是无法知道究竟应该调用哪个函数的。从头到 阅读全文

posted @ 2019-03-14 09:39 能量星星 阅读(1077) 评论(0) 推荐(0) 编辑

2019年3月13日

STL—vector

摘要: 1.vector vector相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的。 2.方法 size() 当前容器中元素的个数。 capacity() 当前容器的容量,包括已用和可用的大小。 resize(Container::size_ty 阅读全文

posted @ 2019-03-13 16:46 能量星星 阅读(111) 评论(0) 推荐(0) 编辑

2019年3月8日

C++拷贝构造函数

摘要: 1.拷贝构造函数 拷贝构造函数的名称必须和类名称一致,它的唯一的一个参数是本类型的一个引用变量。 拷贝构造函数必须以引用的方式传递参数。这是因为,在值传递的方式传递给一个函数的时候,会调用拷贝构造函数生成函数的实参,这样就会无限循环的调用下去,直到函数的栈溢出。 如果在类中没有显式地声明一个拷贝构造 阅读全文

posted @ 2019-03-08 16:44 能量星星 阅读(148) 评论(0) 推荐(0) 编辑

C++内存管理—new、delete

摘要: 1.new和delete new的内部执行顺序: [1]调用operator new函数,该函数里面调用malloc申请内存。 [2]调用类的构造函数。 delete的内部执行顺序: [1]调用类的析构函数。 [2]调用operator delete函数,该函数里面调用free释放内存。 opera 阅读全文

posted @ 2019-03-08 15:52 能量星星 阅读(294) 评论(0) 推荐(0) 编辑

STL—map、hash_map、unordered_map

摘要: 1.基本定义 map底层是用红黑树实现的,查找时间复杂度是O(log(n)); hash_map底层是用hash表存储的,查询时间复杂度是O(1); unordered_map和hash_map基本一样,只是unordered_map已经加到C++11标准(编译时添加编译选项:--std=c++11 阅读全文

posted @ 2019-03-08 11:29 能量星星 阅读(2396) 评论(0) 推荐(0) 编辑

2019年3月7日

动态绑定和静态绑定

摘要: 1.静态类型和动态类型 为了支持c++的多态性,才用了动态绑定和静态绑定。理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误。 对象的静态类型:对象在声明时的类型,是在编译期确定的。 对象的动态类型:当前所指向对象的类型,是在运行期决定的。对象的动态类型可以更改,但是静态类型无法更改 阅读全文

posted @ 2019-03-07 16:50 能量星星 阅读(295) 评论(0) 推荐(0) 编辑

2019年3月6日

C++重载、重写、虚函数、多态

摘要: 1.重载、重写、重定义 重载:在同一个类中,函数名相同,参数列表不同,编译器会根据这些函数的不同参数列表,将同名的函数名称做修饰,从而生成一些不同名称的预处理函数,未体现多态。 重写:子类重新定义父类中有相同名称相同参数的虚函数,主要是在继承关系中出现的,被重写的函数必须是virtual的,如果vi 阅读全文

posted @ 2019-03-06 17:10 能量星星 阅读(233) 评论(0) 推荐(0) 编辑

2019年3月5日

Linux进程调度

摘要: 1.调度 调度的重点是CPU处理任务的各种策略,线程实际上是共享一些资源的一系列进程而已,因此线程就是轻量级进程,因此在Linux中,线程的调度是按照进程的调度方式来进行调度的,也就是说线程是调度单元。 关于进程和线程的优先级: 进程的优先级取值范围是[-20, 20],值越低表示优先权越高,分给进 阅读全文

posted @ 2019-03-05 15:25 能量星星 阅读(1066) 评论(1) 推荐(0) 编辑

2019年3月4日

linux内存管理

摘要: 1.内存管理概述 虚拟地址又叫线性地址。linux没有采用分段机制,所以逻辑地址和虚拟地址(线性地址)是一个概念。内核的虚拟地址和物理地址,大部分只差一个线性偏移量。用户空间的虚拟地址和物理地址则采用了多级页表进行映射,但仍称之为线性地址。 2.进程内存空间 毫无疑问,所有进程都必须占用一定数量的内 阅读全文

posted @ 2019-03-04 14:38 能量星星 阅读(289) 评论(0) 推荐(0) 编辑

iptables和netfilter

摘要: 1.iptables和netfilter说明 netfilter/iptables组成Linux平台下的包过滤防火墙,iptables是用户空间的管理工具,netfilter是内核空间的包处理框架。 2.数据包处理流程 首先数据包进入PREROUTING链,之后根据路由决策进入INPUT(本机)还是 阅读全文

posted @ 2019-03-04 14:09 能量星星 阅读(523) 评论(0) 推荐(1) 编辑

红黑树

摘要: 1.红黑树的意义 二叉查找树在极端的插入情况下,操作时间复杂度会变为O(n),但是平衡二叉树可以一直维持在O(lg(n))。因此平衡二叉查找树的效率很高,红黑树是一种自平衡二叉查找树的实现方式,这便是红黑树的意义。 2.红黑树性质 [1]节点是红色或黑色。 [2]根节点是黑色。 [3]每个叶节点(N 阅读全文

posted @ 2019-03-04 14:03 能量星星 阅读(164) 评论(0) 推荐(0) 编辑

SOCKET编程(1)——接口函数

摘要: 1.AF_INET、PF_INET: AF表示address families 地址簇,表示某个地址属于哪个簇,例如结构体struct sockaddr_in addr,里面的sin_family就是AF_INET,表示变量addr的地址簇是AF_INET。sockaddr_in的in就是表示是in 阅读全文

posted @ 2019-03-04 11:31 能量星星 阅读(432) 评论(0) 推荐(0) 编辑

TCP——(1)

摘要: 1.TCP协议分析流程 [1]要分析整个TCP协议,需要从外向里去分析,首先就是分析af_inet.c,这个里面就是inet的接口函数,例如bind()、listen()等等,之后就是弄清楚这些函数(函数的参数)是要干什么。 [2]之后继续分析TCP的握手流程。 [3]之后继续分析TCP的数据传输流 阅读全文

posted @ 2019-03-04 11:24 能量星星 阅读(486) 评论(0) 推荐(0) 编辑

导航