自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 资源 (1)
  • 收藏
  • 关注

原创 使用atomic实现无锁方式的全局变量访问

【代码】使用atomic实现无锁方式的全局变量访问。

2025-04-30 17:31:30 178

原创 模板Traits与特化

【代码】模板Traits与特化。

2025-04-30 17:21:05 138

原创 benchmark测试

benchmark

2025-04-16 16:08:15 395

原创 内存池管理

内存池

2025-04-16 11:11:02 180

原创 使用自定义分区动态注册初始化函数

初始化列表

2025-04-16 10:51:47 248

原创 gtest&gmock

gmock

2025-04-16 10:42:22 179

原创 Find32

Fin32查找时间是Map查找的1/8左右,规格为1024时内存消耗1.2M,内存足够且对性能敏感时可以选择Find32查找。BenchMark测试代码(和map查找对比)

2025-04-15 10:58:21 132

原创 使用epoll实现线程(进程)间同步

线程间可以通过互斥锁,条件变量,读写锁,信号量等方式同步,本文介绍使用事件(event)结合epoll来实现线程同步的方式,Redis的IO多线程和命令处理主线程间正是用了这个方式。epoll通常用于I/O多路复用,但我们可以利用它来实现线程间同步。

2025-04-11 11:20:39 230

原创 Redis阅读笔记

参考。

2025-04-02 09:36:05 209

原创 Cmake构建工程

cmake

2025-03-25 15:27:16 67 1

转载 Linux基础 30分钟GDB调试快速突破

https://www.cnblogs.com/life2refuel/p/5396538.html前言  gdb 开始调试开始上手1. 开启core, 采集程序崩溃的状态  首先你跟着我做开启core崩溃状态采集. 可以通过 ulimit -c 查看 如果是0表示没有开启. 开启按照下面操作su rootvi /etc/profileShift +

2017-12-02 23:12:29 681 1

转载 使用GDB的源代码查看功能

在调试程序的过程中,可以自由地查看相关的源代码(如果有源代码的话)是一项最基本的特性。      一些IDE在这方面做得相当好,GDB当然也提供了这项特性,虽然不如IDE直观,但在一定程度上要比IDE更加灵活和快捷。      GDB之所以能够知道对应的源代码,是因为调试版的可执行程序中记录了源代码的位置;因为源代码的位置在编译之后可能会移动到其它地方,所以GDB还会在当前目录中查找源代码

2017-12-02 20:56:21 15139

转载 Python 包管理工具解惑

Python 包管理工具解惑原文链接:http://zengrong.net/post/2169.htm一、困惑作为一个 Python 初学者,我在包管理上感到相当疑惑(嗯,是困惑)。主要表现在下面几个方面:这几个包管理工具有什么不同?distutilssetuptoolsdistributedisutils2distlibpip

2016-10-09 00:19:53 704

原创 使用Jersey快速实现rest风格的webservice

JAVA EE6 引入的一个新技术:JAX-RS(Java API for RESTful Web Services)。这是一个Java 编程语言的应用程序接口,支持按照表述性状态转移(REST)架构风格创建Web服务。它有好几种实现方式,而Jersey是其参考实现方式。Jersey的详细介绍请参考:Jersey官网。说明:Jsersey默认使用maven框架,这里假设你已经安装好ma

2016-05-13 12:34:52 4976

原创 部署maven web项目到tomcat服务器

开发环境的搭建本文不再赘述。一,新建测试项目在eclipse中新建maven web 项目:MavenWeb01。目录一,打包在项目最顶层的pom.xml目录执行 mvn package 这个命令将生成项目的war包,如下图:三,部署1,将第一步生成的war包拷贝到tomcat的webapps目录下,没有webapps目录则新建一个。

2016-05-12 16:07:05 6504

原创 hibernate入门实例

一、准备工作1,下载hibernate。地址:http://hibernate.org/orm/downloads/2,下载数据库驱动(以MySql为例)。地址:http://www.mysql.com/downloads/3,创建一个测试数据库hibernate_first,再创建一个User表,各字段如下:二、工程实例1,新建一个普通Java工程,在Buil

2015-11-30 00:42:25 5283

原创 Java数据库操作

一、准备工作首先是部署数据库。这里以MySql为例,到官网下载MySql服务器安装包。笔者是在Windows上面测试,所以下载的是可执行的安装包,安装完后数据库服务自动启动。然后是下载数据库驱动,官网上称作MySql connectors for Java。最后是在项目的Build Path里面加入刚才下载的驱动Jar包。二、代码实例package adam;import

2015-11-29 20:38:41 628

转载 IOC之基于Java类的配置Bean

基于Java配置选项,可以编写大多数的Spring不用配置XML,但有几个基于Java的注释的帮助下解释。从Spring3.0开始支持使用java代码来代替XML来配置Spring,基于Java配置Spring依靠Spring的JavaConfig项目提供的很多优点。通过使用@Configuration, @Bean ,@Importand,@DependsOnannotations来实现Java

2015-10-02 18:16:09 1940

转载 IOC之基于注解的配置bean(下)

林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka本文工程下载一、@Autowired注解       Spring 2.5 引入了 @Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。Spring 通过一个 Be

2015-10-02 18:15:32 455

转载 IOC之bean之间的关系讲解

本文主要讲了Spring中Bean之间的关系,分为继承、依赖和引用三个类型。文章中都分别有例子和用法分析。一、继承Bean配置Spring允许继承bean的配置 ,被继承的bean称为父bean,继承这个父Bean的Bean称为子Bean子Bean从父Bean中继承配置,包括Bean的属性配置子Bean也可以 覆盖 从父Bean继承过来的配置父Bean可以作为配置模版,也可以作

2015-10-02 18:14:34 505

转载 IOC之方法注入讲解

方法注入在我看来就是为了实现在单例类中取得不同的实例类对象。        当一个Bean依赖的Bean和自己生命周期不同的时候:如Bean A依赖Bean B,Bean A 是singleton,如果需要在Bean A每次用到Bean B的时候都用一个Bean B的新的实例(注意是新的),即使通过在配置文件设置Bean B的 property或者 contructor-arg是不能实现的

2015-10-02 18:13:47 515

转载 IOC之基于注解的配置bean(上)

一、基于@Component注解的配置Spring 2.5 中除了提供 @Component 注释外,还定义了几个拥有特殊语义的注释,它们分别是:@Repository、@Service 和 @Controller。在目前的 Spring 版本中,这 3 个注释和 @Component 是等效的,但是从注释类的命名上,很容易看出这 3 个注释分别和持久层、业务层和控制层(Web 层

2015-10-02 18:12:11 457

转载 Spring之核心容器bean

摘要:Spring的核心容器实现了Ioc,其目 的是提供一种无侵入式的框架。在本文中,首先讲解了Spring的基础bean的相关知识,然后介绍了Spring是如何对bean进行管理的。        在Spring中,有2个最基本最重要的包,即org.springframework.beans 和org.springframework.context.在这两个包中实现了无侵入式的框架,代码

2015-10-02 18:11:09 2650

转载 Spring之Construcotrer注入和setter注入不同的XML写法方式

本文主要讲解了Spring中constructor注入的4种不同写法和sette的3种不同写法一、constructor注入4种不同写法   通过构造方法注入,就相当于给构造方法的参数传值set注入的缺点是无法清晰表达哪些属性是必须的,哪些是可选的,构造注入的优势是通过构造强制依赖关系,不可能实例化不完全的或无法使用的bean。第1种方法:直接传值

2015-10-02 18:10:06 576

转载 Spring之IOC自动装配解析

set注入和构造注入有时在做配置时比较麻烦。所以框架为了提高开发效率,提供自动装配功能,简化配置。Spring框架式默认不支持自动装配的,要想使用自动装配需要修改spring配置文件中标签的autowire属性。自动装配属性有5个值可选,分别代表不同的含义。 本文工程免费下载1、byName 从Spring环境中获取目标对象时,目标对象中的属性会根据名称在整个Spr

2015-10-02 18:08:44 4636

转载 Spring之IOC的注入方式总结

在定义了 JavaBean 装载信息之后需要对其赋值。一个 JavaBean 的赋值可以通过构造方法完成初始化,或者通过 set()方法初始化和改变属性值。下面分别介绍如何在 XML 中配置 JavaBean 的属性为构造方法和 set()方法传递参数。本文工程下载一、构造注入在类被实例化的时候,它的构造方法被调用并且只能调用一次。所以它被用于类的初始化操作。是标签的子

2015-10-02 18:07:24 547

转载 Spring配置及第一个Spring HelloWorld

一、下载需要的文件这里我们已经配置好Java的运行环境和装好Eclipse了。下载Spring下载地址:http://maven.springframework.org/release/org/springframework/spring/下载commons-logging下载地址:http://commons.apache.org/proper/com

2015-10-02 18:04:26 616

转载 Java中从控制台输入数据的几种常用方法

一、使用标准输入串System.in  //System.in.read()一次只读入一个字节数据,而我们通常要取得一个字符串或一组数字  //System.in.read()返回一个整数  //必须初始化  //int read = 0;  char read = '0';  System.out.println("输入数据:");  try {   //read

2015-06-26 00:01:56 1042

转载 UIWindow介绍

一、UIWindow是一种特殊的UIView,通常在一个程序中只会有一个UIWindow,但可以手动创建多个UIWindow,同时加到程序里面。UIWindow在程序中主要起到三个作用:  1、作为容器,包含app所要显示的所有视图  2、传递触摸消息到程序中view和其他对象  3、与UIViewController协同工作,方便完成设备方向旋转的支持二、通常我们

2015-06-03 15:34:05 710

原创 Objective-c之Singletone模式

1,早期的Objective-c并没有ARC,有人写了SynthesizeSingleton.h并定义宏SYNTHESIZE_SINGLETON_FOR_CLASS_HEADER和SYNTHESIZE_SINGLETON_FOR_CLASS。但现在在开启了ARC的工程中那样的代码并不能通过编译。下面介绍通过dispatch_once实现并与ARC兼容的单例模式MyARCSing

2015-06-03 14:13:11 1892

转载 UIApplication深入研究

很多时候,我们不需要关心这个类,我们很少继承这个类,偶尔会调用这个类的api来实现一些功能,但是不可否认,这个类是iOS编程中很重要的一个概念,所以我这里写这个文章来总结以下这个类的信息,如果写的不对的地方,请留言,多谢。UIApplication的核心作用是提供了iOS程序运行期间的控制和协作工作。每一个程序在运行期必须有且仅有一个UIApplication(或则其子类)的一个实

2015-06-03 13:59:49 648

转载 vs错误【C1083 C1854 C4727】的若干解决办法

转自:http://blog.csdn.net/you_lan_hai/article/details/6966038这几天写程序,无意间把编译中间文件给删了,然后就出现了C1083编译错误。xxx.cpp..\commen\xxx.cpp(2) : fatal error C1083: 无法打开预编译头文件:“Release\xxx.pch”: No such file

2015-04-10 00:45:26 1891

转载 ios日期处理

时间与日期处理主要有以下类: NSDate -- 表示一个绝对的时间点NSTimeZone -- 时区信息NSLocale -- 本地化信息NSDateComponents -- 一个封装了具体年月日、时秒分、周、季度等的类NSCalendar -- 日历类,它提供了大部分的日期计算接口,并且允许您在NSDate和NSDateComponents之间转换

2014-11-24 14:55:32 3137

原创 objective-c中__bridge,__bridge_retained和__bridge_transfer区别

使用ARC 能帮我们减轻不少内存管理方面的负担,但对于CFObject和NSObject转换的问题,由于ARC不能管理Core Foundation Object的生命周期,所以在Core Foundation 和ARC 之间,我们需要使用到__bridge,__bridge_retained和__bridge_transfer三个转换关键字。  __bridge 只做类型转换,但是不

2014-11-23 23:48:50 761

转载 Object-C的函数调用机制详解--消息

本文系转载,原文出处:http://blog.csdn.net/kesalinps:Object-C和C,C++,java的函数调用机制还是有所区别的,其完全的runtime的调用方式是其实现消息机制的本质内容!在入门级别的ObjC 教程中,我们常对从C++或Java 或其他面向对象语言转过来的程序员说,ObjC 中的方法调用(ObjC中的术语为消息)跟其他语言中的

2014-11-18 11:03:33 931

原创 C++new和delete实现原理

new操作delete操作new[]操作delete[]操作

2014-09-01 02:01:36 23546 1

原创 C语言malloc和free实现原理

1,debug版本malloc最终调用d

2014-08-31 22:58:03 13319

原创 C++临时对象销毁时间

下面这段代码会输出什么?

2014-08-31 12:29:20 2958

原创 Boost源码剖析之:泛型指针类any

C++是强类型语言,所有强类型语言对型别的要求都是苛刻的,型别一有不合编译器就会抱怨说不能将某某型别转换为某某型别,当然如果在型别之间提供了转换操作符或是标准所允许的一定程度的隐式转换(如经过非explicit构造函数创建临时变量的隐式转换或是在int,long这些基本型别间的)又另当别论。总的说来,为了保持型别安全,C++有严厉的要求。然而有时候程序员可能有这样的需要:int i

2014-08-12 13:46:57 1049

原创 C++ dynamic_cast实现原理

dynamic_cast是一个操作符,查看

2014-08-12 11:48:51 23036

awk使用详解(官方文档翻译)

鸟哥Linux教程推荐的官方文献,已翻译成简体中文。

2013-03-03

空空如也

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

TA关注的人

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