• JavaSE基础笔记


    1、String、StringBuffer和StringBuffer的区别
    String:
    被final修饰、不可变类。拿 String str = "123";str=str+"456";举例
    每次拼接都会在堆内存创建新的String对象。栈内存的地址执行新的对象。
    适用于操作少量数据。
    StringBuffer:
    字符串可变、线程安全(方法被synchronized修饰)、适用于多线程字符串缓冲区操作大量数据。
    可通过toString()方法转换为String类型。
    StringBuider:
    字符串可变、线程不安全、适用于单线程字符串缓冲区操作大量数据。
    可通过toString()方法转换为String类型。

    2、说一下封装、继承、多态
    封装:
    将类的数据和方法进行封装,对外提供接口进行访问。简单来说,封装就是隐藏一切可以隐藏的东西,对外可以提供简单的接口。
    继承:
    从已有父类继承信息创建新类的过程。提供信息的类叫做父类,得到继承信息的类叫做子类。
    子类不仅可以具备父类所有属性,还可以新增自己的属性和方法。为程序提供可变因素。
    多态:
    不同子类对象对同一消息做出的不同响应。简单说就是不同子类对象调用相同方法却做了不同事情。
    编译时多态:
    方法重载,编译时多态性。
    运行时多态:
    方法重写,运行时多态性。
    实现运行时多态的两个条件:方法重写,对象造型(父类引用指向子类对象,父类引用执行子类对象,调用同样的方法却表现不同的行为)。

    3、说一下HashMap、LinkedHashMap和TreeMap的区别
    相同点:
    都实现了Map接口。Map及其实现类用来存键值对。不允许key重复,但允许value重复。
    HashMap:
    根据key的hashCode值存放数据,访问速度快,可允许一个key为null,多个value为null。
    线程不安全。
    LinkedHashMap:
    HashMap的子类,内部维持了一个双向链表,内部实现是插入排序:输入顺序和输出顺序相同。
    线程不安全。
    TreeMap:
    实现了NavigableMap接口和SortedMap 接口。
    底层通过红黑二叉树,采用中序遍历实现排序功能。
    treeMap 和HashMap 都继承自AbstractMap。
    实现 NavigableMap 接口让 TreeMap 有了对集合内元素的搜索的能力。
    实现SortMap接口让 TreeMap 有了对集合中的元素根据键排序的能力。默认是按 key 的升序排序

  • 相关阅读:
    AWS生产环境Pod挂载不了configmap、secret
    Ant学习
    Springframework3.1源码编译
    MyEclipse10 中增加svn插件
    如何测试java支持的最大内存
    Tomcat中部署后JspFactory报异常的解决方案
    win7x64下安装oraclex64版本后,plsql Developer无法登录的问题
    CentOS6.4安装及配置oracle
    VMWare安装redhat9后上网的的问题
    泛海精灵项目的回顾与反思
  • 原文地址:https://www.cnblogs.com/yuanziren/p/13333933.html
Copyright © 2020-2023  润新知