java基础
文章平均质量分 67
zjlala96
努力学习,终生学习
展开
-
面试题百日百刷-java基础篇(十一)
② LinkedList LinkedList 采⽤链表存储,所以对于 add(E e) add(E e) ⽅法的插⼊,删除元素时间复杂度不受元素位置的影响,近似O(1),如果是要在指定位置 ii 插⼊和删除元素的话( (add(int index, E element) (add(int index, E element) ) 时间复杂度近似为 o(n)) o(n)) 因为需要先移动到指定位置再插⼊。2. Vector 是 List 的古⽼实现类,底层使⽤ Object[ ]存储,线程安全的。原创 2023-05-28 09:00:00 · 1073 阅读 · 1 评论 -
面试题百日百刷-java基础篇(十)
Map (⽤ Key 来搜索的专家): 使⽤键值对(kye-value)存储,类似于数学上的函数 y=f(x),“x”代表key,"y"代表 value,Key 是⽆序的、不可重复的,value 是⽆序的、可重复的,每个键最多映射到⼀个值。当我们需要保存⼀组类型相同的数据的时候,我们应该是⽤⼀个容器来保存,这个容器就是数组,但是,使⽤数组存储对象具有⼀定的弊端, 因为我们在实际开发中,存储的数据的类型是多种多样的,于是,就出现了“集合”,集合同样也是⽤来存储多个数据的。转载 2023-05-27 09:00:00 · 64 阅读 · 0 评论 -
面试题百日百刷-java基础篇(八)
进入等待状态的线程需要依靠其他线程的通知才能够返回到运行状态,而 TIME_WAITING(超时等待) 状态相当于在等待状态的基础上增加了超时限制,比如通过 sleep(long millis) 方法或 wait(long millis) 方法可以将 Java 线程置于 TIMED WAITING 状态。与进程不同的是同类的多个线程共享同一块内存空间和一组系统资源,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。转载 2023-05-25 09:00:00 · 71 阅读 · 0 评论 -
面试题百日百刷-java基础篇(七)
大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。NullPointerException(要访问的变量没有引用任何对象时,抛出该异常)、ArithmeticException(算术运算异常,一个整数除以 0时,抛出该异常)和 ArrayIndexOutOfBoundsException (下标越界异常)。Throwable: 有两个重要的子类:Exception(异常) 和 Error(错误) ,二者都是 Java 异常处理的重要子类,各自都包含大量子类。转载 2023-05-24 09:00:00 · 45 阅读 · 0 评论 -
面试题百日百刷-java基础篇(六)
getClass()//native方法,用于返回当前运行时对象的Class对象,使用了final关键字修饰,故不允许子类重写。public boolean equals(Object obj)//用于比较2个对象的内存地址是否相等,String类对该方法进行了重写用户比较字符串的值是否相等。public native int hashCode() //native方法,用于返回对象的哈希码,主要使用在哈希表中,比如JDK中的HashMap。Object 类是一个特殊的类,是所有类的父类。转载 2023-05-23 09:00:00 · 64 阅读 · 0 评论 -
面试题百日百刷-java基础篇(五)
因此,如果父类中只定义了有参数的构造方法,而在子类的构造方法中又没有用 super() 来调用父类中特定的构造方法,则编译时将发生错误,因为 Java 程序在父类中找不到没有参数的构造方法可供执行。2. 从变量在内存中的存储方式来看:如果成员变量是使用 static 修饰的,那么这个成员变量是属于类的,如果没有使用 static 修饰,这个成员变量是属于实例的。而对象存在于堆内存,局部变量则存在于栈内存。5. 从设计层面来说,抽象是对类的抽象,是一种模板设计,而接口是对行为的抽象,是一种行为的规范。转载 2023-05-11 09:00:00 · 72 阅读 · 0 评论 -
面试题百日百刷-java基础篇(四)
因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix 等一般采用面向过程开发。这八种基本类型都有对应的包装类分别为:Byte、Short、Integer、Long、Float、Double、Character、Boolean。也就是说,方法得到的是所有参数值的一个拷贝,也就是说,方法不能修改传递给它的任何参数变量的内容。2. 深拷贝:对基本数据类型进行值传递,对引用数据类型,创建一个新的对象,并复制其内容,此为深拷贝。转载 2023-05-10 09:00:00 · 74 阅读 · 0 评论 -
面试题百日百刷-java基础篇(三)
当你把对象加入 HashSet 时, HashSet 会先计算对象的 hashcode 值来判断对象加入的位置,同时也会与其他已经加入的对象的 hashcode 值作比较,如果没有相符的 hashcode, HashSet 会假设对象没有重复出现。equals() : 它的作用也是判断两个对象是否相等,它不能用于比较基本数据类型的变量。因为 Java 只有值传递,所以,对于 == 来说,不管是比较基本数据类型,还是引用数据类型的变量,其本质比较的都是值,只是引用类型变量存的值是对象的地址。转载 2023-05-09 09:00:00 · 73 阅读 · 0 评论