【JAVA笔试面试知识点详解】 1. **数据库查询优化** - **最大年龄用户查询**: 这种查询可以通过在`User`表的`age`列上创建一个降序索引来优化,这样可以快速找到最大的年龄,然后配合主键索引获取最小的`id`。 - **访问次数最多的照片**: 对于`photo`表,可以在`userid`和`accesscount`上建立复合索引,以加速按访问次数排序和查找特定用户id的操作。 - **总照片大小查询**: 在`photo`表的`userid`和`size`上建立复合索引,用于快速计算每个用户的总照片大小并按大小排序。 - **索引对数据库性能的影响**: 索引可以加快数据检索速度,但会占用额外的存储空间,并可能降低插入、更新和删除操作的效率。 2. **数据库连接池** - **作用**: 连接池管理数据库连接,避免频繁创建和关闭连接,提高性能,减少资源消耗。 - **设计注意事项**: 需要考虑连接的最大数量、最小数量、超时设置、连接验证机制等,以确保资源的有效利用和系统的稳定性。 3. **两阶段提交协议 (2PC)** - 2PC用于分布式事务,保证所有参与者要么全部完成事务,要么全部回滚,保持一致性。 - 第一阶段:协调者询问所有参与者是否准备提交事务。 - 第二阶段:根据所有参与者的响应,协调者决定提交或回滚事务。 4. **数据库事务的ACID性质** - **原子性 (Atomicity)**: 事务中的所有操作要么全部成功,要么全部失败。 - **一致性 (Consistency)**: 事务完成后,数据库状态应符合业务规则。 - **隔离性 (Isolation)**: 多个并发事务之间应相互隔离,互不影响。 - **持久性 (Durability)**: 一旦事务提交,其结果将是永久的,即使系统故障也能恢复。 5. **并发控制协议** - **乐观锁**和**悲观锁**是两种常见的并发控制策略。 - **事务隔离级别**包括**读未提交 (Read Uncommitted)**、**读已提交 (Read Committed)**、**可重复读 (Repeatable Read)**和**串行化 (Serializable)**。 6. **Java核心技术** - **ClassLoader原理**: 负责加载类到JVM中,确保类的唯一性,实现类的动态加载。 - **ThreadLocal**用于线程局部变量,每个线程都有自己的副本,常用于线程间数据隔离。 - **接口 (interface)**定义行为规范,没有方法实现,适用于多态场景。当多个功能需要组合时,或者需要定义一组相关的方法时,可以使用接口。虚类(抽象类)可以包含方法实现,适用于需要继承和复用已有功能的情况。 - **线程安全的Map**: JDK1.5及以上版本的实现包括`ConcurrentHashMap`、`Collections.synchronizedMap()`包装的Map等。 - **静态方法与原变量关系**: 静态方法不会影响实例变量,因为它们属于类级别,而不是对象级别。 7. **基础知识** - **作用域**: `public`、`private`、`protected`和默认(friendly)分别代表公共、私有、受保护和包内可见的访问权限。 - **ArrayList和Vector**的区别在于线程安全和容量增长策略。 - **HashMap和Hashtable**的区别主要在于线程安全、历史背景和允许的键值类型。 - **char型变量与中文**: 单个`char`可以存储一个Unicode字符,包括中文。 - **多线程实现**: 继承`Thread`类或实现`Runnable`接口。 - **同步实现**: `synchronized`关键字、`wait()`和`notify()`方法。 - **类的执行顺序**: 构造器会按照继承链自上而下执行,先父类再子类。 - **内部类**可以是成员内部类、局部内部类、匿名内部类或静态内部类,提供封装和代码组织的功能。
- 粉丝: 3
- 资源: 87
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于ESP8266和Arduino的HomeMatic水表读数系统.zip
- (源码)基于Django和OpenCV的智能车视频处理系统.zip
- (源码)基于ESP8266的WebDAV服务器与3D打印机管理系统.zip
- (源码)基于Nio实现的Mycat 2.0数据库代理系统.zip
- (源码)基于Java的高校学生就业管理系统.zip
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip