java面试题(亲身经历)
需积分: 0 121 浏览量
更新于2020-12-10
收藏 90KB DOCX 举报
象的类型决定的,即运行时多态;而重载关系中,哪个方法体被调用,是编译时确定的。5、覆盖时,子类方法不能比父类方法权限更低,返回类型必须与父类一致;重载时,权限和返回类型没有限制。
2》Array 和 ArrayList 的区别Array 是固定大小的存储结构,一旦创建,大小无法改变,访问速度快,但插入和删除元素效率低。ArrayList 是基于动态数组实现的,可以动态调整大小,插入和删除元素相对Array 慢,但提供了更多的操作方法,如 add、remove 等。
3》安卓五个布局LinearLayout、RelativeLayout、FrameLayout、TableLayout 和 GridLayout 是 Android 中常见的五种布局,分别用于线性排列、相对位置、单个组件、表格布局和网格布局。
4》队列优先级Java 中,PriorityQueue 类实现了具有优先级的队列,可以根据元素的自然顺序或自定义比较器来排序。
5》进程与线程进程是资源分配的基本单位,每个进程都有独立的内存空间;线程是执行的基本单位,同一进程内的线程共享内存资源,线程间的通信更高效,但存在竞态条件等并发问题。
6》哈希表哈希表(HashMap)是基于哈希函数实现的数据结构,提供 O(1) 的平均查找和插入速度,但在最坏情况下可能达到 O(n)。
7》-Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3这些是JVM的参数设置,用于控制堆内存的大小。-Xmx 设置最大堆内存,-Xms 设置初始堆内存,-Xmn 设置新生代大小,-XXSurvivorRatio 设置年轻代中Eden区与Survivor区的比例。
8》Thread(线程)类的几种常用方法start() 启动线程,run() 执行线程的主要任务,sleep() 让线程休眠,join() 等待当前线程执行完毕,interrupt() 中断线程,isInterrupted() 检查线程是否被中断。
9》数组有没有 length()这个方法?String 有没有 length()这个方法,请说明数组有 length 属性,表示数组的长度;String 类也有 length() 方法,返回字符串的字符数。
10》简述 HashMap 和 Hashtable 的区别HashMap 是非同步的,允许存储null键和值,迭代顺序不确定;Hashtable 是同步的,不允许null键和值,迭代顺序与插入顺序一致。
11》hashCode 和 equals 方法hashCode() 方法用于生成对象的哈希码,常用于哈希表的快速定位;equals() 方法用于比较两个对象是否相等,Java 规定如果两个对象相等,它们的hashCode() 必须相同。
12》什么是抽象类与接口抽象类是包含抽象方法的类,不能实例化,用于提供子类继承的模板;接口是一种完全抽象的类型,只能定义常量和抽象方法,用于多继承。
13》cookie 与 session 的区别Cookie 是客户端技术,数据存储在用户浏览器,大小有限,存在时间可配置;Session 是服务器端技术,数据存储在服务器,可以存储大量数据,但过多会占用服务器资源。
14》怎么遍历一个 map?写一下Map 的遍历通常通过 iterator 或 entrySet() 实现:
```java
for (Map.Entry<Key, Value> entry : map.entrySet()) {
Key key = entry.getKey();
Value value = entry.getValue();
// 处理 key-value 对
}
```
15》Servlet 的生命周期,Servlet 与 CGI 的区别Servlet 生命周期包括加载、初始化、服务、销毁四个阶段。Servlet 相比于CGI,具有更好的性能和持久性,因为CGI每次请求都会创建新的进程,而Servlet在服务器中常驻。
16》数据库常用的多表关联可以通过外键实现,常用的连接查询有内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)、全连接(FULL JOIN)。例如,通过SQL语句实现两个表的内连接:
```sql
SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id;
```
17》注解注解是元数据的一种形式,用于提供程序信息,如编译器指令、运行时反射等,可以自定义注解类型并使用,例如 @Override、@Deprecated。
18》工厂模式工厂模式是一种设计模式,用于创建对象,提供一个创建对象的公共接口,而具体的创建过程则延迟到子类去实现,使得代码更加灵活,易于扩展。
以上知识点涵盖了Java的基础概念、数据结构、并发编程、Android开发、网络编程、数据库操作以及面向对象设计等多个方面,对于准备Java面试的求职者来说是非常重要的复习内容。
爱小码
- 粉丝: 24
- 资源: 3
最新资源
- 基于Go和React的高质量企业微信私域流量管理系统 。遵守Apache2.0协议,全网唯一免费商用。企业微信、私域流量、SCRM。详细文档+优秀项目+全部资料.zip
- 基于Go和React的企业微信的开源 SCRM 系统。企微,个微,微信,聚合聊天,自动回复,加好友。详细文档+优秀项目+全部资料.zip
- 基于go语言的搜索引擎,信息检索系统详细文档+优秀项目+全部资料.zip
- 基于Go语言,Beego框架开发的简单的文章发布管理系统。详细文档+优秀项目+全部资料.zip
- 基于Go语言的轻量级高性能的分布式日志系统详细文档+优秀项目+全部资料.zip
- 基于go语言简单的用户管理系统详细文档+优秀项目+全部资料.zip
- 基于Go语言的一个秒杀系统详细文档+优秀项目+全部资料.zip
- 基于Go语言的一个简易blog系统详细文档+优秀项目+全部资料.zip
- 基于Go语言开发,具备高安全性、高性能和易扩展性的企业级内容管理系统,详细文档+优秀项目+全部资料.zip
- 基于Go语言实现的单点登录系统详细文档+优秀项目+全部资料.zip
- 基于Go语言实现的微服务电商系统详细文档+优秀项目+全部资料.zip
- 基于python和sql server2014做的商品学生信息管理系统,有界面,利用的sql server数据库详细文档+优秀项目+全部资料.zip
- 基于OWTP协议库,封装所有与openw-server钱包服务API交互方法。用于集成到go语言开发下的应用方系统。详细文档+优秀项目+全部资料.zip
- 基于Quasar和Go语言的功能全面的管理系统详细文档+优秀项目+全部资料.zip
- 基于SpringBoot 开发的员工的季度绩效考核系统详细文档+优秀项目+全部资料.zip
- 四足机器人技术发展及其应用场景概述