学习总结:Java基础

  • Object都有什么方法?

equals() hashcode() toString() clone() wait() notify()

 

  • string ,stringbuild,stringbuffer区别,string内部结构。为什么String不可变?

String 不可变

stringbuild,stringbuffer可以变 stringbuffer 线程安全的 stringbuild 线程不安全

String 里面有个char[]数组 和hash值‘

因为char数组被final和private修饰 final不可继承 private不可被外部更改 所以不可变

为什么String是不可变的 https://blog.youkuaiyun.com/zhangjg_blog/article/details/18319521

 

 

  • 多态实现方式,使用场景

就是一个父类可以被多个子类继承进行重写里面的方法

实现方式:接口实现,继承父类进行方法重写,同一个类中进行方法重载

 

  • 面向对象三大特征

继承,封装,多态

 

  • 8种基本数据类型

int byte long short double float char boolean

 

  • 熟悉的几个异常类。

1. java.lang.nullpointerexception 空指针异常

2. java.lang.classnotfoundexception 找不到类异常

3. java.lang.arrayindexoutofboundsexception 数组地址下标越界

 

 

  • String能不能被继承?为什么?

不能 因为String被final修饰

 

  • java中是值传递还是引用传递?

值传递

  • 集合里面set和list的区别?

list里面元素可以重复,set元素不重复。

list里面元素有序,set里面除了treemap元素都没序。

 

 

  • 面向对象--举例理解

面向对象,就是继承,封装,多态。

 

  • java反射机制的理解

反射就是在运行过程中,对于任意一个类和对象,都能知道这个类的所有属性和方法。

 

 

  • jdk动态代理 动态代理的实现

动态代理就是运行时动态生成代理类

动态代理有两种形式,一个是JDK原生的动态代理,通过接口实现。还有一个是cglib代理,通过继承当前的子类实现的。

 

  • 数据库驱动为什么使用反射调用不直接new

因为反射可以自己获得运行时的类名,这样不仅代码上可以解耦合,更换数据库时的时候也不需要重新编译代码。

 

 

  • Error和Exception的区别

error一般是指与虚拟机相关的问题,程序本身无法处理,进行报错。

exception一般是程序可以处理的异常,可以捕获并进行处理。

 

 

  • 对象相等的判断,equals方法实现。

如果重写equals 就是比较对象内容是否相同

如果没有重写,就是比较对象引用地址是否相同

 

 

  • 写了equals不写hashcode有什么后果

用map的时候会取不到值

 

  • object类equals方法是怎么实现的?

判断地址是否相等

 

 

  • 动态代理有哪些

JDK自带的动态代理,cglib动态代理

  • JDK和CGLIB动态代理的区别

JDK是继承接口,cglib是通过继承父类来实现的

 

 

  •  java 中static理解,final理解

被static修饰的属性和方法可以直接被类名称调用,相当于全局变量

被final修饰的类不能被继承,被final修饰的方法不能被重写,被final修饰的变量是常量

 

  • static方法可以访问非static方法或变量吗?为什么不可以?

不可以

static对象早已经创建好了,但是程序中的所有属性和方法必须在对象开辟堆内存后才能使用。

 

  • string 转 int手写

String str;

int i = Integer.parseInt(str);

 

 

  • 讲讲String类型

string是一个类,不可变,也不可以被继承,内部有hashcode和一个value char数组。

 

  • 什么是序列化?

把对象转换为字节序列的过程

 

  • 序列化,反序列化,什么时候用?

把对象保存在硬盘上,在网络上传送对象的字节序列

 

  • 如何对一个对象序列化?反序列的方式?

创建一个对象输出流,然后包装其他类型的目标输出流

通过对象输出流的writeObject()方法写对象

 

创建一个对象输入流,然后包装其他类型的目标输入流

通过对象输入留的readObject()方法读取对象

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值