![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java面试
文章平均质量分 89
再让我学一会吧!
Either outstanding or out
展开
-
java面试题(十)
1.解析:java提供了一个系统级的线程,即垃圾回收器线程。用来对每一个分配出去的内存空间进行跟踪。当JVM空闲时,自动回收每块可能被回收的内存,GC是完全自动的,不能被强制执行。程序员最多只能用System.gc()来建议执行垃圾回收器回收内存,但是具体的回收时间,是不可知的。当对象的引用变量被赋值为null,可能被当成垃圾。2.解析:通过ServletConfig接口的getInitParameter(java.lang.String name)方法3...原创 2021-09-29 11:34:07 · 136 阅读 · 0 评论 -
java面试题(九)
1.解析:%和*是同一个优先级,从左到右运算2.解析:jvm堆分为:新生代(一般是一个Eden区,两个Survivor区),老年代(old区)。常量池属于 PermGen(方法区)3.解析:for(条件1;条件2;条件3) { //语句}执行顺序是条件1->条件2->语句->条件3->条件2->语句->条件3->条件2........如果条件2为true,则一直执行。如果条件2...原创 2021-09-27 12:31:53 · 110 阅读 · 0 评论 -
java面试题(八)
1.解析:比较两个类是否相等,只有这两个类是由同一个类加载器加载才有意义。否则,即使这两个类是来源于同一个Class文件,只要加载它们的类加载器不同,那么这两个类必定不相等。补充:1.什么是类加载器?把类加载的过程放到Java虚拟机外部去实现,让应用程序决定如何去获取所需要的类。实现这个动作的代码模块称为“类加载器”。2.有哪些类加载器,分别加载哪些类类加载器按照层次,从顶层到底层,分为以下三种:(1)启动类加载器:它用来加载Java的核心库,比如Str...原创 2021-09-26 19:05:29 · 184 阅读 · 0 评论 -
java面试题(七)
1.解析:A.抽象类是可以实现接口的,而且抽象类也可以继承自抽象类B.对C.抽象类指有abstract修饰的class,其可以包含抽象方法,也可以不包含D.抽象类和接口都是不能被实例化的,只有具体的类才可以被实例化2.解析:y是2,返回的结果是2+(z--/++x),再来看z--/++x,结果应该是3/2,但是因为x,y,z都是int型的,所以最后的返回值只能是int,这时候z--/++x的值就是1,那么最终的结果就是2+1=33.解析:..原创 2021-09-25 12:29:31 · 157 阅读 · 4 评论 -
java面试题(六)
错误情况:1.解析:String x="fmn"; “fmn”是在常量池里的不可变对象。x.toUpperCase(); 在堆中new一个"FMN"对象,但无任何引用指向它。String y=x.replace('f','F');在堆中new一个"Fmn"对象,y指向它。y=y+"wxy";在堆中重新new一个"Fmnwxy"对象,修改y指向,现在y指向它。2.解析:JVM内存五大区域:3.解析:4....原创 2021-09-24 11:36:00 · 141 阅读 · 0 评论 -
java面试题(五)
今日份错题1.解析:此题考查的是多态。 对于多态,可以总结它为:使用父类类型的引用指向子类的对象; 该引用只能调用父类中定义的方法和变量; 如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;(动态连接、动态调用) 变量不能被重写(覆盖),”重写“的概念只针对方法,如果在子类中”重写“了父类中的变量,那么在编译时会报错。多态的3个必要条件:继承 重写 父类引用指向子类对象向上转型: Person p ...原创 2021-09-23 21:29:38 · 182 阅读 · 0 评论 -
java面试题(四)
1.解析:String s1=new String(”xyz”); 创建了String类型的内容为xyz的s1对象String s2=new String(”xyz”); 创建了String类型的内容为xyz的s2对象Booleanb1=s1.equals(s2); 比较s1对象和s2对象的内容相等,返回true。Booleanb2=(s1==s2); ...原创 2021-09-22 11:49:49 · 283 阅读 · 1 评论 -
java面试题(三)
1.解析:HashSet内部使用Map保存数据,即将HashSet的数据作为Map的key值保存,这也是HashSet中元素不能重复的原因。而Map中保存key值前,会去判断当前Map中是否含有该key对象,内部是先通过key的hashCode,确定有相同的hashCode之后,再通过equals方法判断是否相同。2.解析:反射可以访问原类的私有方法,私有成员变量,因此,反射破坏了Java的封装性3.解析:A 选项在 final 定义的方法里,不是必须要用 ...原创 2021-09-21 12:20:25 · 188 阅读 · 0 评论 -
java面试题(二)
1.解析:Integer与new Integer不会相等,不会经历拆箱过程。 两个都是非new出来的Integer,如果数在-128到127之间,则是true,否则为false 两个都是new出来的,都为false int和integer(无论new否)比,都为true,因为会把Integer自动拆箱为int再去比2.解析:default和protected的区别是:前者只要是外部包,就不允许访问。 后者只要是子类就允许访问,即使子类位于外部包。总结:def.原创 2021-09-20 11:04:14 · 224 阅读 · 0 评论 -
java面试题(一)
1.void是修饰方法的,没有返回值final是修饰常量的,protected是保护的,static是静态的2.(1)父类静态成员和静态初始化块,按在代码中出现的顺序依次执行。(2)子类静态成员和静态初始化块,按在代码中出现的顺序依次执行。(3)父类实例成员和实例初始化块,按在代码中出现的顺序依次执行。(4)执行父类构造方法。(5)子类实例成员和实例初始化块,按在代码中出现的顺序依次执行。(6)执行子类构造方法。我们来debug一下,发现静态初始化块和静.原创 2021-09-18 11:14:47 · 124 阅读 · 0 评论