Java SE面试球球
JAVA面试基础知识
- Java的特点
- Java的版本
- 面向对象
- "==" 的问题?
- 浅拷贝和深拷贝
- 集合框架体系接口
- Object常用的Method?
- String常用的方法?
- Java反射和序列化
- 多线程的创建方式
- 线程、程序、进程的区别
Java的特点
| 属性 | 特点 |
|---|---|
| 跨平台 | jvm虚拟机,一次编译,随处运行 |
| 安全性 | 支持多线程 |
Java的版本
| 版本 | 内容 |
|---|---|
| Jdk | 包括Jre,jvm,javac一些列的命令 |
面向对象
| 编程思想 | 概述 |
|---|---|
| OOP | 构成问题的事务,分解成若干个对象。用于描述某个事务在解决问题中的行为特征。封装、继承、多态是基本思想。性能低,可以构建低耦合的系统。 |
“==” 的问题?
内容相同哈希码值一定相同,哈希码值不同,内容有可能相同。
浅拷贝和深拷贝
浅拷贝直接复制目标对象的引用。
深拷贝把对象的引用和(对应的实例)都复制,产生了一个新的对象。
集合框架体系接口
Map、Collection、Iterator三大顶级接口
常用的ArrayList、LinkedList、HashSet、HashMap、HashTable。
ArrayList: 元素重复,存储地址连续。
Vector: 线程安全,ArrayList反之。
LinkedList: 无序存储。
HashSet: 元素唯一,底层基于哈希表存储。
HashMap: 线程不安全,key和value都可以为null。
HashTable: 线程安全,key和value不可为null。
Object常用的Method?
wait(): 配合syncronized使用,释放资源。
notify(),notifyAll()唤醒某个对象等待队列找中的线程。
equlas(): 比较对象的地址是否相等。
String常用的方法?
charAt(),toUpperCase(),toLowerCase(),Length(),substring(),toString(),valueOf(),getBytes(),trim(),replace(),indexOf()
Java反射和序列化
反射是指在运行中动态获取类的属性,方法,实例对象。
序列化: 将对象转换成字节序列的过程。
序列化是一种机制,将对象转换成字节序列后,可以读写,网络中传输。
多线程的创建方式
继承thread类,实现Runnable接口。
Run方法只有一条执行路径,start()方法才是启动路径。
线程的生命周期: 新建->就绪->运行->阻塞->死亡
线程、程序、进程的区别
程序: 是包含指令和数据的文件,是静态代码。
进程: 系统运行程序的基本单位,是动态的,程序的一次执行过程。一个进程就是一个执行的程序,进程是独立的,会占用系统资源,例如Cpu时间,内存空间。
线程: 是比进程更小的执行单位,进程在执行过程中会产生多个线程,多个线程共用同一块内存空间和一组系统资源。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
