牛客Java面试题1
【摘要】
题目
class A{}
class B extends A{}
class C extends A{}
class D extends B{}
A obj = new D();
System...
题目
class A{}
class B extends A{}
class C extends A{}
class D extends B{}
A obj = new D();
System.out.println(obj instanceof B);
System.out.println(obj instanceof C);
System.out.println(obj instanceof D);
System.out.println(obj instanceof A);
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
A
| |
B C
|
D
D属于B,D属于A,D属于D,D不属于C
instanceof是判断前者是否可以类型可以转化为后者,可以转化即为true,分为向上转型和向下转型B D都是A的子类向下转型,
题目
ConcurrentHashMap使用synchronized关键字保证线程安全
HashMap实现了Collction接口
Array.asList方法返回java.util.ArrayList对象
SimpleDateFormat是线程不安全的
- 1
- 2
- 3
- 4
- ConcurrentHashMap 使用segment来分段和管理锁,segment继承自ReentrantLock,因此ConcurrentHashMap使用ReentrantLock来保证线程安全。
- public class HashMap<K,V>
extends AbstractMap<K,V>
implements Map<K,V>, Cloneable, Serializable - Arrays.asList() 返回 java.util.Arrays.ArrayList 对象,这里的 ArrayList 是 Arrays 私有的内部类
题目
假如某个JAVA进程的JVM参数配置如下:
-Xms1G -Xmx2G -Xmn500M -XX:MaxPermSize=64M -XX:+UseConcMarkSweepGC -XX:SurvivorRatio=3,
请问eden区最终分配的大小是多少?
- 1
- 2
- 3
- 4
-Xms1G -Xmx2G -Xmn500M -XX:MaxPermSize=64M -XX:+UseConcMarkSweepGC -XX:SurvivorRatio=3,
-Xms1G 设置Java堆最小值为1G
-Xmx2G 设置Java堆最大值为2G
-Xmn500M 设置新生代大小为500M(一个Eden区,两个Survivor区)
-XX:MaxPermSize=64M 设置永久代大小为64M
-XX:+UseConcMarkSweepGC 设置使用CMS收集器
-XX:SurvivorRatio=3 设置Eden区与Survivor区大小的比例
本题看新生代大小,新生代为500M,三个区比例为3:1:1,很容易计算出Eden大小为300M
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
题目
java8中,忽略内部接口的情况,不能用来修饰interface里的方法的有( )
- 1
- 2
Java8的接口方法可以有如下定义
only public, abstract, default, static and strictfp are permitted
java 1.8开始支持接口中定义静态方法,发了一波纠错终于得到回应,题目加了条件java8中。。。。。
文章来源: hiszm.blog.csdn.net,作者:孙中明,版权归原作者所有,如需转载,请联系作者。
原文链接:hiszm.blog.csdn.net/article/details/109110071
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)