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时间,内存空间。
线程: 是比进程更小的执行单位,进程在执行过程中会产生多个线程,多个线程共用同一块内存空间和一组系统资源。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部