- 博客(12)
- 资源 (10)
- 收藏
- 关注
原创 likely和unlikely
首先明确: likely与unlikely互换或不用都不会影响程序的正确性。但可能会影响程序的效率。在阅读linux内核代码时经常出现likely()和unlikely()两个宏函数,位于/include/linux/compiler.h中 #define likely(x) __builtin_expect(!!(x), 1) #define unlik
2017-09-19 18:19:55 563
原创 内存池 (Memory Pool)
内存池 在linux内核开发中会接触到内存池,内核有不少地方内存分配不允许失败。作为一个在这些情况下确保分配的方式,内核开发者创建了一个已知为内存池(或者是 "mempool" )的抽象。 一个内存池真实地只是一类后备缓存,它尽力一直保持一个空闲内存列表给紧急时使用。传统内存管理函数的缺点 利用传统的内存管理函数new/delete或malloc/free在
2017-09-19 17:54:49 3396
原创 java运行Tomcat提示:The APR based Apache Tomcat Native library which allows optimal performance in produc
在Tomcat上运行javaweb程序时,启动Tomcat时log信息中提示如下内容:九月 18, 2017 4:34:51 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent信息: The APR based Apache Tomcat Native library which allows optimal pe
2017-09-18 16:36:43 3572
原创 java注解
一、什么是注解 Java注解用于为Java代码提供元数据。作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的。 Java1.5引入了注解,当前许多java框架中大量使用注解,如Hibernate、Jersey、Spring。注解作为程序的元数据嵌入到程序当中。注解可以被一些解析工具或者是编译工具进行解析。我们也可以声明注解在编译过程或
2017-09-10 20:23:36 314
原创 C语言之断言
我们在使用C语言编写工程代码时,我们总会对某种假设条件进行检查,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真。可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言,而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新起用断言。它可以快速发现并定位软件问题,同时对系统错误进行自
2017-09-06 21:48:27 533
原创 C语言笔记之数组
在看comware代码的时候,发现一种之前在学校没用过的C语言数组用法,起码我是本科的时候没见过这么写的,此处mark一下,做个记录。代码举例:#include typedef enum enTest{ TEST_1, TEST_2, TEST_3, TEST_4, TEST_5,}TEST_E;int TEST_stub(int a, in
2017-09-06 21:11:25 271
原创 单例模式
本文介绍23种设计模式之单例模式。 单例(Singleton)模式是Java中最简单的设计模式之一。这种类型的设计模式属于创建模式,因为此模式提供了创建对象的最佳方法之一。这种模式涉及一个类,它负责创建一个对象,同时确保只创建一个对象。这个类提供了一种方法来访问它的唯一对象,可以直接访问,而不需要实例化类的对象。要点 单例模式的要点有三个:
2017-09-05 22:02:32 256
原创 C语言 if条件判断中包含语句块
在C语言if判断语句中可以这样使用if ( ({ 语句1;语句2;... 语句n;}) )注意语句块需要用 () 括号括起来,否则编译报错判断结果取决于最后一条语句,无论前面的语句是true或false。如图:执行结果为:
2017-09-04 22:58:00 4556
原创 C语言中的弱符号与强符号,强引用与弱引用
强符号和弱符号 在编程中碰到一种情况叫符号重复定义。多个目标文件中含有相同名字的全局变量的定义,那么这些目标文件链接的时候就会出现符号重复定义的错误。比如在目标文件 A 和目标文件 B 都定义了一个全局整形变量global,并且都初始化,那么当 A 和 B 链接时会报错: multiple definition of 'global' 对于C/C+
2017-09-04 22:26:51 2862
转载 C头文件组织与包含原则
说明 本文假定读者已具备基本的C编译知识。 如非特殊说明,文中“源文件”指*.c文件,“头文件”指*.h文件,“引用”指包含头文件。 一、头文件作用 C语言里,每个源文件是一个模块,头文件为使用该模块的用户提供接口。接口指一个功能模块暴露给其他模块用以访问具体功能的方法。使用源文件实现模块的功能,使用头文件暴露单元的接口。用户只需包含
2017-09-04 20:33:01 3050 2
原创 C头文件编写基本规则
1. 注释,版权,作者,重大修订记录等信息2. 防重入开关,也就是常见的#ifndef _XXX_XXX_H //必须确保header guard宏名永不重名#define _XXX_XXX_H //#endif3. C++ 编译器自适应开关,也就是常见的//.h文件头部#ifdef __cpluspluse
2017-09-04 20:01:56 876
HTTP权威指南.pdf
2018-01-19
CvvImage类
2015-11-21
国际程序设计大赛的作品欣赏
2014-11-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人