Java基础面试
文章平均质量分 61
java基础面试题
绅士jiejie
理想的生活,就是生活的理想!
展开
-
Java基础面试题(二十三)
1.Http和Https的区别Http是明文传输的,数据都是未加密的,因此安全性差,而Https数据传输过程是加密的,安全性好。Https需要到CA申请证书,当然免费证书也是有的,但不适合企业级项目,因此需要一定的费用。Http页面响应要比Https快,因为http使用tcp三次握手建立连接,客户端和服务器只需要交换3个包,而Https其实可以理解为是http+ssl,因此https除了tcp的3个包,还要加上ssl握手所需的9个包,一共是12个包。http和https使用的连接方式完全不同,因此原创 2021-11-04 11:49:59 · 182 阅读 · 0 评论 -
Java基础面试题(二十二)
public class Test { public final int value = 6; public void print() { int value = 7; Runnable r = new Runnable() { public final int value = 8; public void run() { int value = 9;原创 2020-06-01 19:52:46 · 187 阅读 · 0 评论 -
java基础面试题(二十一)
Java类的实例化顺序?答:父类静态成员和静态代码块 > 子类静态成员和静态代码块 > 父类实例成员和实例代码块 > 父类构造方法 > 子类实例成员和实例代码块 > 子类构造方法List< T >和List<?>和有什么区别?答:List< T >是确定的某一个类型,而List<?>则代表任意类型。 List&l...原创 2020-02-16 11:12:10 · 1319 阅读 · 0 评论 -
java基础面试题(二十)
一个已经构建好的 TreeSet,怎么完成倒排序?答:自然排序,类实现Comparable,并重写compareTo()方法。或者用外部比较器Comparator,在创建TreeSet时会创建一个比较器,也就是会传入一个Comparator对象,然后用Comparator对象的compare()方法来实现排序。EnumSet是什么?答:EnumSet 是一个与枚举类型一起使用的专用 ...原创 2020-02-13 11:48:39 · 330 阅读 · 0 评论 -
java基础面试题(十九)
集合框架中的泛型有什么优点?答:泛型允许我们为集合提供一个可以容纳的对象类型,泛型可以在编译时就对类型作出判断,如果类型不符合,它就会报错,这避免了在运行时才出现ClassCastException异常。...原创 2020-02-11 17:41:48 · 229 阅读 · 0 评论 -
java基础面试题(十八)
怎么确保一个集合不被修改?答:使用Collections.unmodifiableCollection(list)方法来创建一个只读集合,这样改变集合的任何操作都会抛出java.lang.UnsupportedOperationException。示例代码如下:public class TestMain { public static void main(String[] arg...原创 2020-02-10 14:36:14 · 348 阅读 · 0 评论 -
java基础面试题(十七)
List, Set, Map是否继承自Collection接口?答:List,Set继承Collection接口,Map没有。为什么Map接口不继承Collection接口?答:Map存放的是键值对,Collection存放的是一组数据,结构就不同了,结构不同,自然操作就不同了,所以要是Map接口继承了Collection接口,就会违反了接口分离原则。Collection框架中...原创 2020-02-09 19:53:19 · 365 阅读 · 0 评论 -
java基础面试题(十六)
为什么Hashtable不允许键或者值是null?答:以下是Hashtable的put()方法源码:从上图可知如果key或者value为空那么都会报错。所以Hashtable不允许键或者值是null。ArrayList和LinkedList 有什么区别?答:ArrayList和LinkedList都实现了List接口。但是在数据结构的实现上ArrayList是数组,LinkedL...原创 2020-02-09 11:31:47 · 738 阅读 · 0 评论 -
java基础面试题(十五)
为什么HashMap的数据结构要在JDK1.8后加上红黑树?答:优化时间复杂度,提高搜索效率。假设HashMap大量元素的hashCode是相等的,都存放在了一个桶中,这个桶下就会拉出一个长长的链表,这时候的hashMap就相当于是一个链表,搜索的时间复杂度是o(n),链表数据越多,查询效率越低。所以加入了红黑树,在链表下的元素数目大于等于某个指定值,结构就会从链表转为红黑树,这时搜索的时间复...原创 2020-02-08 19:08:30 · 496 阅读 · 1 评论 -
java基础面试题(十四)
Java中容器有哪些?答:Java容器分为Collection和Map两个大类。原创 2020-02-08 11:17:14 · 273 阅读 · 0 评论 -
java基础面试题(十三)
父类变量需要序列化时,父类需要实现Serializable接口么?答:需要,父类也需要实现Serializable接口,因为父类的变量还是属于父类,不属于子类。transient关键字的作用?答:使用transient关键字可以阻止变量被序列化。而在反序列化后,transient关键字修饰的变量会被设置为其对应类型的初始值。比如int基础数据类型的初始值就是0,引用类型的初始值就是n...原创 2020-02-06 21:15:42 · 352 阅读 · 0 评论 -
java基础面试题(十二)
什么是动态语言?答:能够在程序运行期间改变其结构的语言,比如新的属性或方法的添加,删除等结构上的变化,那么这门语言就是动态语言。Java是动态语言么?答:从反射的角度来说,Java属于半动态语言。反射机制的概念?答:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法。对于任意一个对象,都能够调用它的任意方法和属性。这种动态获取信息以及动态调用对象...原创 2020-02-05 22:57:20 · 401 阅读 · 0 评论 -
java基础面试题(十一)
Java中的hashCode()方法很重要么?答:很重要。首先我们要了解Hashcode方法()是一个native方法,是属于Object类提供的公共方法之一。我们都知道Set集合是不允许存储相同元素的,而元素是否相同的判断用的是equals()方法。那么当集合里的元素越来越多,那equals()方法就会被调用越来越多次,效率自然会受到影响。这里引申出一个概念:两个对象的hashcode不相等...原创 2020-02-05 17:36:44 · 501 阅读 · 1 评论 -
java基础面试题(十)
什么是自动装箱和拆箱?答:自动将基本类型转换为包装器类型的过程叫装箱。自动将包装器类型转换成基本类型的过程叫拆箱。说说每个基本类型所对应的包装器类型?基本类型包装器类型byteBytecharCharactershortShortintIntegerlongLongfloatFloatdoubleDoublebo...原创 2020-02-04 22:01:24 · 457 阅读 · 0 评论 -
java基础面试题(九)
什么是泛型方法?答:将方法的参数类型定义为泛型,这样方法能够接受各种类型的参数从而做不同的处理方式,这就是泛型方法。什么是泛型类?答:在定义类时,同时在类上定义了泛型,这样在使用这个类时可以根据传入的不同参数来实例化不同的对象。这样说可能比较抽象,直接举个例子,List类就是个泛型类,可以想想我们在使用List时是不是可以使用多种多样的参数类型来满足业务需要。什么是泛型接口?答:接口类...原创 2020-02-04 12:46:29 · 612 阅读 · 0 评论 -
java基础面试题(八)
什么是抽象?答:抽象就是总结出一类事物的公共特征然后以此构造对应类的过程,抽象可以分为行为抽象和状态抽象。我们在开发过程中只抽象出与业务需要有关的方面,例如人的特征有很多,但我们只抽象出我们需要的姓名,年龄,电话就可以满足业务了,无需关注人这个类的其他细节,我们要的就是我们需要抽象出来的。什么是封装?答:将同一类事物的属性和操作属性的方法都放在一个类中,同时将这个类的属性访问权限设置...原创 2020-02-03 17:16:24 · 1685 阅读 · 0 评论 -
java基础面试题(七)
什么是Java序列化和反序列化?答:序列化就是把对象转换为字节序列的过程。而反序列化则是把字节序列恢复为对象的过程。Java为什么需要序列化对象?答:开发中,我们经常需要让对象及其状态在多个应用间传递和共享,或者是将对象及其状态持久化,然后重新读取被保存的对象及其状态继续处理相应业务,这就需要Java的序列化来实现。静态变量能不能被序列化?答:序列化的是对象,而静态变量是类级...原创 2020-02-02 19:56:39 · 574 阅读 · 0 评论 -
java基础面试题(六)
什么叫做内部类?内部类有几种?答:定义在类内部的类称为内部类。内部类分为静态内部类,成员内部类原创 2020-02-02 18:04:57 · 519 阅读 · 0 评论 -
java基础面试题(五)
java中实现多态的机制是什么?答:父类引用指向子类实现。具体实例代码如下:有一个抽象类AbstractTest类作为父类: public abstract class AbstractTest { public void print() { System.out.println("父类方法调用"); }}有一个子类TestMain类继承Abstra...原创 2020-02-01 23:27:03 · 466 阅读 · 0 评论 -
java基础面试题(四)
String类是否可以被继承?答:不行,因为String类被final修饰符修饰,属于不可变类。{String s = “Hello”;s = s + " world!";}这两段代码执行后,原始的 String 对象中的内容有没变?答:没有,因为String类是不可变类,所以String类型的对象都是不可变对象,所以以上两段代码其实产生了两个String对象,一个是原来的"Hell...原创 2020-02-01 22:23:13 · 380 阅读 · 0 评论 -
java基础面试题(三)
Integer 与 int 有什么区别?答:Integer是引用数据类型,默认值是null。int是基本数据类型,默认值是0。Integer是int的封装类,提供了一些操作数据的方法。作用域 public,private,protected,以及default有什么区别?作用域当前类同一package子类其他packagepublic√√√√...原创 2020-02-01 18:27:50 · 523 阅读 · 0 评论 -
java基础面试题(二)
Java有哪些操作字符串的类?它们之间有什么区别?答:String,StringBuffer和StringBuilder几个类都是可以操作字符串的。String类用的是final修饰符修饰,声明的是不可变对象,所以每次操作生成的都是新对象。StringBuffer和StringBuilder都是可以在原有的字符串基础上做修改的类,不会像String一样每次都生成新对象,所以如果涉及到大量字符...原创 2020-02-01 16:26:10 · 998 阅读 · 0 评论 -
java基础面试题(一)
JDK是什么?答:Java开发工具包,他是整个Java的核心。包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。JDK和JRE有什么区别?答:JRE是Java运行环境,为Java的运行提供了所需的环境。而JDK里包含了JRE,如果我们只需要运行...原创 2020-02-01 10:16:00 · 632 阅读 · 0 评论