首页 > 编程语言 > 详细

JAVA面试大全(2020.08前持续更新)

时间:2020-06-24 11:26:36      阅读:66      评论:0      收藏:0      [点我收藏+]

一、java基础

二、集合

三、多线程

四、jvm

五、常用框架

六、组件-MQ、Dubbo、Redis

七、数据库

八、算法

九、非技术常用问答

 

1、&与&&,|与||

&与&&:只有两边都是true时,结果才是true;

不同之处:&两边都要运算,&&先算左侧,左侧false则右侧不计算;

 

|与||与上述类似,当两边计算结果至少有一个是true时,结果才是true;

不同之处:|两边都要运算,||先算左侧,左侧true则右侧不计算;

 

2、最有效计算2乘以8

原理:位运算时CPU直接支持的,效率高

8是2的3次方,2*8 == 2<<3

1 //常见的JDK源码??HashMap的默认容量16
2 //1<<4,就相当于 1 * 2的4次方,1*16
3 int DEFAULT_INITIAL_CAPACITY = 1 << 4; 

 

3、两个int值互换

面试官考察:+-和异或

方法一:加减法,求和后相互做差;

 public static void swap(int a, int b){
     System.out.printf("a=%d, b=%d",a,b);
     a = a + b;
     b = a - b ;
     a = a - b;
     System.out.printf("\na=%d, b=%d",a,b);
 }

方法二:异或,?个数 与另一数 异或两次 是本身,与本身异或是0;

 public static void swap2(int a, int b){
     System.out.printf("a=%d, b=%d",a,b);
     a = a^b; //a1 = a^b
     b = b^a; //b = b^a^b 是a
     a = a^b; //a = a1^b = a^b^a
     System.out.printf("\na=%d, b=%d",a,b);
 }

 

4、java语言的基础类型

基础数据类型:byte、short、int、long、float、double、char、boolean

 

JAVA面试大全(2020.08前持续更新)

原文:https://www.cnblogs.com/huasky/p/13186131.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!