自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (2)
  • 收藏
  • 关注

转载 Shell Expect 命令

expect command

2023-08-04 15:10:25 962

转载 JAVA Abstract 与 Interface 区别

要点一、首先,abstract class在Java语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。也许,这是Java语言的设计者在考虑Java对于多重继承的支持方面的一种折中考虑吧。 其次,在abstract class的定义中,我们可以赋予方法的默认行为。但是在interface的定义中,方法却不能拥有默认行为,为了绕过这个限制,必须使用委托,但是这会 增加一些复杂性,有时会造成很大的麻烦。 在抽象类中不能定义默认行为还存在另一个..

2022-03-15 14:43:41 258

转载 了解Docker 和K8S

Docker和K8S2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫“dotCloud”的公司。这家公司主要提供基于PaaS的云计算技术服务。具体来说,是和LXC有关的容器技术。LXC,就是Linux容器虚拟技术(Linux container)后来,dotCloud公司将自己的容器技术进行了简化和标准化,并命名为——Docker。Docker技术诞生之后,并没有引起行业的关注。而dotCloud公司,作为一家小型创业企业,在激烈的竞争之下,也步履维艰。正.

2022-02-16 15:06:36 131

原创 JAVA 深拷贝工具类

JAVA 深拷贝工具类import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;import java.util.List;...

2021-10-13 16:40:17 1427

原创 c++ 重载 覆盖 隐藏

一、函数重载的概念     C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,即函数的参数列表不同,也就是说用同一个运算符完成不同的运算功能。这就是重载函数。重载函数常用来实现功能类似而所处理的数据类型不同的问题。成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)vir...

2019-01-16 16:28:46 154

原创 sizeof求值问题(结构体,数组,联合体,指针,函数)

结构体的sizeof结构体的sizeof涉及到字节对齐问题。为什么需要字节对齐?计算机组成原理教导我们这样有助于加快计算机的取数速度,否则就得多花指令周期了。为此,编译器默认会对结构体进行处理(实际上其它地方的数据变量也是如此),让宽度为2的基本数据类型(short等)都位于能被2整除的地址上,让宽度为4的基本数据类型(int等)都位于能被4整除的地址上,依次类推。这样,两个数中间就可能需...

2018-11-12 15:15:35 4415

转载 c++ 类 线程函数使用

C++中 线程函数为静态函数 及 类成员函数作为回调函数 线程函数为静态函数:  线程控制函数和是不是静态函数没关系,静态函数是在构造中分配的地址空间,只有在析构时才释放也就是全局的东西,不管线程是否运行,静态函数的地址是不变的,并不在线程堆栈中static只是起了一个装饰的作用,所以二者并没有必然的关系  线程也是一种资源,是受系统调度的。因此,你必须要让系统知道你的线程的起始位置,...

2018-10-22 10:29:41 2061

转载 pthread_cond_wait 与 pthread_mutex_lock 合作使用详解。

    通常,和pthread _cond_wait 配对使用的有pthread_cond_signal 和pthread_cond_broatcast, 同时还有用于pthread_cond_t初始化的pthread_cond_init,销毁的pthread_cond_destroy函数,还有用于加锁保护的pthread_mutex_lock和pthread_mutex_unlock,稍后会对为...

2018-09-21 16:28:11 3123

原创 gdb 调试+子进程+线程

一、gdb常用指令:gcc -g main.c //在目标文件加入源代码的信息gdb a.out (gdb) start //开始调试(gdb) n //一条一条执行(gdb) step/s ...

2018-09-19 15:30:17 2679

原创 linux 10 次顺序打印ABC

#include <stdio.h>#include <pthread.h>#define TIMES 10int condition = 'A';pthread_cond_t condA,condB,condC;pthread_mutex_t mutex;void* funA(void* a){        int runA =1;       ...

2018-09-03 16:09:11 296

转载 socket 编程

“一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有...

2018-08-14 15:55:27 132

原创 主机字节序,网络字节序,大小端问题笔记。

理解:我们知道大小端是指数据在内存中不同的存放方式,不同的处理器数据存放的方式不同。实现跨平台通信则不能忽视大小端问题,类如IBM、PowerPC是大端模式,而我们常用的 x86 CPU (intel, AMD) 电脑是 little-endian,也就是整数的低位字节放在内存的低字节处。举个例子吧。假定你的数据是0x1234,在网络字节顺序里 这个数据放到内存中就应该显示成

2017-12-08 11:05:18 311

原创 tcp udp 的粘包 断包分析

此篇分析来来自于一次面试经历,面试官问对于断包问题tcp跟udp分别的处理方式?然后我就在这里总结下粘包断包问题。一,从TCP与UDP的区别讲起网络数据经过路由器,如果数据很小,没有超过路由器的封包大小,就会直接直接经过路由器到达下一个路由器,一层一层最终到达目的地如果数据很大,这里指一个发送,超过了路由器的封包大小,那么路由器就会把这个数据包进行拆分,比如拆分成A B C三个包,这三个包...

2017-11-29 16:18:41 1351

原创 c++ 程序 内存分布

1.内存分配方式   内存分配方式有三种:  [1]从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。  [2]在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。  [3]从堆上分配,

2017-11-24 10:37:44 233

原创 多线程同步 顺序打印数字 线程条件变量

先把条件变量函数甩出来,//等待条件int pthread_cond_wait(pthread_cond_t *restrict cond, pthread_mutex_t *restric mutex);1:把调用线程放到所等待条件的线程列表上2:对传进来已经加过锁的互斥量解锁3:线程进入休眠状态等待被唤醒注:1、2步为原子操作//通知条件int pthread_co

2017-11-22 10:52:29 329

转载 如何理解 4G LTE 网络不能承载语音通话,只能提供数据服务?

这个问题要从移动核心网的角度来理解。我们平时说的WCDMA、TD-SCDMA、TD-LTE其实通常指空口技术,即从手机到基站的通信技术。而移动通信的核心控制部分,则由核心网完成——如何在两个基站间建立起语音连接?何时给拨号方返回嘟嘟的线音?何时给接收方发出振铃?如何判断一个用户是否开通了呼叫转移业务,如何实现?如何建立从手机到因特网服务器的数据连接?如何判断用户是3G用户还是LTE用户? 这些

2017-11-13 10:22:07 5567 1

转载 pom.xml 全解析文档

project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd

2017-10-24 14:57:05 175

原创 c++ 指针数组,数组指针

好长时间没用到了,突然用到时还会有点晕针,总结一下以备不时之需。中文咬文嚼字太多容易让人晕,从英文理解起来容易的多。指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针数组指针:a pointer to an array,即指向数组的指针还要注意的是他们用法的区别,下面举例说明。int* a[4]     指针数组             

2017-10-17 11:07:48 210

原创 Linux 静态库 动态库 分析

关于Linux静态库和动态库的分析1.什么是库在windows平台和linux平台下都大量存在着库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的本质不同,因此二者库的二进制是不兼容的。本文仅限于介绍linux下的库。2.库的种类linux下的库有两种:静态库和共享库(动态库)。二者的不同点在于

2017-10-16 13:59:37 223

转载 linux 如何编译 静态库,动态库

linux下生成并使用静态库与动态库的方法:(由于是C++项目,所以编译器用的g++,但是与gcc的使用是相通的)  首先是准备工作,把我们需要封装成库文件的函数的头文件与源文件写好,如下://myAPI.hint ADD(int a, int b);int MINUS(int a, int b);//myAPI.cpp#include "myAPI.h"in

2017-10-16 10:54:00 518

转载 c++ const

C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用  如下表所示:No.作用说明参考代码

2017-09-07 16:26:13 138

c++ 线程池 即用版

用c++ 实现的线程池工程,可直接使用,其中线程数目可根据空闲情况自增减,并且实现线程跟任务无关联。

2018-12-21

NppAstyle 插件

nppastyle 是notepad++ c/c++/java 格式化工具。 下载Notepad++并安装NppExec插件。 插件--->Plugin Manager--->show Plugin Manager--->安装NppAStyle插件。 2或者直接下载NppAStyle插件。 我们选择下载NppAStyle_bin_0.10.02.14.zip这个文件。 步骤阅读.3下载后我们打开这个压缩文件,发现有两个文件夹ansi和unicode(ansi是标准编码,支持语言少;unicode是通用编码,支持更多的语言)。 打开unicode文件夹,将里面的NppAStyle.dll解压出来,将NppAStyle.dll放置到Notepad++安装目录下的plugins文件夹下。 步骤阅读.4重启Notepad++看NppAStyle是否安装成功,看到如图所示的信息就说明安装成功。 步骤阅读.5配置NppAStyle。 点击菜单栏中的"插件"--->"NppAStyle"--->"options",在代码风格中选择java。 步骤阅读.6点击菜 单栏中的"插件"--->"NppAStyle"--->"Format code"(或者按快捷键Alt+f),欣赏格式化后的代码风格。 步骤阅读.步骤阅读.7体验不同的代码风格并选择自己中意的某种代码风格。 重复第4步骤,例如将代码风格选中ANSI,按下快捷键Alt+f,欣赏格式化后的代码风格,并与第5步骤中格式化后的代码风格相比较。 步骤阅读.步骤阅读.8特别要注意:目前NppAStyle插件只支持格式化C、C++、C#、Java这四种编程语言的代码。

2018-12-19

空空如也

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

TA关注的人

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