java面试

准备问项目经理的问题:
(1) 某个项目大概运行模式怎样
(2) 项目的后续规划怎样
(3) 某个产品的某个问题如何解决
(4) 选择某项技术的标准
(5) 对某项技术感兴趣,后续有机会深入了解吗

1. 基础

1. 操作符:

(1) 赋值(=) 最后计算

(=)右边的从左到右加载值依次压入操作数栈

(2)** 实际先算哪个,看运算符优先级**
自增、自减操作都是直接修改变量的值,不经过操作数栈

(3) 最后的赋值之前,临时结果也是存储在操作数栈中

在这里插入图片描述

2. Singleton

定义:

java中 的单例设计模式之一( 即 某个类在整个系统中只能有一个实例对象被获取和使用的代码模式)
举例: JVM 运行环境 中的Runtime 类

要点:

一 是某个类只能有一个实例;
构造器私有化
二 是它必须自行创建这个实例;
含有一个该类的静态变量来保存这个唯一的实例
三 是它必须自行向整个系统提供这个实例;
对外提供获取该实例对象的方式:
(1)直接暴露(2)用静态变量的get方法获取

3. == 和 equals()

定义:

== 对比的是栈中的,基本数据类型是 变量值
引用类型是中内存对象的地址;

要点:

String 类中 被复写的equals () 方法比较的是两个字符串的内容。

举例:

在这里插入图片描述

总结:

4. final

定义:

(1)
修饰类: 表示类不可被继承
修饰方法: 方法不可被子类覆盖,但是可以重载
修饰变量: 变量被赋值后,不可以再修改值

要点:
举例:
总结:

5. String StringBuffer StringBuilder

定义:

String 是 final 修饰的,不可变,每次操作都会产生新的String对象。
StringBuffer 在原对象上进行操作,是线程安全的。是synchronized 修饰的。
StringBuilder 在原对象上操作,线程不安全。

要点:

性能:
StringBuilder > StringBuffer >String
需要 改变 字符串内容时,使用StringBuffer, StringBuilder.
优先使用 StringBuilder ,
多线程使用共享变量使用StringBuffer .

举例:
总结:

6. 重载和重写

定义:

重载: 发生在同一个类中,方法名必须相同,
参数个数,类型,顺序不同,
方法返回值和访问修饰符不同, 发生在编译时.
在这里插入图片描述

重写:
发生在父子类中,
方法名,参数类型必须相同,
参数个数,类型,顺序不同,
返回值范围,抛出的异常范围 小于等于父类,
访问修饰符范围 大于等于父类

父类访问修饰符为private,则子类不能重写方法.

7.接口和抽象类

定义:

(1) 抽象类 可以存在普通成员函数,接口只能存在 public abstract 方法
抽象类 成员变量是各种类型,接口中的成员变量 只能是 public static final
抽象类只能继承一个,接口可以实现多个

接口: 类的行为约束,接口 表达的是 like a,
bird like a aircraft ( 鸟像飞行器一样可以飞),

抽象类:为了代码复用(先有子类,后有父类),
抽象类 不允许 实例化,表达的是 oppo is mobile ( oppo 是手机),
使用场景:
关注本质,使用抽象类
关注操作,用接口
举例:
总结:

8 .list 和set

定义:

List : 有序,可重复,按对象进入的顺序保存对象,允许多个null 元素对象,
使用iterator(迭代器) 取出所有元素,逐一遍历,
使用get(int index ) 获取指定下标的元素(随机访问)

Set :无需,不可重复,只允许一个null元素,
只能使用iterator接口 取出所有元素,再逐一遍历

9.hashCode 和equals

定义:

2.线程

(1) 如何实现IOC 容器

配置文件,配置包扫描路径
递归包路径,获取.class 文件
反射,确定需要交给IOC 管理的类
对需要注入的类进行依赖注入

(2) 字节码

编译器:
机器 和编译程序 加入抽象的虚拟机器,
解释器:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值