JAVA中JavaBean对象之间的拷贝通常是用get/set方法,但如果你有两个属性相同的JavaBean或有大部分属性相同的JavaBean,对于这种情况,可以采用以下几个简便方法处理。
下面对这几个方法 做一下简单介绍,并通过实际的案例测试下性能差异
1.使用org.apache.commons.beanutils.BeanUtils.copyProperties
2.使用org.springframework.beans.BeanUtils.copyProperties
3.使用net.sf.cglib.beans.BeanCopier.copy
4.使用org.springframework.cglib.beans.BeanCopier.copy
5.使用mirror mirror.setValue
6.使用自写反射
7.使用json序列化
一. 项目依赖
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.1.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.nutz</groupId>
<artifactId>nutz</artifactId>
<version>1.b.52</version>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.3</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>2.0.7.RELEASE</version>
<exclusions>
<exclusion>
<artifactId>spring-core</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.51</version>
</dependency> <dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.6</version>
</dependency>
</dependencies>
项目依赖
二. 准备测试类及数据
@Data
public static class CosmosY {
private String filed1;
private String filed2;
private String filed3;
private String filed4;
private String filed5;
private String filed6;
private String filed7;
private String filed8;
private String filed9;
private String filed10;
private String filed11;
private String filed12;
private String filed13;
private String filed14;
private String filed15;
private String filed16;
private String filed17;
private String filed18;
private String filed19;
private String filed20;
private String filed21;
private String filed22;
private String filed23;
private String filed24;
private String filed25;
private String filed26;
private String filed27;
private String filed28;
private String filed29;
private String filed30;
private String filed31;
private String filed32;
private String filed33;
private String filed34;
private String filed35;
private String filed36;
private String filed37;
private String filed38;
private String filed39;
private String filed40;
private String filed41;
private String filed42;
private String filed43;
private String filed44;
private String filed45;
private String filed46;
private String filed47;
private String filed48;
private String filed49;
private String filed50; }
测试类:SourceData
@Data
public static class CosmosN {
private String filed1;
private String filed2;
private String filed3;
private String filed4;
private String filed5;
private String filed6;
private String filed7;
private String filed8;
private String filed9;
private String filed10;
private String filed11;
private String filed12;
private String filed13;
private String filed14;
private String filed15;
private String filed16;
private String filed17;
private String filed18;
private String filed19;
private String filed20;
private String filed21;
private String filed22;
private String filed23;
private String filed24;
private String filed25;
private String filed26;
private String filed27;
private String filed28;
private String filed29;
private String filed30;
private String filed31;
private String filed32;
private String filed33;
private String filed34;
private String filed35;
private String filed36;
private String filed37;
private String filed38;
private String filed39;
private String filed40;
private String filed41;
private String filed42;
private String filed43;
private String filed44;
private String filed45;
private String filed46;
private String filed47;
private String filed48;
private String filed49;
private String filed50;
}
测试类:目标类
使用随机数据,初始化源数据对象
private static CosmosY getCosmosY() {
CosmosY cosmosY = new CosmosY();
Field[] fields = cosmosY.getClass().getDeclaredFields();
for (Field field : fields) {
try {
field.setAccessible(true);
field.set(cosmosY, getRandomString());
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
return cosmosY;
} /**
* 获取随机词
*
* @return
*/
private static String getRandomString() { Random random = new Random();
List<String> stringList = new ArrayList<String>();
stringList.add("application 应用程式 应用、应用程序");
stringList.add("application framework 应用程式框架、应用框架 应用程序框架");
stringList.add("architecture 架构、系统架构 体系结构");
stringList.add("argument 引数(传给函式的值)。叁见 parameter 叁数、实质叁数、实叁、自变量");
stringList.add("array 阵列 数组");
stringList.add("arrow operator arrow(箭头)运算子 箭头操作符");
stringList.add("assembly 装配件");
stringList.add("assembly language 组合语言 汇编语言");
stringList.add("assert(ion) 断言");
stringList.add("assign 指派、指定、设值、赋值 赋值");
stringList.add("assignment 指派、指定 赋值、分配");
stringList.add("assignment operator 指派(赋值)运算子 = 赋值操作符");
stringList.add("associated 相应的、相关的 相关的、关联、相应的");
stringList.add("associative container 关联式容器(对应 sequential container) 关联式容器");
stringList.add("atomic 不可分割的 原子的");
stringList.add("attribute 属性 属性、特性");
stringList.add("audio 音讯 音频");
stringList.add("A.I. 人工智慧 人工智能");
stringList.add("background 背景 背景(用於图形着色) 后台(用於行程)");
stringList.add("backward compatible 回溯相容 向下兼容");
stringList.add("bandwidth 频宽 带宽");
stringList.add("base class 基础类别 基类");
stringList.add("base type 基础型别 (等同於 base class)");
stringList.add("batch 批次(意思是整批作业) 批处理");
stringList.add("benefit 利益 收益");
stringList.add("best viable function 最佳可行函式 最佳可行函式 (从 viable functions 中挑出的最佳吻合者)");
stringList.add("binary search 二分搜寻法 二分查找");
stringList.add("binary tree 二元树 二叉树");
stringList.add("binary function 二元函式 双叁函数");
stringList.add("binary operator 二元运算子 二元操作符");
stringList.add("binding 系结 绑定");
stringList.add("bit 位元 位");
stringList.add("bit field 位元栏 位域");
stringList.add("bitmap 位元图 位图");
stringList.add("bitwise 以 bit 为单元逐一┅");
stringList.add("bitwise copy 以 bit 为单元进行复制;位元逐一复制 位拷贝");
stringList.add("block 区块,区段 块、区块、语句块");
stringList.add("boolean 布林值(真假值,true 或 false) 布尔值");
stringList.add("border 边框、框线 边框");
stringList.add("brace(curly brace) 大括弧、大括号 花括弧、花括号");
stringList.add("bracket(square brakcet) 中括弧、中括号 方括弧、方括号");
stringList.add("breakpoint 中断点 断点");
stringList.add("build 建造、构筑、建置(MS 用语)");
stringList.add("build-in 内建 内置");
stringList.add("bus 汇流排 总线");
stringList.add("business 商务,业务 业务");
stringList.add("buttons 按钮 按钮");
stringList.add("byte 位元组(由 8 bits 组成) 字节");
stringList.add("cache 快取 高速缓存");
stringList.add("call 呼叫、叫用 调用");
stringList.add("callback 回呼 回调");
stringList.add("call operator call(函式呼叫)运算子调用操作符 ###### (同 function call operator)");
stringList.add("candidate function 候选函式 候选函数 ###### (在函式多载决议程序中出现的候选函式)");
stringList.add("chain 串链(例 chain of function calls) 链");
stringList.add("character 字元 字符");
stringList.add("check box 核取方块 (i.e. check button) 复选框");
stringList.add("checked exception 可控式异常(Java)");
stringList.add("check button 方钮 (i.e. check box) 复选按钮");
stringList.add("child class 子类别(或称为derived class, subtype) 子类");
stringList.add("class 类别 类");
stringList.add("class body 类别本体 类体");
stringList.add("class declaration 类别宣告、类别宣告式 类声明");
stringList.add("class definition 类别定义、类别定义式 类定义");
stringList.add("class derivation list 类别衍化列 类继承列表");
stringList.add("class head 类别表头 类头");
stringList.add("class hierarchy 类别继承体系, 类别阶层 类层次体系");
stringList.add("class library 类别程式库、类别库 类库");
stringList.add("class template 类别模板、类别范本 类模板");
stringList.add("class template partial specializations ###### 类别模板偏特化 类模板部分特化");
stringList.add("class template specializations ###### 类别模板特化 类模板特化");
stringList.add("cleanup 清理、善后 清理、清除");
stringList.add("client 客端、客户端、客户 客户");
stringList.add("client-server 主从架构 客户/服务器");
stringList.add("clipboard 剪贴簿 剪贴板");
stringList.add("clone 复制 克隆");
stringList.add("collection 群集 集合");
stringList.add("combo box 复合方块、复合框 组合框");
stringList.add("command line 命令列 命令行 (系统文字模式下的整行执行命令)");
stringList.add("communication 通讯 通讯");
stringList.add("compatible 相容 兼容");
stringList.add("compile time 编译期 编译期、编译时");
stringList.add("compiler 编译器 编译器");
stringList.add("component 组件 组件");
stringList.add("composition 复合、合成、组合 组合");
stringList.add("computer 电脑、计算机 计算机、电脑");
stringList.add("concept 概念 概念");
stringList.add("concrete 具象的 实在的");
stringList.add("concurrent 并行 并发");
stringList.add("configuration 组态 配置");
stringList.add("connection 连接,连线(网络,资料库) 连接");
stringList.add("constraint 约束(条件)");
stringList.add("construct 构件 构件");
stringList.add("container 容器 容器 ###### (存放资料的某种结构如 list, vector…)");
stringList.add("containment 内含 包容");
stringList.add("context 背景关系、周遭环境、上下脉络 环境、上下文");
stringList.add("control 控制元件、控件 控件");
stringList.add("console 主控台 控制台");
stringList.add("const 常数(constant 的缩写,C++ 关键字)");
stringList.add("constant 常数(相对於 variable) 常量");
stringList.add("constructor(ctor) 建构式 构造函数 ###### (与class 同名的一种 member functions)");
stringList.add("copy (v) 复制、拷贝 拷贝");
stringList.add("copy (n) 复件, 副本");
stringList.add("cover 涵盖 覆盖");
stringList.add("create 创建、建立、产生、生成 创建");
stringList.add("creation 产生、生成 创建");
stringList.add("cursor 游标 光标");
stringList.add("custom 订制、自定 定制");
stringList.add("data 资料 数据");
stringList.add("database 资料库 数据库");
stringList.add("database schema 数据库结构纲目");
stringList.add("data member 资料成员、成员变数 数据成员、成员变量");
stringList.add("data structure 资料结构 数据结构");
stringList.add("datagram 资料元 数据报文");
stringList.add("dead lock 死结 死锁");
stringList.add("debug 除错 调试");
stringList.add("debugger 除错器 调试器");
stringList.add("declaration 宣告、宣告式 声明");
stringList.add("deduction 推导(例:template argument deduction) 推导、推断");
stringList.add("default 预设 缺省、默认");
stringList.add("defer 延缓 推迟");
stringList.add("define 定义 预定义");
stringList.add("definition 定义、定义区、定义式 定义");
stringList.add("delegate 委派、委托、委任 委托");
stringList.add("delegation (同上)");
stringList.add("demarshal 反编列 散集");
stringList.add("dereference 提领(取出指标所指物体的内容) 解叁考");
stringList.add("dereference operator dereference(提领)运算子 * 解叁考操作符");
stringList.add("derived class 衍生类别 派生类");
stringList.add("design by contract 契约式设计");
stringList.add("design pattern 设计范式、设计样式 设计模式 ※ 最近我比较喜欢「设计范式」一词");
stringList.add("destroy 摧毁、销毁");
stringList.add("destructor 解构式 析构函数");
stringList.add("device 装置、设备 设备");
stringList.add("dialog 对话窗、对话盒 对话框");
stringList.add("directive 指令(例:using directive) (编译)指示符");
stringList.add("directory 目录 目录");
stringList.add("disk 碟 盘");
stringList.add("dispatch 分派 分派");
stringList.add("distributed computing 分布式计算 (分布式电算) 分布式计算 分散式计算 (分散式电算)");
stringList.add("document 文件 文档");
stringList.add("dot operator dot(句点)运算子 . (圆)点操作符");
stringList.add("driver 驱动程式 驱动(程序)");
stringList.add("dynamic binding 动态系结 动态绑定");
stringList.add("efficiency 效率 效率");
stringList.add("efficient 高效 高效");
stringList.add("end user 终端用户");
stringList.add("entity 物体 实体、物体");
stringList.add("encapsulation 封装 封装");
stringList.add("enclosing class 外围类别(与巢状类别 nested class 有关)外围类");
stringList.add("enum (enumeration) 列举(一种 C++ 资料型别) 枚举");
stringList.add("enumerators 列举元(enum 型别中的成员) 枚举成员、枚举器");
stringList.add("equal 相等 相等");
stringList.add("equality 相等性 相等性");
stringList.add("equality operator equality(等号)运算子 == 等号操作符");
stringList.add("equivalence 等价性、等同性、对等性 等价性");
stringList.add("equivalent 等价、等同、对等 等价");
stringList.add("escape code 转义码 转义码");
stringList.add("evaluate 评估、求值、核定 评估");
stringList.add("event 事件 事件");
stringList.add("event driven 事件驱动的 事件驱动的");
stringList.add("exception 异常情况 异常");
stringList.add("exception declaration 异常宣告(ref. C++ Primer 3/e, 11.3) 异常声明");
stringList.add("exception handling 异常处理、异常处理机制 异常处理、异常处理机制");
stringList.add("exception specification 异常规格(ref. C++ Primer 3/e, 11.4) 异常规范");
stringList.add("exit 退离(指离开函式时的那一个执行点) 退出");
stringList.add("explicit 明白的、明显的、显式 显式");
stringList.add("export 汇出 引出、导出");
stringList.add("expression 运算式、算式 表达式");
stringList.add("facility 设施、设备 设施、设备");
stringList.add("feature 特性");
stringList.add("field 栏位,资料栏(Java) 字段, 值域(Java)");
stringList.add("file 档案 文件");
stringList.add("firmware 韧体 固件");
stringList.add("flag 旗标 标记");
stringList.add("flash memory 快闪记忆体 闪存");
stringList.add("flexibility 弹性 灵活性");
stringList.add("flush 清理、扫清 刷新");
stringList.add("font 字型 字体");
stringList.add("form 表单(programming 用语) 窗体");
stringList.add("formal parameter 形式叁数 形式叁数");
stringList.add("forward declaration 前置宣告 前置声明");
stringList.add("forwarding 转呼叫,转发 转发");
stringList.add("forwarding function 转呼叫函式,转发函式 转发函数");
stringList.add("fractal 碎形 分形");
stringList.add("framework 框架 框架");
stringList.add("full specialization 全特化(ref. partial specialization)");
stringList.add("function 函式、函数 函数");
stringList.add("function call operator 同 call operator");
stringList.add("function object 函式物件(ref. C++ Primer 3/e, 12.3) 函数对象");
stringList.add("function overloaded resolution 函式多载决议程序 函数重载解决(方案)");
stringList.add("functionality 功能、机能 功能");
stringList.add("function template 函式模板、函式范本 函数模板");
stringList.add("functor 仿函式 仿函式、函子");
stringList.add("game 游戏 游戏");
stringList.add("generate 生成");
stringList.add("generic 泛型、一般化的 一般化的、通用的、泛化");
stringList.add("generic algorithm 泛型演算法 通用算法");
stringList.add("getter (相对於 setter) 取值函式");
stringList.add("global 全域的(对应於 local) 全局的");
stringList.add("global object 全域物件 全局对象");
stringList.add("global scope resolution operator 全域生存空间(范围决议)运算子 :: 全局范围解析操作符");
stringList.add("group 群组");
stringList.add("group box 群组方块 分组框");
stringList.add("guard clause 卫述句 (Refactoring, p250) 卫语句");
stringList.add("GUI 图形介面 图形界面");
stringList.add("hand shaking 握手协商");
stringList.add("handle 识别码、识别号、号码牌、权柄 句柄");
stringList.add("handler 处理常式 处理函数");
stringList.add("hard-coded 编死的 硬编码的");
stringList.add("hard-copy 硬拷图 屏幕截图");
stringList.add("hard disk 硬碟 硬盘");
stringList.add("hardware 硬体 硬件");
stringList.add("hash table 杂凑表 哈希表、散列表");
stringList.add("header file 表头档、标头档 头文件");
stringList.add("heap 堆积 堆");
stringList.add("hierarchy 阶层体系 层次结构(体系)");
stringList.add("hook 挂钩 钩子");
stringList.add("hyperlink 超链结 超链接");
stringList.add("icon 图示、图标 图标");
stringList.add("IDE 整合开发环境 集成开发环境");
stringList.add("identifier 识别字、识别符号 标识符");
stringList.add("if and only if 若且唯若 当且仅当");
stringList.add("Illinois 伊利诺 伊利诺斯");
stringList.add("image 影像 图象");
stringList.add("immediate base 直接的(紧临的)上层 base class。 直接上层基类");
stringList.add("immediate derived 直接的(紧临的)下层 derived class。 直接下层派生类");
stringList.add("immutability 不变性");
stringList.add("immutable 不可变(的)");
stringList.add("implement 实作、实现 实现");
stringList.add("implementation 实作品、实作体、实作码、实件 实现");
stringList.add("implicit 隐喻的、暗自的、隐式 隐式");
stringList.add("import 汇入 导入");
stringList.add("increment operator 累加运算子 ++ 增加操作符");
stringList.add("infinite loop 无穷回圈 无限循环");
stringList.add("infinite recursive 无穷递回 无限递归");
stringList.add("information 资讯 信息");
stringList.add("infrastructure 公共基础建设");
stringList.add("inheritance 继承、继承机制 继承、继承机制");
stringList.add("inline 行内 内联");
stringList.add("inline expansion 行内展开 内联展开");
stringList.add("initialization 初始化(动作) 初始化");
stringList.add("initialization list 初值列 初始值列表");
stringList.add("initialize 初始化 初始化");
stringList.add("inner class 内隐类别 内嵌类");
stringList.add("instance 实体 实例 ###### (根据某种表述而实际产生的「东西」)");
stringList.add("instantiated 具现化、实体化(常应用於 template) 实例化");
stringList.add("instantiation 具现体、具现化实体(常应用於 template) 实例");
stringList.add("integer (integral) 整数(的) 整型(的)");
stringList.add("integrate 整合 集成");
stringList.add("interacts 交谈、互动 交互");
stringList.add("interface 介面 接口");
stringList.add("for GUI 介面 界面");
stringList.add("interpreter 直译器 解释器");
stringList.add("invariants 恒常性,约束条件 约束条件");
stringList.add("invoke 唤起 调用");
stringList.add("iterate 迭代(回圈一个轮回一个轮回地进行) 迭代");
stringList.add("exception 异常情况 异常");
stringList.add("exception declaration 异常宣告(ref. C++ Primer 3/e, 11.3) 异常声明");
stringList.add("exception handling 异常处理、异常处理机制 异常处理、异常处理机制");
stringList.add("exception specification 异常规格(ref. C++ Primer 3/e, 11.4) 异常规范");
stringList.add("exit 退离(指离开函式时的那一个执行点) 退出");
stringList.add("explicit 明白的、明显的、显式 显式");
stringList.add("export 汇出 引出、导出");
stringList.add("expression 运算式、算式 表达式");
stringList.add("facility 设施、设备 设施、设备");
stringList.add("feature 特性");
stringList.add("field 栏位,资料栏(Java) 字段, 值域(Java)");
stringList.add("file 档案 文件");
stringList.add("firmware 韧体 固件");
stringList.add("flag 旗标 标记");
stringList.add("flash memory 快闪记忆体 闪存");
stringList.add("flexibility 弹性 灵活性");
stringList.add("flush 清理、扫清 刷新");
stringList.add("font 字型 字体");
stringList.add("form 表单(programming 用语) 窗体");
stringList.add("formal parameter 形式叁数 形式叁数");
stringList.add("forward declaration 前置宣告 前置声明");
stringList.add("forwarding 转呼叫,转发 转发");
stringList.add("forwarding function 转呼叫函式,转发函式 转发函数");
stringList.add("fractal 碎形 分形");
stringList.add("framework 框架 框架");
stringList.add("full specialization 全特化(ref. partial specialization)");
stringList.add("function 函式、函数 函数");
stringList.add("function call operator 同 call operator");
stringList.add("function object 函式物件(ref. C++ Primer 3/e, 12.3) 函数对象");
stringList.add("function overloaded resolution 函式多载决议程序 函数重载解决(方案)");
stringList.add("functionality 功能、机能 功能");
stringList.add("function template 函式模板、函式范本 函数模板");
stringList.add("functor 仿函式 仿函式、函子");
stringList.add("game 游戏 游戏");
stringList.add("generate 生成");
stringList.add("generic 泛型、一般化的 一般化的、通用的、泛化");
stringList.add("generic algorithm 泛型演算法 通用算法");
stringList.add("getter (相对於 setter) 取值函式");
stringList.add("global 全域的(对应於 local) 全局的");
stringList.add("global object 全域物件 全局对象");
stringList.add("global scope resolution operator 全域生存空间(范围决议)运算子 :: 全局范围解析操作符");
stringList.add("group 群组");
stringList.add("group box 群组方块 分组框");
stringList.add("guard clause 卫述句 (Refactoring, p250) 卫语句");
stringList.add("GUI 图形介面 图形界面");
stringList.add("hand shaking 握手协商");
stringList.add("handle 识别码、识别号、号码牌、权柄 句柄");
stringList.add("handler 处理常式 处理函数");
stringList.add("hard-coded 编死的 硬编码的");
stringList.add("hard-copy 硬拷图 屏幕截图");
stringList.add("hard disk 硬碟 硬盘");
stringList.add("hardware 硬体 硬件");
stringList.add("hash table 杂凑表 哈希表、散列表");
stringList.add("header file 表头档、标头档 头文件");
stringList.add("heap 堆积 堆");
stringList.add("hierarchy 阶层体系 层次结构(体系)");
stringList.add("hook 挂钩 钩子");
stringList.add("hyperlink 超链结 超链接");
stringList.add("icon 图示、图标 图标");
stringList.add("IDE 整合开发环境 集成开发环境");
stringList.add("identifier 识别字、识别符号 标识符");
stringList.add("if and only if 若且唯若 当且仅当");
stringList.add("Illinois 伊利诺 伊利诺斯");
stringList.add("image 影像 图象");
stringList.add("immediate base 直接的(紧临的)上层 base class。 直接上层基类");
stringList.add("immediate derived 直接的(紧临的)下层 derived class。 直接下层派生类");
stringList.add("immutability 不变性");
stringList.add("immutable 不可变(的)");
stringList.add("implement 实作、实现 实现");
stringList.add("implementation 实作品、实作体、实作码、实件 实现");
stringList.add("implicit 隐喻的、暗自的、隐式 隐式");
stringList.add("import 汇入 导入");
stringList.add("increment operator 累加运算子 ++ 增加操作符");
stringList.add("infinite loop 无穷回圈 无限循环");
stringList.add("infinite recursive 无穷递回 无限递归");
stringList.add("information 资讯 信息");
stringList.add("infrastructure 公共基础建设");
stringList.add("inheritance 继承、继承机制 继承、继承机制");
stringList.add("inline 行内 内联");
stringList.add("inline expansion 行内展开 内联展开");
stringList.add("initialization 初始化(动作) 初始化");
stringList.add("initialization list 初值列 初始值列表");
stringList.add("initialize 初始化 初始化");
stringList.add("inner class 内隐类别 内嵌类");
stringList.add("instance 实体 实例 ###### (根据某种表述而实际产生的「东西」)");
stringList.add("instantiated 具现化、实体化(常应用於 template) 实例化");
stringList.add("instantiation 具现体、具现化实体(常应用於 template) 实例");
stringList.add("integer (integral) 整数(的) 整型(的)");
stringList.add("integrate 整合 集成");
stringList.add("interacts 交谈、互动 交互");
stringList.add("interface 介面 接口");
stringList.add("for GUI 介面 界面");
stringList.add("interpreter 直译器 解释器");
stringList.add("invariants 恒常性,约束条件 约束条件");
stringList.add("invoke 唤起 调用");
stringList.add("iterate 迭代(回圈一个轮回一个轮回地进行) 迭代");
stringList.add("iterative 反覆的,迭代的");
stringList.add("iterator 迭代器(一种泛型指标) 迭代器");
stringList.add("iteration 迭代(回圈每次轮回称为一个 iteration) 迭代");
stringList.add("item 项目、条款 项、条款、项目");
stringList.add("laser 雷射 激光");
stringList.add("level 阶 层 (级) 例 high level 高阶 高层");
stringList.add("library 程式库、函式库 库、函数库");
stringList.add("lifetime 生命期、寿命 生命期、寿命");
stringList.add("link 联结、连结 连接,链接");
stringList.add("linker 联结器、连结器 连接器");
stringList.add("literal constant 字面常数(例 3.14 或 “hi” 这等常数值) 字面常数");
stringList.add("list 串列(linked-list) 列表、表、链表");
stringList.add("list box 列表方块、列表框 列表框");
stringList.add("load 载入 装载");
stringList.add("loader 载入器 装载器、载入器");
stringList.add("local 区域的(对应於 global) 局部的");
stringList.add("local object 区域物件 局部对象");
stringList.add("lock 机锁");
stringList.add("loop 回圈 循环");
stringList.add("lvalue 左值 左值");
stringList.add("macro 巨集 宏");
stringList.add("magic number 魔术数字 魔法数");
stringList.add("maintain 维护 维护");
stringList.add("manipulator 操纵器(iostream 预先定义的一种东西) 操纵器");
stringList.add("marshal 编列 列集 叁考 demarshal");
stringList.add("mechanism 机制 机制");
stringList.add("member 成员 成员");
stringList.add("member access operator 成员取用运算子(有 dot 和 arrow 两种) 成员存取操作符");
stringList.add("member function 成员函式 成员函数");
stringList.add("member initialization list 成员初值列 成员初始值列表");
stringList.add("memberwise 以 member 为单元┅、members 逐一┅ 以成员为单位");
stringList.add("memberwise copy 以 members 为单元逐一复制");
stringList.add("memory 记忆体 内存");
stringList.add("menu 表单、选单 菜单");
stringList.add("message 讯息 消息");
stringList.add("message based 以讯息为基础的 基於消息的");
stringList.add("message loop 讯息回圈 消息环");
stringList.add("method (java) 方法、行为、函式 方法");
stringList.add("meta- 超- 元- 例 meta-programming 超编程 元编程");
stringList.add("micro 微 微");
stringList.add("middleware 中介层 中间件");
stringList.add("modeling 模塑");
stringList.add("modeling language 塑模语言,建模语言");
stringList.add("modem 数据机 调制解调器");
stringList.add("module 模组 模块");
stringList.add("modifier 饰词 修饰符");
stringList.add("most derived class 最末层衍生类别 最底层的派生类");
stringList.add("mouse 滑鼠 鼠标");
stringList.add("mutable 可变的 可变的");
stringList.add("multi-tasking 多工 多任务");
stringList.add("namespace 命名空间 名字空间、命名空间");
stringList.add("native 原生的 本地的、固有的");
stringList.add("nested class 巢状类别 嵌套类");
stringList.add("network 网路 网络");
stringList.add("network card 网路卡 网卡");
stringList.add("object 物件 对象");
stringList.add("object based 以物件为基础的 基於对象的");
stringList.add("object file 目的档 目标文件");
stringList.add("object model 物件模型 对象模型");
stringList.add("object oriented 物件导向的 面向对象的");
stringList.add("online 线上 在线");
stringList.add("opaque 不透明的");
stringList.add("operand 运算元 操作数");
stringList.add("operating system (OS) 作业系统 操作系统");
stringList.add("operation 操作、操作行为 操作");
stringList.add("operator 运算子 操作符、运算符");
stringList.add("option 选项,可选方案 选项");
stringList.add("ordinary 常规的 常规的");
stringList.add("overflow 上限溢位(相对於 underflow) 溢出(underflow:下溢)");
stringList.add("overhead 额外负担、额外开销 额外开销");
stringList.add("overload 多载化、多载化、重载 重载");
stringList.add("overloaded function 多载化函式 重载的函数");
stringList.add("overloaded operator 多载化运算子 被重载的操作符");
stringList.add("overloaded set 多载集合 重载集合");
stringList.add("override 改写、覆写 重载、改写、重新定义 ###### (在 derived class 中重新定义虚拟函式");
stringList.add("package 套件 包");
stringList.add("pair 对组");
stringList.add("palette 调色盘、组件盘、工具箱");
stringList.add("pane 窗格 窗格 ###### (有时为嵌板之意,例 Java Content Pane)");
stringList.add("parallel 平行 并行");
stringList.add("parameter 叁数(函式叁数列上的变数) 叁数、形式叁数、形叁");
stringList.add("parameter list 叁数列 叁数列表");
stringList.add("parent class 父类别(或称 base class) 父类");
stringList.add("parentheses 小括弧、小括号 圆括弧、圆括号");
stringList.add("parse 解析 解析");
stringList.add("part 零件 部件");
stringList.add("partial specialization 偏特化(ref. C++ Primer 3/e, 16.10) 局部特化 ###### (ref. full specialization)");
stringList.add("pass by address 传址(函式引数的传递方式)(非正式用语)传地址");
stringList.add("pass by reference 传址(函式引数的一种传递方式) 传地址, 按引用传递");
stringList.add("pass by value 传值(函式引数的一种传递方式) 按值传递");
stringList.add("pattern 范式、样式 模式");
stringList.add("performance 效率、性能兼而有之 性能");
stringList.add("persistence 永续性 持久性");
stringList.add("pixel 图素、像素 像素");
stringList.add("placement delete ref. C++ Primer 3/e, 15.8.2");
stringList.add("placement new ref. C++ Primer 3/e, 15.8.2");
stringList.add("platform 平台 平台");
stringList.add("pointer 指标 指针 址位器(和址叁器 reference 形成对映,满好)");
stringList.add("poll 轮询 轮询");
stringList.add("polymorphism 多型 多态");
stringList.add("pop up 冒起式、弹出式 弹出式");
stringList.add("port 埠 端口");
stringList.add("postfix 后置式、后序式 后置式");
stringList.add("precedence 优先序(通常用於运算子的优先执行次序)");
stringList.add("prefix 前置式、前序式 前置式");
stringList.add("preprocessor 前处理器 预处理器");
stringList.add("prime 质数 素数");
stringList.add("primitive type 基本型别 (不同於 base class,基础类别)");
stringList.add("print 列印 打印");
stringList.add("printer 印表机 打印机");
stringList.add("priority 优先权 (通常用於执行绪获得 CPU 时间的优先次序)");
stringList.add("procedure 程序 过程");
stringList.add("procedural 程序性的、程序式的 过程式的、过程化的");
stringList.add("process 行程 进程");
stringList.add("profile 评测 评测");
stringList.add("profiler 效能(效率)评测器 效能(性能)评测器");
stringList.add("programmer 程式员 程序员");
stringList.add("programming 编程、程式设计、程式化 编程");
stringList.add("progress bar 进度指示器 进度指示器");
stringList.add("project 专案 项目、工程");
stringList.add("property 属性");
stringList.add("protocol 协定 协议");
stringList.add("pseudo code 假码、虚拟码、伪码 伪码");
stringList.add("qualified 经过资格修饰(例如加上 scope 运算子) 限定");
stringList.add("qualifier 资格修饰词、饰词 限定修饰词");
stringList.add("quality 品质 质量");
stringList.add("queue 伫列 队列");
stringList.add("radian 径度 弧度");
stringList.add("radio button 圆钮 单选按钮");
stringList.add("raise 引发(常用来表示发出一个 exception) 引起、引发");
stringList.add("random number 随机数、乱数 随机数");
stringList.add("range 范围、区间(用於 STL 时) 范围、区间");
stringList.add("rank 等级、分等(ref. C++Primer 3/e 9,15章) 等级");
stringList.add("raw 生鲜的、未经处理的 未经处理的");
stringList.add("record 记录 记录");
stringList.add("recordset 记录集 记录集");
stringList.add("recursive 递回 递归");
stringList.add("re-direction 重导向 重定向");
stringList.add("refactoring 重构、重整 重构");
stringList.add("refer 取用 叁考");
stringList.add("refer to 指向、指涉、指代");
stringList.add("reference (C++ 中类似指标的东西,相当於 “化身”) 引用、叁考 址叁器, see pointer");
stringList.add("register 暂存器 寄存器");
stringList.add("reflection 反射 反射、映像");
stringList.add("relational database 关联式资料库 关系数据库");
stringList.add("represent 表述,表现 表述,表现");
stringList.add("resolve 决议(为算式中的符号名称寻找 解析 对应之宣告式的过程)");
stringList.add("resolution 决议程序、决议过程 解析过程");
stringList.add("resolution 解析度 分辨率");
stringList.add("restriction 局限");
stringList.add("return 传回、回返 返回");
stringList.add("return type 回返型别 返回类型");
stringList.add("return value 回返值 返回值");
stringList.add("robust 强固、稳健 健壮");
stringList.add("robustness 强固性、稳健性 健壮性");
stringList.add("routine 常式 例程");
stringList.add("runtime 执行期 运行期、运行时");
stringList.add("common language runtime (CLR) 译为「通用语言执行层」");
stringList.add("rvalue 右值 右值");
stringList.add("save 储存 存储");
stringList.add("schedule 排程 调度");
stringList.add("scheduler 排程器 调度程序");
stringList.add("scheme 结构纲目、组织纲目");
stringList.add("scroll bar 卷轴 滚动条");
stringList.add("scope 生存空间、生存范围、范畴、作用域 生存空间");
stringList.add("scope operator 生存空间(范围决议)运算子 :: 生存空间操作符");
stringList.add("scope resolution operator 生存空间决议运算子 生存空间解析操作符 ###### (与scope operator同)");
stringList.add("screen 萤幕 屏幕");
stringList.add("search 搜寻 查找");
stringList.add("semantics 语意 语义");
stringList.add("sequential container 序列式容器 顺序式容器 ###### (对应於 associative container)");
stringList.add("server 伺服器、伺服端 服务器、服务端");
stringList.add("serial 串行");
stringList.add("serialization 次第读写,序列化 序列化 (serialize)");
stringList.add("setter (相对於 getter) 设值函式");
stringList.add("signal 信号");
stringList.add("signature 标记式、签名式、署名式 签名");
stringList.add("slider 滚轴 滑块");
stringList.add("slot 条孔、槽 槽");
stringList.add("smart pointer 灵巧指标、精灵指标 智能指针");
stringList.add("snapshot 萤幕快照(图) 屏幕截图");
stringList.add("specialization 特殊化、特殊化定义、特殊化宣告 特化");
stringList.add("specification 规格 规格、规范");
stringList.add("splitter 分裂视窗 切分窗口");
stringList.add("software 软体 软件");
stringList.add("solution 解法,解决方案 方案");
stringList.add("source 原始码 源码、源代码");
stringList.add("stack 堆叠 栈");
stringList.add("stack unwinding 堆叠辗转开解(此词用於 exception 主题) 栈辗转开解 *");
stringList.add("standard library 标准程式库");
stringList.add("standard template library 标准模板程式库");
stringList.add("statement 述句 语句、声明");
stringList.add("status bar 状态列、状态栏 状态条");
stringList.add("STL 见 standard template library");
stringList.add("stream 资料流、串流 流");
stringList.add("string 字串 字符串");
stringList.add("subroutine");
stringList.add("subscript operator 下标运算子 [ ] 下标操作符");
stringList.add("subtype 子型别 子类型");
stringList.add("support 支援 支持");
stringList.add("suspend 虚悬 挂起");
stringList.add("symbol 符号 记号");
stringList.add("syntax 语法 语法");
stringList.add("tag 标签 标记 索引标签,页签");
stringList.add("target 标的(例 target pointer:标的指标) 目标");
stringList.add("task switch 工作切换 任务切换");
stringList.add("template 模板、范本 模板");
stringList.add("template argument deduction 模板引数推导 模板叁数推导");
stringList.add("template explicit specialization 模板显式特化(版本) 模板显式特化");
stringList.add("template parameter 模板叁数 模板叁数");
stringList.add("temporary object 暂时物件 临时对象");
stringList.add("text 文字 文本");
stringList.add("application 应用程式 应用、应用程序");
stringList.add("application framework 应用程式框架、应用框架 应用程序框架");
stringList.add("architecture 架构、系统架构 体系结构");
stringList.add("argument 引数(传给函式的值)。叁见 parameter 叁数、实质叁数、实叁、自变量");
stringList.add("array 阵列 数组");
stringList.add("arrow operator arrow(箭头)运算子 箭头操作符");
stringList.add("assembly 装配件");
stringList.add("assembly language 组合语言 汇编语言");
stringList.add("assert(ion) 断言");
stringList.add("assign 指派、指定、设值、赋值 赋值");
stringList.add("assignment 指派、指定 赋值、分配");
stringList.add("assignment operator 指派(赋值)运算子 = 赋值操作符");
stringList.add("associated 相应的、相关的 相关的、关联、相应的");
stringList.add("associative container 关联式容器(对应 sequential container) 关联式容器");
stringList.add("atomic 不可分割的 原子的");
stringList.add("attribute 属性 属性、特性");
stringList.add("audio 音讯 音频");
stringList.add("A.I. 人工智慧 人工智能");
stringList.add("background 背景 背景(用於图形着色) 后台(用於行程)");
stringList.add("backward compatible 回溯相容 向下兼容");
stringList.add("bandwidth 频宽 带宽");
stringList.add("base class 基础类别 基类");
stringList.add("base type 基础型别 (等同於 base class)");
stringList.add("batch 批次(意思是整批作业) 批处理");
stringList.add("benefit 利益 收益");
stringList.add("best viable function 最佳可行函式 最佳可行函式 (从 viable functions 中挑出的最佳吻合者)");
stringList.add("binary search 二分搜寻法 二分查找");
stringList.add("binary tree 二元树 二叉树");
stringList.add("binary function 二元函式 双叁函数");
stringList.add("binary operator 二元运算子 二元操作符");
stringList.add("binding 系结 绑定");
stringList.add("bit 位元 位");
stringList.add("bit field 位元栏 位域");
stringList.add("bitmap 位元图 位图");
stringList.add("bitwise 以 bit 为单元逐一┅");
stringList.add("bitwise copy 以 bit 为单元进行复制;位元逐一复制 位拷贝");
stringList.add("block 区块,区段 块、区块、语句块");
stringList.add("boolean 布林值(真假值,true 或 false) 布尔值");
stringList.add("border 边框、框线 边框");
stringList.add("brace(curly brace) 大括弧、大括号 花括弧、花括号");
stringList.add("bracket(square brakcet) 中括弧、中括号 方括弧、方括号");
stringList.add("breakpoint 中断点 断点");
stringList.add("build 建造、构筑、建置(MS 用语)");
stringList.add("build-in 内建 内置");
stringList.add("bus 汇流排 总线");
stringList.add("business 商务,业务 业务");
stringList.add("buttons 按钮 按钮");
stringList.add("byte 位元组(由 8 bits 组成) 字节");
stringList.add("cache 快取 高速缓存");
stringList.add("call 呼叫、叫用 调用");
stringList.add("callback 回呼 回调");
stringList.add("call operator call(函式呼叫)运算子调用操作符 ###### (同 function call operator)");
stringList.add("candidate function 候选函式 候选函数 ###### (在函式多载决议程序中出现的候选函式)");
stringList.add("chain 串链(例 chain of function calls) 链");
stringList.add("character 字元 字符");
stringList.add("check box 核取方块 (i.e. check button) 复选框");
stringList.add("checked exception 可控式异常(Java)");
stringList.add("check button 方钮 (i.e. check box) 复选按钮");
stringList.add("child class 子类别(或称为derived class, subtype) 子类");
stringList.add("class 类别 类");
stringList.add("class body 类别本体 类体");
stringList.add("class declaration 类别宣告、类别宣告式 类声明");
stringList.add("class definition 类别定义、类别定义式 类定义");
stringList.add("class derivation list 类别衍化列 类继承列表");
stringList.add("class head 类别表头 类头");
stringList.add("class hierarchy 类别继承体系, 类别阶层 类层次体系");
stringList.add("class library 类别程式库、类别库 类库");
stringList.add("class template 类别模板、类别范本 类模板");
stringList.add("class template partial specializations ###### 类别模板偏特化 类模板部分特化");
stringList.add("class template specializations ###### 类别模板特化 类模板特化");
stringList.add("cleanup 清理、善后 清理、清除");
stringList.add("client 客端、客户端、客户 客户");
stringList.add("client-server 主从架构 客户/服务器");
stringList.add("clipboard 剪贴簿 剪贴板");
stringList.add("clone 复制 克隆");
stringList.add("collection 群集 集合");
stringList.add("combo box 复合方块、复合框 组合框");
stringList.add("command line 命令列 命令行 (系统文字模式下的整行执行命令)");
stringList.add("communication 通讯 通讯");
stringList.add("compatible 相容 兼容");
stringList.add("compile time 编译期 编译期、编译时");
stringList.add("compiler 编译器 编译器");
stringList.add("component 组件 组件");
stringList.add("composition 复合、合成、组合 组合");
stringList.add("computer 电脑、计算机 计算机、电脑");
stringList.add("concept 概念 概念");
stringList.add("concrete 具象的 实在的");
stringList.add("concurrent 并行 并发");
stringList.add("configuration 组态 配置");
stringList.add("connection 连接,连线(网络,资料库) 连接");
stringList.add("constraint 约束(条件)");
stringList.add("construct 构件 构件");
stringList.add("container 容器 容器 ###### (存放资料的某种结构如 list, vector…)");
stringList.add("containment 内含 包容");
stringList.add("context 背景关系、周遭环境、上下脉络 环境、上下文");
stringList.add("control 控制元件、控件 控件");
stringList.add("console 主控台 控制台");
stringList.add("const 常数(constant 的缩写,C++ 关键字)");
stringList.add("constant 常数(相对於 variable) 常量");
stringList.add("constructor(ctor) 建构式 构造函数 ###### (与class 同名的一种 member functions)");
stringList.add("copy (v) 复制、拷贝 拷贝");
stringList.add("copy (n) 复件, 副本");
stringList.add("cover 涵盖 覆盖");
stringList.add("create 创建、建立、产生、生成 创建");
stringList.add("creation 产生、生成 创建");
stringList.add("cursor 游标 光标");
stringList.add("custom 订制、自定 定制");
stringList.add("data 资料 数据");
stringList.add("database 资料库 数据库");
stringList.add("database schema 数据库结构纲目");
stringList.add("data member 资料成员、成员变数 数据成员、成员变量");
stringList.add("data structure 资料结构 数据结构");
stringList.add("datagram 资料元 数据报文");
stringList.add("dead lock 死结 死锁");
stringList.add("debug 除错 调试");
stringList.add("debugger 除错器 调试器");
stringList.add("declaration 宣告、宣告式 声明");
stringList.add("deduction 推导(例:template argument deduction) 推导、推断");
stringList.add("default 预设 缺省、默认");
stringList.add("defer 延缓 推迟");
stringList.add("define 定义 预定义");
stringList.add("definition 定义、定义区、定义式 定义");
stringList.add("delegate 委派、委托、委任 委托");
stringList.add("delegation (同上)");
stringList.add("demarshal 反编列 散集");
stringList.add("dereference 提领(取出指标所指物体的内容) 解叁考");
stringList.add("dereference operator dereference(提领)运算子 * 解叁考操作符");
stringList.add("derived class 衍生类别 派生类");
stringList.add("design by contract 契约式设计");
stringList.add("design pattern 设计范式、设计样式 设计模式 ※ 最近我比较喜欢「设计范式」一词");
stringList.add("destroy 摧毁、销毁");
stringList.add("destructor 解构式 析构函数");
stringList.add("device 装置、设备 设备");
stringList.add("dialog 对话窗、对话盒 对话框");
stringList.add("directive 指令(例:using directive) (编译)指示符");
stringList.add("directory 目录 目录");
stringList.add("disk 碟 盘");
stringList.add("dispatch 分派 分派");
stringList.add("distributed computing 分布式计算 (分布式电算) 分布式计算 分散式计算 (分散式电算)");
stringList.add("document 文件 文档");
stringList.add("dot operator dot(句点)运算子 . (圆)点操作符");
stringList.add("driver 驱动程式 驱动(程序)");
stringList.add("dynamic binding 动态系结 动态绑定");
stringList.add("efficiency 效率 效率");
stringList.add("efficient 高效 高效");
stringList.add("end user 终端用户");
stringList.add("entity 物体 实体、物体");
stringList.add("encapsulation 封装 封装");
stringList.add("enclosing class 外围类别(与巢状类别 nested class 有关)外围类");
stringList.add("enum (enumeration) 列举(一种 C++ 资料型别) 枚举");
stringList.add("enumerators 列举元(enum 型别中的成员) 枚举成员、枚举器");
stringList.add("equal 相等 相等");
stringList.add("equality 相等性 相等性");
stringList.add("equality operator equality(等号)运算子 == 等号操作符");
stringList.add("equivalence 等价性、等同性、对等性 等价性");
stringList.add("equivalent 等价、等同、对等 等价");
stringList.add("escape code 转义码 转义码");
stringList.add("evaluate 评估、求值、核定 评估");
stringList.add("event 事件 事件");
stringList.add("event driven 事件驱动的 事件驱动的");
stringList.add("exception 异常情况 异常");
stringList.add("exception declaration 异常宣告(ref. C++ Primer 3/e, 11.3) 异常声明");
stringList.add("exception handling 异常处理、异常处理机制 异常处理、异常处理机制");
stringList.add("exception specification 异常规格(ref. C++ Primer 3/e, 11.4) 异常规范");
stringList.add("exit 退离(指离开函式时的那一个执行点) 退出");
stringList.add("explicit 明白的、明显的、显式 显式");
stringList.add("export 汇出 引出、导出");
stringList.add("expression 运算式、算式 表达式");
stringList.add("facility 设施、设备 设施、设备");
stringList.add("feature 特性");
stringList.add("field 栏位,资料栏(Java) 字段, 值域(Java)");
stringList.add("file 档案 文件");
stringList.add("firmware 韧体 固件");
stringList.add("flag 旗标 标记");
stringList.add("flash memory 快闪记忆体 闪存");
stringList.add("flexibility 弹性 灵活性");
stringList.add("flush 清理、扫清 刷新");
stringList.add("font 字型 字体");
stringList.add("form 表单(programming 用语) 窗体");
stringList.add("formal parameter 形式叁数 形式叁数");
stringList.add("forward declaration 前置宣告 前置声明");
stringList.add("forwarding 转呼叫,转发 转发");
stringList.add("forwarding function 转呼叫函式,转发函式 转发函数");
stringList.add("fractal 碎形 分形");
stringList.add("framework 框架 框架");
stringList.add("full specialization 全特化(ref. partial specialization)");
stringList.add("function 函式、函数 函数");
stringList.add("function call operator 同 call operator");
stringList.add("function object 函式物件(ref. C++ Primer 3/e, 12.3) 函数对象");
stringList.add("function overloaded resolution 函式多载决议程序 函数重载解决(方案)");
stringList.add("functionality 功能、机能 功能");
stringList.add("function template 函式模板、函式范本 函数模板");
stringList.add("functor 仿函式 仿函式、函子");
stringList.add("game 游戏 游戏");
stringList.add("generate 生成");
stringList.add("generic 泛型、一般化的 一般化的、通用的、泛化");
stringList.add("generic algorithm 泛型演算法 通用算法");
stringList.add("getter (相对於 setter) 取值函式");
stringList.add("global 全域的(对应於 local) 全局的");
stringList.add("global object 全域物件 全局对象");
stringList.add("global scope resolution operator 全域生存空间(范围决议)运算子 :: 全局范围解析操作符");
stringList.add("group 群组");
stringList.add("group box 群组方块 分组框");
stringList.add("guard clause 卫述句 (Refactoring, p250) 卫语句");
stringList.add("GUI 图形介面 图形界面");
stringList.add("hand shaking 握手协商");
stringList.add("handle 识别码、识别号、号码牌、权柄 句柄");
stringList.add("handler 处理常式 处理函数");
stringList.add("hard-coded 编死的 硬编码的");
stringList.add("hard-copy 硬拷图 屏幕截图");
stringList.add("hard disk 硬碟 硬盘");
stringList.add("hardware 硬体 硬件");
stringList.add("hash table 杂凑表 哈希表、散列表");
stringList.add("header file 表头档、标头档 头文件");
stringList.add("heap 堆积 堆");
stringList.add("hierarchy 阶层体系 层次结构(体系)");
stringList.add("hook 挂钩 钩子");
stringList.add("hyperlink 超链结 超链接");
stringList.add("icon 图示、图标 图标");
stringList.add("IDE 整合开发环境 集成开发环境");
stringList.add("identifier 识别字、识别符号 标识符");
stringList.add("if and only if 若且唯若 当且仅当");
stringList.add("Illinois 伊利诺 伊利诺斯");
stringList.add("image 影像 图象");
stringList.add("immediate base 直接的(紧临的)上层 base class。 直接上层基类");
stringList.add("immediate derived 直接的(紧临的)下层 derived class。 直接下层派生类");
stringList.add("immutability 不变性");
stringList.add("immutable 不可变(的)");
stringList.add("implement 实作、实现 实现");
stringList.add("implementation 实作品、实作体、实作码、实件 实现");
stringList.add("implicit 隐喻的、暗自的、隐式 隐式");
stringList.add("import 汇入 导入");
stringList.add("increment operator 累加运算子 ++ 增加操作符");
stringList.add("infinite loop 无穷回圈 无限循环");
stringList.add("infinite recursive 无穷递回 无限递归");
stringList.add("information 资讯 信息");
stringList.add("infrastructure 公共基础建设");
stringList.add("inheritance 继承、继承机制 继承、继承机制");
stringList.add("inline 行内 内联");
stringList.add("inline expansion 行内展开 内联展开");
stringList.add("initialization 初始化(动作) 初始化");
stringList.add("initialization list 初值列 初始值列表");
stringList.add("initialize 初始化 初始化");
stringList.add("inner class 内隐类别 内嵌类");
stringList.add("instance 实体 实例 ###### (根据某种表述而实际产生的「东西」)");
stringList.add("instantiated 具现化、实体化(常应用於 template) 实例化");
stringList.add("instantiation 具现体、具现化实体(常应用於 template) 实例");
stringList.add("integer (integral) 整数(的) 整型(的)");
stringList.add("integrate 整合 集成");
stringList.add("interacts 交谈、互动 交互");
stringList.add("interface 介面 接口");
stringList.add("for GUI 介面 界面");
stringList.add("interpreter 直译器 解释器");
stringList.add("invariants 恒常性,约束条件 约束条件");
stringList.add("invoke 唤起 调用");
stringList.add("iterate 迭代(回圈一个轮回一个轮回地进行) 迭代");
stringList.add("exception 异常情况 异常");
stringList.add("exception declaration 异常宣告(ref. C++ Primer 3/e, 11.3) 异常声明");
stringList.add("exception handling 异常处理、异常处理机制 异常处理、异常处理机制");
stringList.add("exception specification 异常规格(ref. C++ Primer 3/e, 11.4) 异常规范");
stringList.add("exit 退离(指离开函式时的那一个执行点) 退出");
stringList.add("explicit 明白的、明显的、显式 显式");
stringList.add("export 汇出 引出、导出");
stringList.add("expression 运算式、算式 表达式");
stringList.add("facility 设施、设备 设施、设备");
stringList.add("feature 特性");
stringList.add("field 栏位,资料栏(Java) 字段, 值域(Java)");
stringList.add("file 档案 文件");
stringList.add("firmware 韧体 固件");
stringList.add("flag 旗标 标记");
stringList.add("flash memory 快闪记忆体 闪存");
stringList.add("flexibility 弹性 灵活性");
stringList.add("flush 清理、扫清 刷新");
stringList.add("font 字型 字体");
stringList.add("form 表单(programming 用语) 窗体");
stringList.add("formal parameter 形式叁数 形式叁数");
stringList.add("forward declaration 前置宣告 前置声明");
stringList.add("forwarding 转呼叫,转发 转发");
stringList.add("forwarding function 转呼叫函式,转发函式 转发函数");
stringList.add("fractal 碎形 分形");
stringList.add("framework 框架 框架");
stringList.add("full specialization 全特化(ref. partial specialization)");
stringList.add("function 函式、函数 函数");
stringList.add("function call operator 同 call operator");
stringList.add("function object 函式物件(ref. C++ Primer 3/e, 12.3) 函数对象");
stringList.add("function overloaded resolution 函式多载决议程序 函数重载解决(方案)");
stringList.add("functionality 功能、机能 功能");
stringList.add("function template 函式模板、函式范本 函数模板");
stringList.add("functor 仿函式 仿函式、函子");
stringList.add("game 游戏 游戏");
stringList.add("generate 生成");
stringList.add("generic 泛型、一般化的 一般化的、通用的、泛化");
stringList.add("generic algorithm 泛型演算法 通用算法");
stringList.add("getter (相对於 setter) 取值函式");
stringList.add("global 全域的(对应於 local) 全局的");
stringList.add("global object 全域物件 全局对象");
stringList.add("global scope resolution operator 全域生存空间(范围决议)运算子 :: 全局范围解析操作符");
stringList.add("group 群组");
stringList.add("group box 群组方块 分组框");
stringList.add("guard clause 卫述句 (Refactoring, p250) 卫语句");
stringList.add("GUI 图形介面 图形界面");
stringList.add("hand shaking 握手协商");
stringList.add("handle 识别码、识别号、号码牌、权柄 句柄");
stringList.add("handler 处理常式 处理函数");
stringList.add("hard-coded 编死的 硬编码的");
stringList.add("hard-copy 硬拷图 屏幕截图");
stringList.add("hard disk 硬碟 硬盘");
stringList.add("hardware 硬体 硬件");
stringList.add("hash table 杂凑表 哈希表、散列表");
stringList.add("header file 表头档、标头档 头文件");
stringList.add("heap 堆积 堆");
stringList.add("hierarchy 阶层体系 层次结构(体系)");
stringList.add("hook 挂钩 钩子");
stringList.add("hyperlink 超链结 超链接");
stringList.add("icon 图示、图标 图标");
stringList.add("IDE 整合开发环境 集成开发环境");
stringList.add("identifier 识别字、识别符号 标识符");
stringList.add("if and only if 若且唯若 当且仅当");
stringList.add("Illinois 伊利诺 伊利诺斯");
stringList.add("image 影像 图象");
stringList.add("immediate base 直接的(紧临的)上层 base class。 直接上层基类");
stringList.add("immediate derived 直接的(紧临的)下层 derived class。 直接下层派生类");
stringList.add("immutability 不变性");
stringList.add("immutable 不可变(的)");
stringList.add("implement 实作、实现 实现");
stringList.add("implementation 实作品、实作体、实作码、实件 实现");
stringList.add("implicit 隐喻的、暗自的、隐式 隐式");
stringList.add("import 汇入 导入");
stringList.add("increment operator 累加运算子 ++ 增加操作符");
stringList.add("infinite loop 无穷回圈 无限循环");
stringList.add("infinite recursive 无穷递回 无限递归");
stringList.add("information 资讯 信息");
stringList.add("infrastructure 公共基础建设");
stringList.add("inheritance 继承、继承机制 继承、继承机制");
stringList.add("inline 行内 内联");
stringList.add("inline expansion 行内展开 内联展开");
stringList.add("initialization 初始化(动作) 初始化");
stringList.add("initialization list 初值列 初始值列表");
stringList.add("initialize 初始化 初始化");
stringList.add("inner class 内隐类别 内嵌类");
stringList.add("instance 实体 实例 ###### (根据某种表述而实际产生的「东西」)");
stringList.add("instantiated 具现化、实体化(常应用於 template) 实例化");
stringList.add("instantiation 具现体、具现化实体(常应用於 template) 实例");
stringList.add("integer (integral) 整数(的) 整型(的)");
stringList.add("integrate 整合 集成");
stringList.add("interacts 交谈、互动 交互");
stringList.add("interface 介面 接口");
stringList.add("for GUI 介面 界面");
stringList.add("interpreter 直译器 解释器");
stringList.add("invariants 恒常性,约束条件 约束条件");
stringList.add("invoke 唤起 调用");
stringList.add("iterate 迭代(回圈一个轮回一个轮回地进行) 迭代");
stringList.add("iterative 反覆的,迭代的");
stringList.add("iterator 迭代器(一种泛型指标) 迭代器");
stringList.add("iteration 迭代(回圈每次轮回称为一个 iteration) 迭代");
stringList.add("item 项目、条款 项、条款、项目");
stringList.add("laser 雷射 激光");
stringList.add("level 阶 层 (级) 例 high level 高阶 高层");
stringList.add("library 程式库、函式库 库、函数库");
stringList.add("lifetime 生命期、寿命 生命期、寿命");
stringList.add("link 联结、连结 连接,链接");
stringList.add("linker 联结器、连结器 连接器");
stringList.add("literal constant 字面常数(例 3.14 或 “hi” 这等常数值) 字面常数");
stringList.add("list 串列(linked-list) 列表、表、链表");
stringList.add("list box 列表方块、列表框 列表框");
stringList.add("load 载入 装载");
stringList.add("loader 载入器 装载器、载入器");
stringList.add("local 区域的(对应於 global) 局部的");
stringList.add("local object 区域物件 局部对象");
stringList.add("lock 机锁");
stringList.add("loop 回圈 循环");
stringList.add("lvalue 左值 左值");
stringList.add("macro 巨集 宏");
stringList.add("magic number 魔术数字 魔法数");
stringList.add("maintain 维护 维护");
stringList.add("manipulator 操纵器(iostream 预先定义的一种东西) 操纵器");
stringList.add("marshal 编列 列集 叁考 demarshal");
stringList.add("mechanism 机制 机制");
stringList.add("member 成员 成员");
stringList.add("member access operator 成员取用运算子(有 dot 和 arrow 两种) 成员存取操作符");
stringList.add("member function 成员函式 成员函数");
stringList.add("member initialization list 成员初值列 成员初始值列表");
stringList.add("memberwise 以 member 为单元┅、members 逐一┅ 以成员为单位");
stringList.add("memberwise copy 以 members 为单元逐一复制");
stringList.add("memory 记忆体 内存");
stringList.add("menu 表单、选单 菜单");
stringList.add("message 讯息 消息");
stringList.add("message based 以讯息为基础的 基於消息的");
stringList.add("message loop 讯息回圈 消息环");
stringList.add("method (java) 方法、行为、函式 方法");
stringList.add("meta- 超- 元- 例 meta-programming 超编程 元编程");
stringList.add("micro 微 微");
stringList.add("middleware 中介层 中间件");
stringList.add("modeling 模塑");
stringList.add("modeling language 塑模语言,建模语言");
stringList.add("modem 数据机 调制解调器");
stringList.add("module 模组 模块");
stringList.add("modifier 饰词 修饰符");
stringList.add("most derived class 最末层衍生类别 最底层的派生类");
stringList.add("mouse 滑鼠 鼠标");
stringList.add("mutable 可变的 可变的");
stringList.add("multi-tasking 多工 多任务");
stringList.add("namespace 命名空间 名字空间、命名空间");
stringList.add("native 原生的 本地的、固有的");
stringList.add("nested class 巢状类别 嵌套类");
stringList.add("network 网路 网络");
stringList.add("network card 网路卡 网卡");
stringList.add("object 物件 对象");
stringList.add("object based 以物件为基础的 基於对象的");
stringList.add("object file 目的档 目标文件");
stringList.add("object model 物件模型 对象模型");
stringList.add("object oriented 物件导向的 面向对象的");
stringList.add("online 线上 在线");
stringList.add("opaque 不透明的");
stringList.add("operand 运算元 操作数");
stringList.add("operating system (OS) 作业系统 操作系统");
stringList.add("operation 操作、操作行为 操作");
stringList.add("operator 运算子 操作符、运算符");
stringList.add("option 选项,可选方案 选项");
stringList.add("ordinary 常规的 常规的");
stringList.add("overflow 上限溢位(相对於 underflow) 溢出(underflow:下溢)");
stringList.add("overhead 额外负担、额外开销 额外开销");
stringList.add("overload 多载化、多载化、重载 重载");
stringList.add("overloaded function 多载化函式 重载的函数");
stringList.add("overloaded operator 多载化运算子 被重载的操作符");
stringList.add("overloaded set 多载集合 重载集合");
stringList.add("override 改写、覆写 重载、改写、重新定义 ###### (在 derived class 中重新定义虚拟函式");
stringList.add("package 套件 包");
stringList.add("pair 对组");
stringList.add("palette 调色盘、组件盘、工具箱");
stringList.add("pane 窗格 窗格 ###### (有时为嵌板之意,例 Java Content Pane)");
stringList.add("parallel 平行 并行");
stringList.add("parameter 叁数(函式叁数列上的变数) 叁数、形式叁数、形叁");
stringList.add("parameter list 叁数列 叁数列表");
stringList.add("parent class 父类别(或称 base class) 父类");
stringList.add("parentheses 小括弧、小括号 圆括弧、圆括号");
stringList.add("parse 解析 解析");
stringList.add("part 零件 部件");
stringList.add("partial specialization 偏特化(ref. C++ Primer 3/e, 16.10) 局部特化 ###### (ref. full specialization)");
stringList.add("pass by address 传址(函式引数的传递方式)(非正式用语)传地址");
stringList.add("pass by reference 传址(函式引数的一种传递方式) 传地址, 按引用传递");
stringList.add("pass by value 传值(函式引数的一种传递方式) 按值传递");
stringList.add("pattern 范式、样式 模式");
stringList.add("performance 效率、性能兼而有之 性能");
stringList.add("persistence 永续性 持久性");
stringList.add("pixel 图素、像素 像素");
stringList.add("placement delete ref. C++ Primer 3/e, 15.8.2");
stringList.add("placement new ref. C++ Primer 3/e, 15.8.2");
stringList.add("platform 平台 平台");
stringList.add("pointer 指标 指针 址位器(和址叁器 reference 形成对映,满好)");
stringList.add("poll 轮询 轮询");
stringList.add("polymorphism 多型 多态");
stringList.add("pop up 冒起式、弹出式 弹出式");
stringList.add("port 埠 端口");
stringList.add("postfix 后置式、后序式 后置式");
stringList.add("precedence 优先序(通常用於运算子的优先执行次序)");
stringList.add("prefix 前置式、前序式 前置式");
stringList.add("preprocessor 前处理器 预处理器");
stringList.add("prime 质数 素数");
stringList.add("primitive type 基本型别 (不同於 base class,基础类别)");
stringList.add("print 列印 打印");
stringList.add("printer 印表机 打印机");
stringList.add("priority 优先权 (通常用於执行绪获得 CPU 时间的优先次序)");
stringList.add("procedure 程序 过程");
stringList.add("procedural 程序性的、程序式的 过程式的、过程化的");
stringList.add("process 行程 进程");
stringList.add("profile 评测 评测");
stringList.add("profiler 效能(效率)评测器 效能(性能)评测器");
stringList.add("programmer 程式员 程序员");
stringList.add("programming 编程、程式设计、程式化 编程");
stringList.add("progress bar 进度指示器 进度指示器");
stringList.add("project 专案 项目、工程");
stringList.add("property 属性");
stringList.add("protocol 协定 协议");
stringList.add("pseudo code 假码、虚拟码、伪码 伪码");
stringList.add("qualified 经过资格修饰(例如加上 scope 运算子) 限定");
stringList.add("qualifier 资格修饰词、饰词 限定修饰词");
stringList.add("quality 品质 质量");
stringList.add("queue 伫列 队列");
stringList.add("radian 径度 弧度");
stringList.add("radio button 圆钮 单选按钮");
stringList.add("raise 引发(常用来表示发出一个 exception) 引起、引发");
stringList.add("random number 随机数、乱数 随机数");
stringList.add("range 范围、区间(用於 STL 时) 范围、区间");
stringList.add("rank 等级、分等(ref. C++Primer 3/e 9,15章) 等级");
stringList.add("raw 生鲜的、未经处理的 未经处理的");
stringList.add("record 记录 记录");
stringList.add("recordset 记录集 记录集");
stringList.add("recursive 递回 递归");
stringList.add("re-direction 重导向 重定向");
stringList.add("refactoring 重构、重整 重构");
stringList.add("refer 取用 叁考");
stringList.add("refer to 指向、指涉、指代");
stringList.add("reference (C++ 中类似指标的东西,相当於 “化身”) 引用、叁考 址叁器, see pointer");
stringList.add("register 暂存器 寄存器");
stringList.add("reflection 反射 反射、映像");
stringList.add("relational database 关联式资料库 关系数据库");
stringList.add("represent 表述,表现 表述,表现");
stringList.add("resolve 决议(为算式中的符号名称寻找 解析 对应之宣告式的过程)");
stringList.add("resolution 决议程序、决议过程 解析过程");
stringList.add("resolution 解析度 分辨率");
stringList.add("restriction 局限");
stringList.add("return 传回、回返 返回");
stringList.add("return type 回返型别 返回类型");
stringList.add("return value 回返值 返回值");
stringList.add("robust 强固、稳健 健壮");
stringList.add("robustness 强固性、稳健性 健壮性");
stringList.add("routine 常式 例程");
stringList.add("runtime 执行期 运行期、运行时");
stringList.add("common language runtime (CLR) 译为「通用语言执行层」");
stringList.add("rvalue 右值 右值");
stringList.add("save 储存 存储");
stringList.add("schedule 排程 调度");
stringList.add("scheduler 排程器 调度程序");
stringList.add("scheme 结构纲目、组织纲目");
stringList.add("scroll bar 卷轴 滚动条");
stringList.add("scope 生存空间、生存范围、范畴、作用域 生存空间");
stringList.add("scope operator 生存空间(范围决议)运算子 :: 生存空间操作符");
stringList.add("scope resolution operator 生存空间决议运算子 生存空间解析操作符 ###### (与scope operator同)");
stringList.add("screen 萤幕 屏幕");
stringList.add("search 搜寻 查找");
stringList.add("semantics 语意 语义");
stringList.add("sequential container 序列式容器 顺序式容器 ###### (对应於 associative container)");
stringList.add("server 伺服器、伺服端 服务器、服务端");
stringList.add("serial 串行");
stringList.add("serialization 次第读写,序列化 序列化 (serialize)");
stringList.add("setter (相对於 getter) 设值函式");
stringList.add("signal 信号");
stringList.add("signature 标记式、签名式、署名式 签名");
stringList.add("slider 滚轴 滑块");
stringList.add("slot 条孔、槽 槽");
stringList.add("smart pointer 灵巧指标、精灵指标 智能指针");
stringList.add("snapshot 萤幕快照(图) 屏幕截图");
stringList.add("specialization 特殊化、特殊化定义、特殊化宣告 特化");
stringList.add("specification 规格 规格、规范");
stringList.add("splitter 分裂视窗 切分窗口");
stringList.add("software 软体 软件");
stringList.add("solution 解法,解决方案 方案");
stringList.add("source 原始码 源码、源代码");
stringList.add("stack 堆叠 栈");
stringList.add("stack unwinding 堆叠辗转开解(此词用於 exception 主题) 栈辗转开解 *");
stringList.add("standard library 标准程式库");
stringList.add("standard template library 标准模板程式库");
stringList.add("statement 述句 语句、声明");
stringList.add("status bar 状态列、状态栏 状态条");
stringList.add("STL 见 standard template library");
stringList.add("stream 资料流、串流 流");
stringList.add("string 字串 字符串");
stringList.add("subroutine");
stringList.add("subscript operator 下标运算子 [ ] 下标操作符");
stringList.add("subtype 子型别 子类型");
stringList.add("support 支援 支持");
stringList.add("suspend 虚悬 挂起");
stringList.add("symbol 符号 记号");
stringList.add("syntax 语法 语法");
stringList.add("tag 标签 标记 索引标签,页签");
stringList.add("target 标的(例 target pointer:标的指标) 目标");
stringList.add("task switch 工作切换 任务切换");
stringList.add("template 模板、范本 模板");
stringList.add("template argument deduction 模板引数推导 模板叁数推导");
stringList.add("template explicit specialization 模板显式特化(版本) 模板显式特化");
stringList.add("template parameter 模板叁数 模板叁数");
stringList.add("temporary object 暂时物件 临时对象");
stringList.add("text 文字 文本");
int strIndex = random.nextInt(stringList.size() - 1);
return stringList.get(strIndex);
}
生成测试数据
验证几种方法的性能
通过使用不同的方式,循环将同一个对象复制1000次,查看耗时如下:
通过多次性能比较发现,3<4 <2<7 < 6<5< 1
3,4 耗时最少,2,7 耗时中等,5,6 耗时较长 , 1 耗时最长 性能最低。
由于时间有限,本次仅先做记录 具体每种方式的底层源码以及实现的差异性 下次再分析。