expend的形容词是不是expensive哦谢谢
expend是“花费“{名词} expensive是“昂贵的“{形容词}
就我认为两者没有可比性,不过你要认为expend的形容词是expensive也没有什么太大的问题.
在C语言中typedef是什么意思干什么用的
typedef是C/C++常用语法,typedef作用,归结起来,可以分为四种:
1、定义一种类型名
常规的应用中,想要定义两个字符指针,写下如下代码: char *a, b
(1)char* a,b;
(2)char c=’m’;
(3)a=&c;
(4)b=&c;
上述代码是错误的,只有a为字符指针,b仍旧为字符变量。通过#define进行宏定义,仍然是无效的,因为宏定义仅仅是字符替换。
以下则可行:
(1)typedef char* PCHAR;
(2)PCHAR pa, pb;
2、用于struct结构体
(1)#include 《stdio.h》
(2)struct tagPOINT1
(3) {
(4)int x;
(5)int y;
(6)};
(7)int main()
(8){
(9)tagPOINT1 p1,p2;//此句编译无法通过
(10)//错误信息:error: unknown type name ’tagPOINT1’
(11) //环境:Gcc 4.8.1
(12)}
必须采用如下定义;
(1)struct tagPOINT1 p1,p2;//必须有关键字 struct
(2)采用typedef,则可以省掉结构体定义时的struct
(3)ypedef struct tagPOINT
(4){
(5)int x;
(6)int y;
(7)}POINT;
(8)POINT p1; // 这样就比原来的方式少写了一个struct。
3、跨平台移植
程序编写中,如果考虑到平台移植的因素,则需要从代码中抽象出硬件层的差异,例如,变量所占空间,端模式等等。
考虑一个浮点型变量,在不同的硬件平台上,所占据的空间有可能不同,此时,可以采用typedef将其定义到单独的头文件内,该头文件是纯粹抽象硬件相关的内容:
(1)typedef float REAL;
(2)typedef short int INT16;
(3)typedef int INT32
(4)...
这样的话,如果将来考虑到程序的移植,只需要修改该头文件即可。
4、为复杂的声明取别名
复杂的声明形如:void (*b) (void (*)());
意思:首先*b为指针数组,它里面的十个元素全是指针。到底是什么指针呢,是一个返回类型为空,形参为空的函数指针。
这种复杂的声明,可以用typedef进行简化:
首先:声明后面的函数指针:
(1)typedef void (pFunParam *)();
接着声明前面的指针数组:
(1)typedef void (*pFunx)(pFunParam);
原声明的最简化版:
pFunx b;
本文档在撰写过程中,参考了网络博客typedef用法
里面提到一个复杂的声明:
(1)doube(*)() (*e);
而然这个声明在gcc下编译时不通过的,按照作者的本意,似乎应该这样声明:
(1)double (*(*e))();
e是一个指向9维数组的指针,数组内为函数指针,该函数指针形参为空,返回类型为double。
这样的话,应该采用这样的typedef来简化声明:
typedef (*(*ptr))();
扩展资料
typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。
在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。
参考资料来源:百度百科-typedef
精通Spring的目录
第1章 Java EE 5
1.1 Java EE 5引入的新特性
1.2 进入EJB 3.0时代
1.3 Java EE开发模型的局限性
1.4 小结
第2章 步入Spring 2.5
2.1 挑战Java EE 5开发模型
2.1.1 轻量级开发模型
2.1.2 倡导敏捷开发
2.1.3 Spring 2.5的架构价值
2.2 有所为和有所不为
2.2.1 Spring 2.5提供的功能
2.2.2 排除在外
2.3 Spring 2.5时代的到来
2.4 小结
第3章 获得Spring 2.5发布版和源码
3.1 获得Spring 2.5持续发布版
3.2 获得持续更新的Spring 2.5项目源码
3.3 小结
第4章 启动Spring 2.5使能项目
4.1 开发平台的搭建
4.1.1 JDK的安装及设置
4.1.2 选用Eclipse IDE和WTP
4.1.3 借助插件调试Web应用
4.1.4 获取及安装Spring IDE
4.2 Spring IDE的使用
4.3 小结 第5章 控制反转容器
5.1 有关DI容器的背景知识
5.2 BeanFactory和ApplicationContext
5.3 宿主DI容器配置元数据的不同方式
5.3.1 基于XML的DI容器配置元数据
5.3.2 基于注解的DI容器配置元数据
5.4 基于泛型访问DI容器
5.5 支持的不同依赖注入类型
5.5.1 设值注入
5.5.2 构建器注入
5.5.3 属性注入
5.5.4 方法注入
5.6 Autowiring策略
5.6.1 autowire属性
5.6.2 元素的dependency-check属性
5.6.3 @Required注解
5.6.4 @Autowired注解
5.6.5 细粒度控制Autowiring策略
5.6.6 借用元素
5.7 善待depends-on属性
5.8 抽象和子Bean定义
5.9 别名(Alias)
5.10 外在化应用参数的配置
5.10.1 元素
5.10.2 元素
5.11 受管Bean的作用范围
5.11.1 单例和原型
5.11.2 仅仅适合于Web环境的三种作用范围
5.12 在Web应用中使用DI容器
5.12.1 往Web应用中加载DI容器
5.12.2 复合多个配置文件
5.12.3 于Web应用中操控DI容器
5.12.4 国际化和本地化消息资源
5.13 探索命名空间
5.13.1 元素
5.13.2 元素
5.13.3 元素
5.13.4 元素
5.13.5 元素
5.13.6 元素
5.14 使用
命名空间
5.15 操控资源
5.15.1 内置的Resource继承链
5.15.2 借助DI容器访问各种资源
5.15.3 妙用classpath*前缀
5.16 回调接口集合及其触发顺序
5.16.1 BeanNameAware回调接口
5.16.2 BeanClassLoaderAware回调接口
5.16.3 BeanFactoryAware回调接口
5.16.4 ResourceLoaderAware回调接口
5.16.5 ApplicationEventPublisherAware回调接口
5.16.6 MessageSourceAware回调接口
5.16.7 ApplicationContextAware回调接口
5.16.8 @PostConstruct注解
5.16.9 InitializingBean回调接口
5.16.10 元素的init-method属性
5.16.11 @PreDestroy注解
5.16.12 DisposableBean回调接口
5.16.13 元素的destroy-method属性
5.17 小结
第6章 面向切面编程
6.1 AOP背景知识
6.2 AspectJ 6介绍
6.2.1 AspectJ的安装及使用
6.2.2 Before装备
6.2.3 AfterReturning装备
6.2.4 AfterThrowing装备
6.2.5 After装备
6.2.6 Around装备
6.2.7 引入(Introduction)
6.3 Spring AOP的基本概念
6.4 Spring AOP的老式用法
6.4.1 Before装备
6.4.2 基于ProxyFactoryBean的手工代理
6.4.3 AfterReturning装备
6.4.4 AfterThrowing装备
6.4.5 Around装备
6.4.6 Introduction引入
6.4.7 使用自动代理特性
6.4.8 切换代理机制
6.4.9 基于ProxyFactory的编程代理
6.5 基于@AspectJ的Spring AOP
6.5.1 声明切面、pointcut和装备
6.5.2 各种装备的使用
6.5.3 切换代理机制
6.5.4 控制各装备的触发顺序
6.5.5 pointcut表达语言
6.6 基于元素的AOP
6.6.1 声明切面、pointcut和装备
6.6.2 各种装备的使用
6.6.3 元素
6.6.4 切换代理机制
6.7 借用AspectJ 6进行领域对象的DI操作
6.7.1 直接使用AnnotationBean-ConfigurerAspect切面
6.7.2 @Configurable注解
6.7.3 借助aop.xml控制启用的特定切面
6.7.4 元素
6.7.5 元素
6.7.6 借用元素
6.8 小结 第7章 DAO抽象支持
7.1 背景
7.2 DAO集成支持
7.2.1 DataAccessException异常体系
7.2.2 DaoSupport继承链
7.2.3 DataAccessUtils实用类
7.3 小结
第8章 JDBC集成
8.1 背景知识及示例
8.2 Spring对JDBC提供的支持
8.3 运行JDBC版PetClinic实例
8.4 JdbcTemplate及相应的支持类
8.4.1 JdbcTemplate核心类
8.4.2 JdbcDaoSupport支持类
8.5 NamedParameterJdbcTemplate及相应的支持类
8.5.1 NamedParameterJdbcTemplate模板类
8.5.2 NamedParameterJdbcDao-Support支持类
8.6 SimpleJdbcTemplate及相应的支持类
8.6.1 SimpleJdbcTemplate模板类
8.6.2 SimpleJdbcDaoSupport支持类
8.6.3 SimpleJdbcInsert辅助类
8.6.4 基于JDBC的PetClinic综合示例分析
8.7 内置的DataSource继承链
8.7.1 用于测试目的的DriverManagerDataSource
8.7.2 用于测试目的的SimpleDriverDataSource
8.7.3 用于测试目的的Single-ConnectionDataSource
8.7.4 Apache DBCP数据源
8.7.5 Java EE容器内置的数据源
8.7.6 LazyConnectionDataSource-Proxy数据源
8.7.7 TransactionAwareDataSource-Proxy数据源
8.7.8 UserCredentialsDataSource-Adapter数据源
8.7.9 IsolationLevelDataSource-Adapter数据源
8.7.10 WebSphereDataSource-Adapter数据源
8.7.11 IsolationLevelDataSource-Router数据源
8.8 将JDBC操作建模成Java对象
8.8.1 SqlUpdate辅助类
8.8.2 UpdatableSqlQuery辅助类
8.8.3 MappingSqlQuery辅助类
8.8.4 SqlFunction辅助类
8.9 与存储过程交互
8.9.1 JdbcTemplate针对存储过程提供的支持
8.9.2 StoredProcedure辅助类
8.9.3 SimpleJdbcCall辅助类
8.10 处理大批量数据
8.10.1 JdbcTemplate内置的batchUpdate()方法
8.10.2 SimpleJdbcTemplate内置的batchUpdate()方法
8.10.3 BatchSqlUpdate辅助类
8.11 基于JDBC的LOB集成支持
8.11.1 运行及分析imagedb示例应用
8.11.2 NativeJdbcExtractor继承链
8.11.3 操作LOB字段
8.12 如何获得和生成主键
8.12.1 KeyHolder及GeneratedKey-Holder实现者
8.12.2 DataFieldMaxValue-Incrementer继承链
8.13 对行集的支持
8.13.1 JdbcTemplate内置的queryForRowSet()方法集合
8.13.2 NamedParameterJdbcTemplate内置的queryForRowSet()方法集合
8.14 JDBC最佳实践
8.15 小结
第9章 事务集成
9.1 背景知识及示例
9.2 Spring对事务提供的支持
9.3 Spring眼中的事务管理策略
9.3.1 事务定义
9.3.2 各种PlatformTransaction-Manager实现
9.4 编程式事务
9.4.1 TransactionTemplate及相关回调接口
9.4.2 使用@Transactional注解和元素
9.4.3 拥抱EJB 3.0引入的@TransactionAttribute注解
9.5 声明式事务
9.5.1 TransactionProxyFactoryBean辅助类
9.5.2 元素
9.6 在AspectJ 6应用中使用@Transactional
9.6.1 直接使用Annotation-TransactionAspect切面
9.6.2 借用元素
9.6.3 借用元素
9.7 事务集成高级特性
9.7.1 Java EE应用服务器的事务集成
9.7.2 元素
9.7.3 选择合适的事务策略
9.8 小结
第10章 单元和集成测试
10.1 背景知识及示例
10.2 Spring对集成测试的支持
10.2.1 ReflectionTestUtils实用类
10.2.2 运行PetClinic中的集成测试类
10.3 遗留JUnit 3.8集成测试支持
10.3.1 AbstractSingleSpringContext-Tests支持类
10.3.2 AbstractDependencyInjection-SpringContextTests支持类
10.3.3 AbstractTransactionalSpring-ContextTests支持类
10.3.4 AbstractTransactionalData-SourceSpringContextTests支持类
10.3.5 AbstractAnnotationAware-TransactionalTests支持类
10.4 新引入的TestContext集成测试框架
10.4.1 面向开发者的支持类
10.4.2 AbstractJUnit38Spring-ContextTests支持类
10.4.3 AbstractTransactionalJUnit38-SpringContextTests支持类
10.4.4 AbstractJUnit4Spring-ContextTests支持类
10.4.5 AbstractTransactionalJUnit4-SpringContextTests支持类
10.5 集成测试最佳实践
10.6 小结
第11章 Hibernate集成
11.1 背景知识及示例
11.2 Hibernate Tools介绍
11.2.1 Ant支持
11.2.2 Eclipse支持
11.3 Spring对Hibernate提供的支持
11.4 运行Hibernate版PetClinic实例
11.5 基于Hibernate集成的CRUD操作
11.5.1 HibernateTemplate模板类
11.5.2 HibernateCallback回调接口
11.5.3 关于SessionFactory.getCurrentSession()方法的使用
11.6 LocalSessionFactoryBean
11.7 AnnotationSession-FactoryBean
11.8 事务管理支持
11.9 基于Hibernate的LOB处理
11.10 为imagedb示例启用JTA事务
11.11 集成测试支持
11.11.1 分析Hibernate版PetClinic实例的集成测试工作
11.11.2 混合使用JDBC和Hibernate
11.12 小结
第12章 Java持久化API集成
12.1 背景知识及示例
12.2 Spring对JPA提供的支持
12.3 基于JPA集成的CRUD操作
12.3.1 JpaTemplate模板类
12.3.2 JpaCallbck回调接口
12.3.3 @PersistenceContext注解
12.4 AbstractEntityManager-FactoryBean继承链
12.4.1 LocalEntityManager-FactoryBean辅助类
12.4.2 LocalContainerEntity-ManagerFactoryBean辅助类
12.4.3 DataSourceLookup继承链
12.5 事务管理支持
12.6 装载期织入(LTW)
12.6.1 ReflectiveLoadTimeWeaver实现类
12.6.2 InstrumentationLoad-TimeWeaver实现类
12.6.3 LoadTimeWeaver继承链在JPA集成中的应用
12.7 SharedEntityManagerBean
12.8 集成测试支持
12.8.1 AbstractJpaTests支持类
12.8.2 AbstractAspectjJpaTests支持类
12.8.3 混合使用JDBC和JPA
12.9 小结 第13章 JNDI集成
13.1 背景知识及示例
13.2 Spring对JNDI提供的支持
13.3 JndiObjectFactoryBean
13.4 元素
13.5 JndiTemplate和JndiCallback的使用
13.6 小结
第14章 EJB 3.0集成
14.1 背景知识及示例
14.2 Spring对开发EJB 3.0组件提供的支持
14.3 Spring对访问EJB 3.0组件提供的支持
14.3.1 借助JndiObjectFactory-Bean辅助类
14.3.2 org.springframework.ejb.access包
14.3.3 元素和元素
14.4 关于遗留EJB 2.x支持
14.5 小结
第15章 线程池和任务调度集成
15.1 Spring提供的线程池支持
15.1.1 SyncTaskExecutor执行器
15.1.2 SimpleAsyncTaskExecutor执行器
15.1.3 ThreadPoolTaskExecutor和ConcurrentTaskExecutor执行器
15.1.4 TimerTaskExecutor执行器
15.1.5 SimpleThreadPool-TaskExecutor执行器
15.1.6 commonj.WorkManager-TaskExecutor执行器
15.1.7 jca.work.WorkManager-TaskExecutor继承链
15.2 Spring提供的任务调度支持
15.2.1 针对java.util.Timer的任务调度支持
15.2.2 针对Quartz的任务调度支持
15.2.3 针对java.util.concurrent的任务调度支持
15.2.4 针对CommonJ的任务调度支持
15.3 小结
第16章 Java消息服务集成
16.1 背景知识及示例
16.2 Spring对JMS消息提供的支持
16.3 借助JmsTemplate发送JMS消息
16.4 同步和异步消费JMS消息
16.4.1 借助JmsTemplate同步接收JMS消息
16.4.2 AbstractMessageListener-Container容器
16.4.3 元素
16.5 JMS事务管理
16.6 小结
第17章 JavaMail集成
17.1 背景知识及示例
17.2 Spring对JavaMail提供的支持
17.3 发送简单邮件
17.4 发送含有附件的邮件
17.5 发送含有HTML和内嵌资源的邮件
17.6 小结
第18章 远程服务集成
18.1 远程服务背景知识及示例
18.2 Spring对远程服务提供的支持
18.3 RMI/RMI-IIOP集成
18.4 Hessian和Burlap集成
18.4.1 DispatcherServlet和HttpRequestHandlerServlet辅助类
18.4.2 宿主在Sun JDK 6.0内置的HTTP服务器中
18.5 HTTP Invoker支持
18.6 Web服务集成
18.6.1 JAX-RPC集成
18.6.2 JAX-WS集成
18.7 基于JMS的远程服务
18.8 小结
第19章 Java管理扩展集成
19.1 背景知识及示例
19.2 Spring对JMX提供的支持
19.3 自动注册MBean组件
19.3.1 关于MBeanExporter的autodetectMode和registrationBehavior属性
19.3.2 Hibernate暴露的StatisticsService MBean
19.4 将POJO导出成MBean组件
19.5 控制MBean组件的管理接口
19.5.1 AbstractConfigurable-MBeanInfoAssembler继承链
19.5.2 基于注解的Metadata-MBeanInfoAssembler
19.5.3 和元素
19.5.4 面向异步处理的Lifecycle接口
19.6 控制MBean组件的ObjectName
19.6.1 KeyNamingStrategy实现类
19.6.2 IdentityNamingStrategy实现类
19.6.3 MetadataNamingStrategy实现类
19.7 发送与接收JMX通知
19.8 通过应用访问MBean组件
19.9 小结
第20章 Java EE连接器架构集成
20.1 背景知识及示例
20.2 Spring对JCA提供的支持
20.3 CciTemplate及相关回调接口
20.4 将JCA操作建模成Java对象
20.5 事务管理
20.6 宿主在JCA适配器中的DI容器
20.6.1 将SpringContextResource-Adapter部署到RAR中
20.6.2 ResourceAdapterFactory-Bean辅助类
20.7 小结 第21章 忘却的Spring高级话题
21.1 分发和监听事件
21.2 AOP拦截器链
21.3 DataSourceUtils、Session-FactoryUtils、EntityManager-FactoryUtils
21.4 Web层集成支持
21.5 元素
21.6 如何优雅地销毁DI容器
21.6.1 Web应用类型
21.6.2 EJB应用类型
21.6.3 Java SE应用、集成测试类型
21.7 DI容器的分层管理
21.8 脚本集成
21.9 小结
第22章 Spring最佳实践
22.1 注重分层架构设计
22.2 合理采纳注解技术
22.3 日志管理策略
22.4 善待Java EE容器内置的类装载器
22.5 逐步采纳Spring 2.5
22.6 小结
附录A 基于XML Schema的权威配置指南
A.1 XML配置文件
A.2 命名空间
A.2.1 元素
A.2.2 元素
A.2.3 元素
A.2.4 元素
A.3 命名空间
A.3.1 元素
A.3.2 元素
A.3.3 元素
A.3.4 元素
A.3.5 元素
A.3.6 元素
A.4 命名空间
A.4.1 元素
A.4.2 元素
A.4.3 元素
A.4.4 元素
A.4.5 元素
A.4.6 元素
A.4.7 元素
A.4.8 元素
A.5 命名空间
A.5.1 元素
A.5.2 元素
A.5.3 元素
A.6 命名空间
A.6.1 元素
A.6.2 元素
A.6.3 元素
A.7 命名空间
A.7.1 元素
A.7.2 元素
A.7.3 元素
A.8 命名空间
A.8.1 元素
A.8.2 元素
A.9 命名空间
A.9.1 元素
A.9.2 元素
A.9.3 元素
A.9.4 元素
A.10
命名空间
A.11 小结-xp