java面试题(亲身经历)

preview
需积分: 0 1 下载量 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
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜

最新资源