阿里巴巴Java开发手册考试题库:多线程、ORM、索引效率和领域模型命名
5星 · 超过95%的资源 需积分: 50 76 浏览量
更新于2024-07-19
收藏 682KB DOCX 举报
"阿里巴巴考试题及答案详解"
本文将对阿里巴巴考试题及答案进行详细分析,涵盖多线程并发读写、ORM规则、索引效率、Map实现类和领域模型命名等多个方面的知识点。
一、多线程并发读写
在多线程并发读写的情况下,需要保证对象的线程安全。有多种处理方式可以实现线程安全,包括:
1. 使用synchronized关键字给对象的读写操作加锁。synchronized关键字可以将对象的读写操作同步化,使得多个线程无法同时访问对象。
2. 使用java.util.concurrent.atomic包下面提供的线程安全的基本类型包装类,例如AtomicInteger。这些类提供了原子操作,可以在多线程环境下安全地操作基本类型变量。
3. 使用java.util.concurrent提供的并发集合类,例如ConcurrentHashMap。这些类提供了线程安全的集合操作,可以在多线程环境下安全地操作集合。
二、ORM规则
阿里巴巴Java开发手册中规定了ORM的规则,包括:
1. 数据库中,表达是与否概念的字段,必须使用is_xxx的方式命名。
2. 不推荐使用iBATIS自带的queryForList(String statementName, int start, int size)进行分页查询。
3. 不要用resultClass当返回参数,即使所有类属性名与数据库字段一一对应,也需要定义resultMap。
三、索引效率
阿里巴巴Java开发手册中规定了索引效率的相关规则,包括:
1. 使用索引的效率不一定高于全表扫描的效率。在某些情况下,全表扫描的效率可能更高。
2. explain的结果,type=index的索引效率不一定高于type=ref。
3. sql查询条件where alike'%阿里%',不会走索引。
4. sql查询条件where alike'阿里%', a列创建了索引,一般会使用索引进行检索。
四、Map实现类
Hashtable、HashMap、ConcurrentHashMap都是Map的实现类,它们在处理null值的存储上有细微的区别:
1. Hashtable的KV都不可以为null。
2. HashMap的KV都可以为null,但K不能为空。
3. ConcurrentHashMap的KV都不可以为null。
五、领域模型命名
阿里巴巴Java开发手册中规定了领域模型命名的规则,包括:
1. 数据对象命名:xxxDO,xxx即为数据表名,例如:ResellerAccountDO。
2. 数据传输对象:xxxDTO,xxx为业务领域相关的名称,例如ProductDTO。
3. 展示层对象:xxxVO,xxx一般为网页名称,例如RecommendProductVO。
4. POJO是DO的子集。
本文对阿里巴巴考试题及答案进行了详细分析,涵盖了多线程并发读写、ORM规则、索引效率、Map实现类和领域模型命名等多个方面的知识点。
2023-08-28 上传
2023-09-06 上传
2023-05-04 上传
2024-01-19 上传
2024-11-04 上传
2023-05-29 上传
you595030341
- 粉丝: 1
- 资源: 5
最新资源
- Raspberry Pi OpenCL驱动程序安装与QEMU仿真指南
- Apache RocketMQ Go客户端:全面支持与消息处理功能
- WStage平台:无线传感器网络阶段数据交互技术
- 基于Java SpringBoot和微信小程序的ssm智能仓储系统开发
- CorrectMe项目:自动更正与建议API的开发与应用
- IdeaBiz请求处理程序JAVA:自动化API调用与令牌管理
- 墨西哥面包店研讨会:介绍关键业绩指标(KPI)与评估标准
- 2014年Android音乐播放器源码学习分享
- CleverRecyclerView扩展库:滑动效果与特性增强
- 利用Python和SURF特征识别斑点猫图像
- Wurpr开源PHP MySQL包装器:安全易用且高效
- Scratch少儿编程:Kanon妹系闹钟音效素材包
- 食品分享社交应用的开发教程与功能介绍
- Cookies by lfj.io: 浏览数据智能管理与同步工具
- 掌握SSH框架与SpringMVC Hibernate集成教程
- C语言实现FFT算法及互相关性能优化指南