ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:20.27KB ,
资源ID:2970743      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2970743.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java基础面试知识点.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java基础面试知识点.docx

1、java基础面试知识点java基础面试知识点java基础面试知识点1.java中=和equals和hashCode的区别2.int、char、long各占多少字节数byte 1字节 最小值是 -128(-2); 最大值是 127(2-1);boolean 至少1字节 这种类型只作为一种标志来记录 true/false 情况;short 2字节 最小值是 -32768(-2); 最大值是 32767(2 - 1);char 2字节 最小值是 u0000(即为0);最大值是 uffff(即为65,535);int 4字节 最小值是 -2,147,483,648(-2); 最大值是 2,147,48

2、3,647(2 - 1);float 4字节 单精度浮点数字长32位,尾数长度23,指数长度8,指数偏移量127;long 8字节 最小值是 -9,223,372,036,854,775,808(-2?);最大值是 9,223,372,036,854,775,807(2? -1);double 8字节 双精度浮点数字长64位,尾数长度52,指数长度11,指数偏移量1023;英文字母:字节数 : 1;编码:GB2312字节数 : 1;编码:GBK字节数 : 1;编码:ISO-8859-1字节数 : 1;编码:UTF-8中文汉字: 字节数 : 2;编码:GB2312字节数 : 2;编码:GBK字节

3、数 : 1;编码:ISO-8859-1字节数 : 3;编码:UTF-83.int与integer的区别1. Ingeter是int的包装类,int的初值为0,Ingeter的初值为null;2.初始化的时候,int i =1;Integer i= new Integer(1);(要把integer 当做一个类看);但由于有了自动装箱和拆箱使得对Integer类也可使用:Integer i= 1;3.int 是基本数据类型(面向过程留下的痕迹,不过是对java的有益补充),Integer 是一个类,是int的扩展,定义了很多的转换方法4.Integer是对象,用一个引用指向这个对象,而int是基

4、本类型,直接存储数值。4.对java多态的理解多态:继承父类的子类重写父类的某个方法,不同的子类调运同一个方法可以,产生不同的结果。多态的三个必要条件:1.继承父类2.重写父类的方法3.父类的引用指向子类对象面向对象的三大特性封装、继承、多态。从某种程度来看,封装、继承就是为了多态准备的,也是最重要的知识点。实现多态的技术:动态绑定,是指在执行期间,根据引用对象实际指向的对象,来执行对应的方法。多态的作用:消除类型之间的耦合关系。多态的好处:1.可替换行:多态对已存在的代码有可替换性(重写);2.扩展性:多态对代码具有扩展性;3.接口性:多态是父类通过方法签名,为子类提供的共同接口,由子类去完

5、善或覆盖;4.灵活性:它在应用中体现了灵活多样的操作,提高了使用效率;5.简化性。Java中多态的实现方式:实现接口,继承父类进行方法重写,同一个类中进行方法的重载。什么是内部类?内部类的作用定义: 将一个类定义在一个类或者一个方法里面,这样的类称着内部类内部类的种类有4种:1、成员内部类2、静态内部类静态内部类就是在成员内部类多加了一个 static 关键字。3、匿名内部类4、局部内部类内部类的作用1、内部类可以很好的实现隐藏。非内部类是不可以使用 private和 protected修饰的,但是内部类却可以,从而达到隐藏的作用。同时也可以将一定逻辑关系的类组织在一起,增强可读性。2、间接的

6、实现多继承。每个内部类都能独立地继承自一个(接口的)实现,所以无论外部类是否已经继承了某个(接口的)实现,对于内部类都没有影响。如果没有内部类提供的可以继承多个具体的或抽象的类的能力,一些设计与编程问题就很难解决。所以说内部类间接的实现了多继承。抽象类和接口区别?抽象类:1:有abstract修饰的class,绝对就是抽象类。2:抽象类中可以有抽象方法,也可以没有抽象方法,但是有抽象方法的class,就一定会是抽象类。3:抽象类是不能创建实例对象的。4:如果有子类继承这个抽象类,则必须要实现父类中的抽象方法,如果不实现的话,则这个字类也必须定义为抽象类。接口:1:接口只能实现不能够继承,比如,

7、一个类可以实现多个接口,但是只能继承一个父类,也可以这样理解,一个类可以有多个干爹(实现接口),但是只能有一个亲爹(继承父类)。2:如果要实现这个接口,则该接口中的方法必须要实现。因为我们定义接口中的方法时,系统是默认这些方法是抽象的方法,也就是说这些方法是有public abstract这个来修饰的。3:在接口中定义的变量必须是全局变量的,也就是说有public static final修饰的抽象类的意义抽象类与接口的应用场景抽象类是否可以没有方法和属性?泛型中extends和super的区别?和是Java泛型中的“通配符(Wildcards)”和“边界(Bounds)”的概念。:是指 “上

8、界通配符(Upper Bounds Wildcards)”:是指 “下界通配符(Lower Bounds Wildcards)”父类的静态方法能否被子类重写?先给一个答案,不能,父类的静态方法能够被子类继承,但是不能够被子类重写,即使子类中的静态方法与父类中的静态方法完全一样,也是两个完全不同的方法。重写指的是根据运行时对象的类型来决定调用哪个方法,而不是根据编译时的类型。对于静态方法和静态变量来说,虽然在上述代码中使用对象来进行调用,但是底层上还是使用父类来调用的,静态变量和静态方法在编译的时候就将其与类绑定在一起。既然它们在编译的时候就决定了调用的方法、变量,那就和重写没有关系了。静态属性

9、和静态方法是否可以被继承可以被继承,如果子类中有相同的静态方法和静态变量,那么父类的方法以及变量就会被覆盖。要想调用就就必须使用父类来调用。从上述代码可以看出,子类中覆盖了父类的静态方法的话,调用的是子类的方法,这个时候要是还想调用父类的静态方法,应该是用父类直接调用。如果子类没有覆盖,则调用的是父类的方法。静态变量与此相似。进程和线程的区别?进程是系统进行资源分配的独立单元1设计思想:为了允许多个程序同时在内存中运行特点:进程是程序的一次执行过程。若程序执行两次甚至多次,则需要两个甚至多个进程。进程是是正在运行程序的抽象。它代表运行的CPU,也称进程是对CPU的抽象。(虚拟技术的支持,将一个

10、CPU变幻为多个虚拟的CPU)系统资源(如内存、文件)以进程为单位分配。操作系统为每个进程分配了独立的地址空间操作系统通过“调度”把控制权交给进程。线程cpu调度的基本单元1设计思想:在一个进程内也需要并行执行多个程序,实现不同的功能。进程切换的代价、开销比较大;在进程内创建、终止线程比创建、终止进程要快。同一进程内的线程间切换比进程间的切换要快,尤其是用户级线程间的切换。线程之间相互通信无须通过内核(同一进程内的线程共享内存和文件)final,finally,finalize的区别?序列化的方式?Serializable 和Parcelable 的区别?哪些情况下的对象会被垃圾回收机制处理掉

11、?静态代理和动态代理的区别,什么场景使用?静态代理通常只代理一个类,动态代理是代理一个接口下的多个实现类。静态代理事先知道要代理的是什么,而动态代理不知道要代理什么东西,只有在运行时才知道。动态代理是实现 JDK 里的 InvocationHandler 接口的 invoke 方法,但注意的是代理的是接口,也就是你的业务类必须要实现接口,通过 Proxy 里的 newProxyInstance 得到代理对象。Java的异常体系Java把异常作为一种类,当做对象来处理。所有异常类的基类是Throwable类,两大子类分别是Error和Exception。系统错误由Java虚拟机抛出,用Error

12、类表示。Error类描述的是内部系统错误,例如Java虚拟机崩溃。这种情况仅凭程序自身是无法处理的,在程序中也不会对Error异常进行捕捉和抛出。异常(Exception)又分为RuntimeException(运行时异常)和CheckedException(检查时异常),两者区别如下:RuntimeException:程序运行过程中才可能发生的异常。一般为代码的逻辑错误。例如:类型错误转换,数组下标访问越界,空指针异常、找不到指定类等等。CheckedException:编译期间可以检查到的异常,必须显式的进行处理(捕获或者抛出到上一层)。例如:IOException, FileNotFou

13、ndException等等。谈谈你对解析与分派的认识。:方法在程序真正运行之前就有一个可以确定的调用版本,并且这个方法的调用版本在运行期是不可改变的,即“编译期可知,运行期不可变”,这类目标的方法的调用称为解析(Resolve)。静态分派静态分派只会涉及重载(Oveload),而重载是在编译期间确定的,那么静态分派自然是一个静态的过程(因为还没有涉及到Java虚拟机)。静态分派的最直接的解释是在重载的时候是通过参数的静态类型而不是实际类型作为判断依据的。因此在编译阶段,Javac编译器会根据参数的静态类型决定使用哪个重载版本。动态分派动态分派的一个最直接的例子是重写(Override)。对于重

14、写,我们已经很熟悉了,那么Java虚拟机是如何在程序运行期间确定方法的执行版本的呢?Java中实现多态的机制是什么?靠的是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,而程序调用的方法在运行期才动态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型中定义的方法。如何将一个Java对象序列化到文件里?将对象序列化到文件1.对象需要实现Seralizable接口2.通过ObjectOutputStream的writeObject()方法写入和ObjectInputStream的readObject()方法来进行读取/存进去Java反射的理解简单的来说,反射机制其实就是指程序在运行的时候能够获取自身的信息。如果知道一个类的名称或者它的一个实例对象, 就能把这个类的所有方法和变量的信息(方法名,变量名,方法,修饰符,类型,方法参数等等所有信息)找出来。如果明确知道这个类里的某个方法名+参数个数 类型,还能通过传递参数来运行那个类里的那个方法,这就是反射。Java注解的理解定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。元注解:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1