自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 线程安全的单例模式

template<class T> class singleton { private: singleton(){}; static T* m_instance; static pthread_mutex_t mutex; public: stat...

2017-12-13 19:28:00 117

转载 synchronized方法的安全问题

1常见问题 synchronized方法是一种常用的线程同步方法,在我们代码中多处使用。但是使用不当的情况下容易引入安全问题,因此《Java编码安全Checklist_V2.0》中专门设置了一个检查项: 与非信任代码交互的类的同步操作要使用私有的、无法被非信任代码访问与修改的...

2016-12-21 11:28:00 574

转载 java 序列化反序列化

www.cnblogs.com/xdp-gacl/p/3777987.html 转载于:https://my.oschina.net/u/1413984/blog/808758

2016-12-20 10:01:00 102

转载 C++ sizeof空累 继承空类

class C1{ }; class C2{ }; class C3: public C2{ }; class C4: public virtual C3{ }; class C5: public C2, public C3{ }; class...

2016-08-03 12:30:00 164

转载 c++ 构造函数 析构函数调用

class A1 { public: A1(){printf("1 ");} ~ A1(){printf("2 ");} }; class A2:A1 { public: A2(){printf("3 ");} ~A2(){printf("4...

2016-08-03 10:34:00 69

转载 http keep_alive tcp keep_alivee区别

1、HTTP Keep-Alive 在http早期,每个http请求都要求打开一个tpc socket连接,并且使用一次之后就断开这个tcp连接。 使用keep-alive可以改善这种状态,即在一次TCP连接中可以持续发送多份数据而不会断开连接。通过使用keep-alive机制,可以减少tcp...

2016-07-15 10:06:00 107

转载 辨别系统是大端模式还是小端模式

#include <iostream> #include <stdio.h> typedef union{ unsigned short value; unsigned char bytes[2]; }Test; int main...

2016-07-11 15:13:00 327

转载 linux系统并发tcp连接数

在linux下编写网络服务器程序的朋友肯定都知道每一个tcp连接都要占一个文件描述符,一旦这个文件描述符使用完了,新的连接到来返回给我们的错误是“Socket/File:Can't open so many files”。 在BSDCan2014 会议上, Patrick Kel...

2016-07-11 11:31:00 89

转载 TCP state transform

TCP state: Client: SYN_SENT (发送连接请求后等待匹配的连接请求) -> ESTABLISHED(代表一个打开的连接) -> FIN_WAIT_1(发送关闭连接请求后等待对方确认) -> FIN_WAIT_2(收到服务器的ACK后客户...

2016-07-11 11:30:00 119

转载 extern "C"

试想这样的情况:一个库文件已经用C写好了而且运行得很良好,这个时候我们需要使用这个库文件,但是我们需要使用C++来写这个新的代码。如果这个代码使用的是C++的方式链接这个C库文件的话,那么就会出现链接错误.我们来看一段代码:首先,我们使用C的处理方式来写一个函数,也就是说假设这个函数当时是用C...

2015-07-16 15:28:00 92

转载 Xcode 项目中我们可以使用 ARC 和非 ARC 的混合模式。

【前提知识】 ARC:Automatic Reference Counting,自动引用计数 在开发 iOS 3 以及之前的版本的项目时我们要自己负责使用引用计数来管理内存,比如要手动 retain、release、autorelease 等,而在其后的版本可以使用 ARC,让系统自己管理...

2015-03-05 15:27:00 67

转载 retain/copy/assign的含义

讲一下retain/copy/assign的含义 NSString *pt = [[NSString alloc] initWithString:@"abc"]; 上面一段代码会执行以下两个动作1 在堆上分配一段内存用来存储@"abc"比如:内存地址为:0X1111 内容为 "abc...

2015-02-02 18:03:00 63

转载 xcode memory leaks instruments

当你遇到了一个EXC_BAD_ACCESS错误,我通常会给开发者几个建议:   1.在可执行选项中设置NSZombieEnabled参数,这有时会帮缩小问题的范围;   2.运行apple的内存检测工具,如Leaks,以便寻找内存问题;   3设定一个断点,单步运行代码,直到你找...

2014-11-14 10:22:00 104

转载 IP address to string

#define IPSTR(ip) ((uint8_t*)(&(ip)))[0], ((uint8_t*)(&(ip)))[1], ((uint8_t*)(&(ip)))[2], ((uint8_t*)(&(ip)))[3] ...

2014-10-08 10:53:00 354

转载 IP2BYTES

uint32_t ip #define IP2BYTES(ip) \ ((unsigned char*)(&(ip)))[0], \ ((unsigned char*)(&(ip)))[1], \ ((unsigned char*)(&(ip)))[2], \ ...

2014-08-22 13:25:00 88

转载 macPorts homebrew

MacPorts和Homebrew都是Mac OS X上的软件包管理工具 (viaWikipedia),且它们之间是不兼容的.个中好处就不介绍了,这里要说的是删除MacPorts并安装Homebrew. 准备条件: Mac是自带Ruby程式的,如果你之间”处理”过它,记得要确保它的...

2014-08-20 09:56:00 104

转载 QT自定义事件使用摘抄

初学Qt,用了Qt自带的事件,然后想怎么才能定义自己的事件呢?又如何使用自定义事件呢?看了篇文章,说先要子类化QEvent,然后定义自己的QEvent::Type,然后重写QWidget::event()函数,然后就可以调用QCoreApplication::sendEvent()或者QCor...

2014-06-12 15:26:00 76

转载 volatile

volatile volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。使用该关键字的例子如下: int vola...

2014-06-12 14:40:00 73

转载 路由标志位简介

Linux路由表路由属性标志(flags) 执行route或netstat-r命令,即可查看当前路由表情况: #route KernelIPoutingtable DestinationGatewayGenmask...

2014-06-11 11:30:00 1136

转载 macos system tools

/usr/sbin/networksetup -listallnetworkservices /usr/sbin/networksetup -listallnetworkservices |/usr/sbin/networksetup -getinfo 查看,设置睡眠模式 pms...

2014-06-05 18:04:00 111

转载 syslog 输出程序的日志信息到指定的log文件

#include <fcntl.h> #include <unistd.h> #include <string> #include <syslog.h> int main( int argc, char* argv[] ) { ...

2014-05-06 15:24:00 1109

转载 色色的makefile

CR_GREEN=\x1b[0;32m #绿色,具体可直接百度shell颜色 CR_RED=\x1b[1;31m CR_RESET=\x1b[0m MAKE_BEGIN=@echo -ne "$(CR_GREEN)Compiling ...$(CR_RESET)" ...

2014-03-28 13:52:00 3233

转载 command >/dev/null 2>&1

在学习Linux的过程中,常会看到一些终端命令或者程序中有">/dev/null 2>&1 "出现,由于已经遇到了好几次了,为了理解清楚,不妨花点时间百度或者google一下相关的知识。 0:表示键盘输入(stdin)1:表示标准输出(stdout),系统默认是1 ...

2014-03-05 11:16:00 53

转载 command >/dev/null 2>&1

0:表示键盘输入(stdin)1:表示标准输出(stdout),系统默认是1 2:表示错误输出(stderr) command >/dev/null 2>&1 & == command 1>/dev/null 2>&1 & ...

2014-03-05 11:14:00 166

转载 同步异步阻塞非阻塞

同步与异步同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由*调用者*主动等...

2014-02-21 11:21:00 66

转载 linux strings 和nm命令工具

strings 一.简介: 显示文件中的可打印字符 二.用法 strings [option(s)] [file(s)] 选项说明: -a – –all 扫描整个文件而不是只扫描目标文件初始化和装载段(缺省时,是只扫描初始化和装载段) -f –print-file-name 在显...

2014-02-14 11:23:00 296

转载 linux ldd工具

转载于:https://my.oschina.net/u/1413984/blog/199264

2014-02-13 09:45:00 125

转载 Makefile有三个非常有用的变量。分别是$@,$^,$<代表的意义分别是:

假设我们有下面这样的一个程序,源代码如下: /*main.c*/#include"mytool1.h"#include"mytool2.h"intmain(intargc,char**argv){mytool1_print...

2014-02-12 15:43:00 89

转载 Mac OSX创建动态链接库

Windows——.DLL;Linux——.so;MacOSX——.dylib;.dylib是Mach-O格式,也就是MacOSX下的二进制文件格式。MacOSX提供了一系列工具,用于创建和访问动态链接库。编译器/usr/bin/cc,也就是gcc了,Apple改过的。这个主要还是...

2014-02-12 15:38:00 672

转载 gcc -l参数和-L参数

-l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so去掉就是库名了 好了现在我们知道怎么得到库名,当我们自已要用到一个第三方提供的库名字l...

2014-02-12 15:36:00 54

转载 .so动态库的编译与使用

动态链接库*.so的编译与使用- -动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一直不太了解得东东,这里做个笔记,也为其它正为动态库链接库而苦恼的兄弟们提供一点帮助。1、动态库的编译下面通过一个例子来介绍如何生成一个...

2014-02-12 15:34:00 148

转载 linux 静态库的生成与使用

库是一种软件组件技术,库里面封装了数据和函数。 库的使用可以使程序模块化。 Windows系统包括静态链接库(.lib文件)和动态链接库(.dll文件)。 Linux通常把库文件存放在/usr/lib或/lib目录下。 Linux库文件名由:前缀lib、库名和后缀3部分组成,其中动态链...

2014-02-12 15:33:00 55

转载 memcpy memmove区别

memcpy与memmove的目的都是将N个字节的源内存地址的内容拷贝到目标内存地址中。 但当源内存和目标内存存在重叠时,memcpy会出现错误,而memmove能正确地实施拷贝,但这也增加了一点点开销。 memmove的处理措施: (1)当源内存的首地址等于目标内存的首地址时,不进行任...

2014-02-12 15:31:00 71

转载 tcpdump 用法

1.监听所有非echo requests/replies的ICMP数据包 //ICMP ECHO(Type 8) 和ECHO Reply (Type 0)#tcpdump "icmp[0] != 8 and icmp[0] != 0"2.监听非本地网络的每次TCP会话开始和结束数据包#tcpd...

2014-02-12 15:29:00 86

转载 内存对齐

内存对齐: 1、数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员的对齐按照#pragma pack指定的数值和这个数据成员自身长度中,比较小的那个进行。 2、结构(或联合)的整体对齐规则:在数据成员完成...

2014-02-12 13:52:00 70

转载 https/ssl 工作原理

此前我一直对https/ssl如何保护数据不被窃听有点疑问,因为服务器的证书是公开的,只能实行上行方向的数据加密,下行数据的加密我一直认为是浏览 器会自动生成一个客户端的密钥对并将公钥发给服务器。今天仔细研究了https/ssl,发现其实并不像我想的那样,这里面既有非对称加密,又因为性能原 因...

2014-02-12 13:51:00 151

转载 Java 中volatile的作用

Java 中volatile的作用 用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致 的情况。volatile就是用来避免这种情况的。volatile告诉jvm, 它所修饰...

2014-02-12 13:48:00 75

转载 java synchronized 方法简介

synchronized 方法:通过在方法声明中加入 synchronized关键字来声明 synchronized 方法。如: public synchronized void accessVal(int newVal); synchronized 方法控制对类成员变量的访问:每个...

2014-02-12 13:46:00 70

转载 gcc 编译安装

首先在配置gcc的过程中会出现错误:gcc configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+ 说明要安装gcc需要GMP、MPFR、MPC这三个库,可从ftp://gcc.gnu.org/...

2014-02-12 13:36:00 114

转载 #change qt libs install name to executable path

#change qt libs install name to executable path install_name_tool -change $ABSPATH/externals/ext-qt-mac-10.5/lib/libQtCore.4.dylib @executable_pat...

2014-02-08 14:19:00 81

空空如也

空空如也

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

TA关注的人

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