- 博客(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
142
转载 synchronized方法的安全问题
1常见问题 synchronized方法是一种常用的线程同步方法,在我们代码中多处使用。但是使用不当的情况下容易引入安全问题,因此《Java编码安全Checklist_V2.0》中专门设置了一个检查项: 与非信任代码交互的类的同步操作要使用私有的、无法被非信任代码访问与修改的...
2016-12-21 11:28:00
657
转载 java 序列化反序列化
www.cnblogs.com/xdp-gacl/p/3777987.html 转载于:https://my.oschina.net/u/1413984/blog/808758
2016-12-20 10:01:00
128
转载 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
193
转载 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
84
转载 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
127
转载 辨别系统是大端模式还是小端模式
#include <iostream> #include <stdio.h> typedef union{ unsigned short value; unsigned char bytes[2]; }Test; int main...
2016-07-11 15:13:00
360
转载 linux系统并发tcp连接数
在linux下编写网络服务器程序的朋友肯定都知道每一个tcp连接都要占一个文件描述符,一旦这个文件描述符使用完了,新的连接到来返回给我们的错误是“Socket/File:Can't open so many files”。 在BSDCan2014 会议上, Patrick Kel...
2016-07-11 11:31:00
111
转载 TCP state transform
TCP state: Client: SYN_SENT (发送连接请求后等待匹配的连接请求) -> ESTABLISHED(代表一个打开的连接) -> FIN_WAIT_1(发送关闭连接请求后等待对方确认) -> FIN_WAIT_2(收到服务器的ACK后客户...
2016-07-11 11:30:00
139
转载 extern "C"
试想这样的情况:一个库文件已经用C写好了而且运行得很良好,这个时候我们需要使用这个库文件,但是我们需要使用C++来写这个新的代码。如果这个代码使用的是C++的方式链接这个C库文件的话,那么就会出现链接错误.我们来看一段代码:首先,我们使用C的处理方式来写一个函数,也就是说假设这个函数当时是用C...
2015-07-16 15:28:00
120
转载 Xcode 项目中我们可以使用 ARC 和非 ARC 的混合模式。
【前提知识】 ARC:Automatic Reference Counting,自动引用计数 在开发 iOS 3 以及之前的版本的项目时我们要自己负责使用引用计数来管理内存,比如要手动 retain、release、autorelease 等,而在其后的版本可以使用 ARC,让系统自己管理...
2015-03-05 15:27:00
83
转载 retain/copy/assign的含义
讲一下retain/copy/assign的含义 NSString *pt = [[NSString alloc] initWithString:@"abc"]; 上面一段代码会执行以下两个动作1 在堆上分配一段内存用来存储@"abc"比如:内存地址为:0X1111 内容为 "abc...
2015-02-02 18:03:00
86
转载 xcode memory leaks instruments
当你遇到了一个EXC_BAD_ACCESS错误,我通常会给开发者几个建议: 1.在可执行选项中设置NSZombieEnabled参数,这有时会帮缩小问题的范围; 2.运行apple的内存检测工具,如Leaks,以便寻找内存问题; 3设定一个断点,单步运行代码,直到你找...
2014-11-14 10:22:00
120
转载 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
389
转载 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
109
转载 macPorts homebrew
MacPorts和Homebrew都是Mac OS X上的软件包管理工具 (viaWikipedia),且它们之间是不兼容的.个中好处就不介绍了,这里要说的是删除MacPorts并安装Homebrew. 准备条件: Mac是自带Ruby程式的,如果你之间”处理”过它,记得要确保它的...
2014-08-20 09:56:00
148
转载 QT自定义事件使用摘抄
初学Qt,用了Qt自带的事件,然后想怎么才能定义自己的事件呢?又如何使用自定义事件呢?看了篇文章,说先要子类化QEvent,然后定义自己的QEvent::Type,然后重写QWidget::event()函数,然后就可以调用QCoreApplication::sendEvent()或者QCor...
2014-06-12 15:26:00
92
转载 volatile
volatile volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。使用该关键字的例子如下: int vola...
2014-06-12 14:40:00
93
转载 路由标志位简介
Linux路由表路由属性标志(flags) 执行route或netstat-r命令,即可查看当前路由表情况: #route KernelIPoutingtable DestinationGatewayGenmask...
2014-06-11 11:30:00
1244
转载 macos system tools
/usr/sbin/networksetup -listallnetworkservices /usr/sbin/networksetup -listallnetworkservices |/usr/sbin/networksetup -getinfo 查看,设置睡眠模式 pms...
2014-06-05 18:04:00
131
转载 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
1196
转载 色色的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
3359
转载 command >/dev/null 2>&1
在学习Linux的过程中,常会看到一些终端命令或者程序中有">/dev/null 2>&1 "出现,由于已经遇到了好几次了,为了理解清楚,不妨花点时间百度或者google一下相关的知识。 0:表示键盘输入(stdin)1:表示标准输出(stdout),系统默认是1 ...
2014-03-05 11:16:00
57
转载 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
194
转载 同步异步阻塞非阻塞
同步与异步同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由*调用者*主动等...
2014-02-21 11:21:00
73
转载 linux strings 和nm命令工具
strings 一.简介: 显示文件中的可打印字符 二.用法 strings [option(s)] [file(s)] 选项说明: -a – –all 扫描整个文件而不是只扫描目标文件初始化和装载段(缺省时,是只扫描初始化和装载段) -f –print-file-name 在显...
2014-02-14 11:23:00
363
转载 Makefile有三个非常有用的变量。分别是$@,$^,$<代表的意义分别是:
假设我们有下面这样的一个程序,源代码如下: /*main.c*/#include"mytool1.h"#include"mytool2.h"intmain(intargc,char**argv){mytool1_print...
2014-02-12 15:43:00
99
转载 Mac OSX创建动态链接库
Windows——.DLL;Linux——.so;MacOSX——.dylib;.dylib是Mach-O格式,也就是MacOSX下的二进制文件格式。MacOSX提供了一系列工具,用于创建和访问动态链接库。编译器/usr/bin/cc,也就是gcc了,Apple改过的。这个主要还是...
2014-02-12 15:38:00
722
转载 gcc -l参数和-L参数
-l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so去掉就是库名了 好了现在我们知道怎么得到库名,当我们自已要用到一个第三方提供的库名字l...
2014-02-12 15:36:00
60
转载 .so动态库的编译与使用
动态链接库*.so的编译与使用- -动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一直不太了解得东东,这里做个笔记,也为其它正为动态库链接库而苦恼的兄弟们提供一点帮助。1、动态库的编译下面通过一个例子来介绍如何生成一个...
2014-02-12 15:34:00
163
转载 linux 静态库的生成与使用
库是一种软件组件技术,库里面封装了数据和函数。 库的使用可以使程序模块化。 Windows系统包括静态链接库(.lib文件)和动态链接库(.dll文件)。 Linux通常把库文件存放在/usr/lib或/lib目录下。 Linux库文件名由:前缀lib、库名和后缀3部分组成,其中动态链...
2014-02-12 15:33:00
63
转载 memcpy memmove区别
memcpy与memmove的目的都是将N个字节的源内存地址的内容拷贝到目标内存地址中。 但当源内存和目标内存存在重叠时,memcpy会出现错误,而memmove能正确地实施拷贝,但这也增加了一点点开销。 memmove的处理措施: (1)当源内存的首地址等于目标内存的首地址时,不进行任...
2014-02-12 15:31:00
83
转载 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
100
转载 内存对齐
内存对齐: 1、数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员的对齐按照#pragma pack指定的数值和这个数据成员自身长度中,比较小的那个进行。 2、结构(或联合)的整体对齐规则:在数据成员完成...
2014-02-12 13:52:00
80
转载 https/ssl 工作原理
此前我一直对https/ssl如何保护数据不被窃听有点疑问,因为服务器的证书是公开的,只能实行上行方向的数据加密,下行数据的加密我一直认为是浏览 器会自动生成一个客户端的密钥对并将公钥发给服务器。今天仔细研究了https/ssl,发现其实并不像我想的那样,这里面既有非对称加密,又因为性能原 因...
2014-02-12 13:51:00
167
转载 Java 中volatile的作用
Java 中volatile的作用 用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致 的情况。volatile就是用来避免这种情况的。volatile告诉jvm, 它所修饰...
2014-02-12 13:48:00
96
转载 java synchronized 方法简介
synchronized 方法:通过在方法声明中加入 synchronized关键字来声明 synchronized 方法。如: public synchronized void accessVal(int newVal); synchronized 方法控制对类成员变量的访问:每个...
2014-02-12 13:46:00
80
转载 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
131
转载 #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
104
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人