zoukankan      html  css  js  c++  java
  • java基础面试题常出现(一)

    1.”==“和equals方法的区别?

    • ==操作符,对于基本数据类型变量,比较的是两个值是否相等,而对于引用类型,比较的是引用的内存的首地址,即引用同一个对象。
    • Obeject的equalls方法,根据具体业务有开发者对其进行重写。2.

    2.String,StringBuilder,StringBuffer区别

    • String是内容不可变的字符串,底层使用 final char[]数组, StringBuffer和StringBuilder底层使用的数组没有final关键字。
    • 执行速度上     String<StringBuffer<StringBuilde,String对象创建后不可更改,当你用“+”连接另一个字符串的时候,其实jvm是有重新创建了一个对象,将这两个东西又装了进去。
    • StirngBuilder线程不安全,效率高,StringBuffer中很多方法可以带synchronized关键字,线程安全,效率低。

    3.ArrayList和LinkedList的区别和使用场景

    • ArrayList和LinkedList都实现了java.util.List(支持泛型,可存放各种类型的对象),Cloneable(支持克隆), java.io.Serializable(支持序列化)。
    • 都不是线程安全的,若要在多线程中调用他们,可使用Collection.synchronizedList方法
    • ArrayList底层使用数组,LinkdLlist底层是双向链表,数组具有随机访问特点,能查询特定的元素,但是插入删除和修改比较慢

      

  • 相关阅读:
    sweep line 扫描线模型
    双指针&整数二分思路总结
    ELF文件格式
    flask-migrate数据库迁移出现sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (2059, <NULL>)
    腾讯面试题
    zabbix 调用飞书发送消息
    NFS服务部署
    Linux系统启动
    电商系统nuxt的布局目录代码分享
    电商系统中进行流量控制
  • 原文地址:https://www.cnblogs.com/sjxbg/p/8660515.html
Copyright © 2011-2022 走看看