面试题-Java基础

一、Java基础(概念)

  1. 面向对象的特性有哪些:封装、继承和多态。
  2. Object类中的方法:https://www.cnblogs.com/NoPeach/p/8460810.html
  3. 为什么Object会有wait方法:https://www.cnblogs.com/lirenzhujiu/p/5927241.html
  4. 为什么Object会有clone方法:https://blog.csdn.net/chosen0ne/article/details/6290186
  5. 深克隆与浅克隆:https://blog.csdn.net/jeffleo/article/details/76737560
  6. Java的传值方式:https://blog.csdn.net/wb_snail/article/details/78643770
  7. 谈谈Java中的volatile:http://www.cnblogs.com/chengxiao/p/6528109.html
  8. 接口和抽象类的区别:http://www.importnew.com/12399.html
  9. Java对象的序列化及反序列化:https://www.cnblogs.com/xdp-gacl/p/3777987.html
  10. String类为什么是final的1:https://blog.csdn.net/qq_27093465/article/details/52190915  
  11. String类为什么是final的2:https://blog.csdn.net/u013905744/article/details/52414111
  12. Class.forName和classloader的区别:https://blog.csdn.net/qq_27093465/article/details/52262340
  13. Java反射性能问题:https://blog.csdn.net/f641385712/article/details/81225239
  14. Java反射性能优化:1). m.setAccessible(true); 由于JDK的安全检查耗时较多.所以通过setAccessible(true)的方式关闭安全检查就可以达到提升反射速度的目的。2)用缓存,比如redis, 这个方法提高效率是显而易见的。 将反射得到元数据保存起来,使用时,只需从内存中调用即可。3)利用一些高性能的反射库,如ReflectASM ReflectASM 使用字节码生成的方式实现了更为高效的反射机制。执行时会生成一个存取类来 set/get 字段,访问方法或创建实例。一看到 ASM 就能领悟到 ReflectASM 会用字节码生成的方式,而不是依赖于 Java 本身的反射机制来实现的,所以它更快,并且避免了访问原始类型因自动装箱而产生的问题。https://blog.csdn.net/sjtu_chenchen/article/details/51315297
  15. Arrays.sort和Collections.sort实现原理:不论是Collections.sort方法或者是Arrays.sort方法,底层实现都是TimSort实现的,这是jdk1.7新增的,以前是归并排序。TimSort算法就是找到已经排好序数据的子序列,然后对剩余部分排序,然后合并起来。:https://blog.csdn.net/u011410529/article/details/56668545
  16. java中Comparable和Comparator两种比较器的区别:https://www.cnblogs.com/szlbm/p/5504634.html
  17. 2
  18. 23

二、Java基础(特殊面试题)

  1. 一个ArrayList在循环过程中删除,会不会出问题,为什么:https://www.cnblogs.com/androidsuperman/p/9012320.html
  2. @transactional注解在什么情况下会失效,为什么:http://www.cnblogs.com/androidsuperman/p/9013094.html
  3. 为什么要重写hashcode()和equals:
  4. 比较两个对象是否相等equals,比较两个对象是否相同==。
  5. Integer,Short,Long 中有个Cache存放-128到128的值,Integer i1,i2=120,直接i1=i2返回true,但是Integer i3,i4=129(以后的值),直接i3=i4返回false。原因是Integer生成时直接返回Cache中120的对象,所有i1=i2返回true,而i3,i4初始时,Integer中Cache不含有他们对应的对象,i3,i4初始时直接新生成了两个对象,所有i3=i4返回false。因为-128到128数据经常使用,包装类自身便把他们初始化在Cache当中,方便使用,效率更快。(但是Float和Double没有Cache初始化)
  6. 为什么不能根据返回类型来区分重载:https://blog.csdn.net/sinat_32176267/article/details/70568756
  7.  

三、Java基础

  1. 1
  2.  

四、1.7新特性

  1. 网址:https://blog.csdn.net/u014209205/article/details/79718689
  2. 网址2:1)switch中使用String。2)try-with-resources。3)捕获多个异常。4)泛型实例化类型自动推断。5)增加二进制表示。6)数字中可添加分隔符。

五、Java8新特性

  1. 网址:https://blog.csdn.net/shuaicihai/article/details/72615495
  2. 网址2:http://www.runoob.com/java/java8-new-features.html
  3. 新特性:1)Lambda 表达式。2)方法引用与构造器引用。3)默认方法。4)新工具(Nashorn引擎 jjs)5)Stream API。6)Date Time API。7)Optional 类。8)Nashorn, JavaScript 引擎。

六、Java9新特性

  1. 网址:http://www.importnew.com/24528.html
  2. 新特性:1)Java 平台级模块系统。2)Linking(jlink 工具)。3)JShell : 交互式 Java REPL。4)改进的 Javadoc。5)集合工厂方法。6)改进的 Stream API。7)私有接口方法。8)HTTP/2。9)多版本兼容 JAR。
  3. 23

七、Java10新特性

  1. 网址:https://blog.csdn.net/micro_hz/article/details/79640702
  2.  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值