1 重写与重载
重写:子类与父类之间 子类的方法重写父类的方法 要求方法名相同 参数类型 个数 相同 定义不同 访问权限必须不小于父类 返回值必须相同
重载:同一个类之间,多个方法名相同,但是参数类型或个数不同 不以返回值作为参考
2 String StringBuffer StringBuilder
String的值不能修改 如果要修改 必须重新新建对象 当内存中无效引用多了后 系统GC就会回收 速度就慢了 从而影响系统性能
StringBuffer 的值可以修改 无需新建对象 线程安全 效率低于StringBuilder
StringBuilder 除了值可以修改 另外不是线程安全
3 HashMap与HashTable 与TreeMap
共同点:通过key-value存储数据 无序
HashMap key value 可以为空 key必须唯一 value可以为空 线程不安全 需要额外的同步 ArrayList也是如此
HashTable key value 线程安全 效率低于HashMap key value 不允许为空
HashMap 是接口实现
HashTableo继承Dictionary类
TreeMap 有序
4 final finalize finally
final 不可变 可修饰属性 方法 类 属性值不可变 方法不可重写(父类与子类) 类不可继承
private static fianl int WIDTH = 40;
finalzie 是Object类的方法 可被重写 用于垃圾收集处理
finally 用于异常处理机制 表示总是执行
5 static
static修饰属性 方法 类
修饰属性 表示类成员变量 直接引用
修饰方法 表示类成员方法,直接引用 可以被重写 重载 static 要带上
修饰类 不能修饰类
6 单例模式
class Singleton{
private static Singleton singleton = null;
private Singleton(){
}
public static Singleton getInstance(){
if(singleton==null){
return new Singleton();
}else{
return singleton;
}
}
}
单例类需要提供实例化方法 获取单例对象 由于之前对象没有实例化 所以提供的方法 参数 必须是类成员方法和类成员变量
单例模式主要用于线程池 缓存 日志打印中
不过可以通过java反射机制实例化构造方法为private的类,那基本上可以使所有单例失效
单例模式是线程安全的
7 java 反射机制
利用java反射机制获取单例模式的实例类 不能获取私有构造方法 但是可以实例化
调用相关方法 根据用户名 获取相关私有方法 然后改变访问权限 从而调用相关私有方法
可以访问单例模式中的私有成员变量 私有成员方法 私有构造器 构造对象实例
8 如何抵御反射机制调用单例类私有构造器
解决方案一:在单例类的构造函数中 进行计数 根据计数的值 判断抛出运行时异常
解决方案二:利用枚举 可以 自己处理序列化
public class Singleton{
//initailzed during class loading
private static final Singleton INSTANCE = new Singleton();
//to prevent creating another instance of Singleton
private Singleton(){}
public static Singleton getSingleton(){
return INSTANCE;
}
}
9 java main方法中的参数值
main方法中字符串参数数组作用只是接受命令行输入参数的。命令行参数之间用空格隔开
10 什么情况下使用doGet()和doPost
Jsp页面中的form标签的method属性为get时用doGet 为post时用doPost()方法
11 在java中 如何跳出多重嵌套循环
用break return
12 sleep()与wait()之间的区别
1 这两个方法分别来自Thread和Object类
2 前者占用CPU 不释放同步锁 后者空闲CPU 释放同步锁
3 sleep可以在任何方法中使用 wait必须用于同步控制方法中或同步控制块中
4 sleep必须捕获异常 wait notify notifyall不需要
13 在项目中 spring ioc 如何实际应用
spring ioc 即控制反转 容器控制程序 spring之前是 程序控制 即new 一个对象
在项目中 拦截到请求后 需要进行一些业务处理 但是处理业务的对象在另一个类中
在spring之前 是程序控制 即new一个对象 这样侵入性很强 而现在是交给容器处理
将相关业务对象交给容器控制 通过接口 set 构造函数 注入 而实现上是xml配置文件
或者注解方式(可以实现set注入 效果相同)
关于set注入:属性注入即通过setXxx()方法注入Bean的属性值或依赖对象
关于接口注入:
关于构造函数注入:
基于注解
14 spring Bean 不同配置方式
基于xml配置 :Bean的实现类来自第三方类库 如数据源 因无法再类中标注注解 通过xml配置 命名空间的配置 如aop context
基于注解配置:Bean的实现类是当前项目开发的,可以直接在Java类中使用基于注解的配置
基于java类型配置
分享到:
相关推荐
很全面的java基础面试题,给我一个你最常见到的runtime exception abstract class和interface有什么区别
经典java基础面试题及答案大汇总.rar 经典java基础面试题及答案大汇总.rar 经典java基础面试题及答案大汇总.rar 经典java基础面试题及答案大汇总.rar 经典java基础面试题及答案大汇总.rar 经典java基础面试题及答案...
### 经典Java基础面试题集锦 #### 核心知识点概述 本文将围绕一系列经典Java基础面试题目展开,深入探讨各个知识点的核心概念及其应用场景。这些面试题旨在考察应聘者对于Java基础知识的理解程度以及实际应用能力...
Java 基础面试题知识点总结 Java 是一种广泛应用于软件开发的高级编程语言,它具有跨平台、面向对象、简单易用等特点。下面是 Java 基础面试题的知识点总结: 一、Java 基础知识 1. Java 程序的入口点是 main ...
java常见基础面试题
java基础面试题0基础!!易懂!!java基础面试题0基础!!易懂!!java基础面试题0基础!!易懂!!java基础面试题0基础!!易懂!!java基础面试题0基础!!易懂!!java基础面试题0基础!!易懂!!java基础面试题...
Java 基础面试题 本文档总结了 Java 面试中的一些常见问题和概念,包括面向对象和面向过程的区别、Java 语言的特点、JVM、JDK 和 JRE 的概念和关系、Oracle JDK 和 OpenJDK 的对比等。 1. 面向对象和面向过程的...
《毕业生java基础面试题大全》 在Java面试中,掌握基础至关重要。以下是针对Java基础和数据库的一些常见面试题及其详细解释: 1. **面向对象的特征** - **抽象**:抽象是将复杂问题简化,关注核心功能,忽略不...
Java是一种流行的编程语言,它的设计哲学...Java基础面试题中包含的这些知识点,能够帮助面试者更好地理解Java的基本概念、特性以及面向对象的编程思想。掌握这些基础知识点对于通过面试和成为Java开发工程师至关重要。
java基础面试题带答案.rarjava基础面试题带答案.rarjava基础面试题带答案.rarjava基础面试题带答案.rarjava基础面试题带答案.rarjava基础面试题带答案.rarjava基础面试题带答案.rarjava基础面试题带答案.rarjava基础...
Java 基础面试题Java 基础面试题Java 基础面试题!!!!!!!!!!!!!!!!!!!11
### 2017年阿里Java基础面试题文档解析 #### 一、自我介绍与问题解决能力 在自我介绍部分,面试者应该清晰地表达自己的背景、经历以及为什么选择当前的职业道路。此外,通过讲述一个具体的问题解决案例,能够展现...
java 面试题400多道java基础面试题
这些只是Java基础面试中可能会涉及到的部分知识点,实际文档可能还包含更多细节,如网络编程、数据库操作、并发编程等。准备面试时,不仅要理解这些概念,还要通过实践来加深理解,以便在面试中能够流畅地讨论和解答...
以下是几个常见Java基础面试题的简要介绍: Java基础语法:面试官可能会询问关于Java的基本数据类型(如int, double, boolean等)与引用数据类型(如类、接口等)的区别,以及自动装箱与拆箱的概念。 面向对象编程...