
面试
yzhao666
这个作者很懒,什么都没留下…
展开
-
HashMap底层原理,和hashtable的区别
hashmap底层是一个数据,实际是node 数组加链表,他的初始容量是2*4次方16是在第一次添加数据的时候初始化的容器,每一个数据中的node节点参数有hash,k,v以及下一个node的引用属性。 static class Node<K,V> implements Map.Entry<K,V> { final int hash; final K key; V value; Node<K,V> ne原创 2021-03-01 15:03:54 · 351 阅读 · 2 评论 -
Arraylist扩容机制
构造方法:指定容量 public ArrayList(int initialCapacity) { if (initialCapacity > 0) { this.elementData = new Object[initialCapacity]; } else if (initialCapacity == 0) { this.elementData = EMPTY_ELEMENTDATA; } els原创 2021-02-27 20:22:29 · 318 阅读 · 0 评论 -
ArrayList和linkedList的区别
ArrayList底层是一个Object数据,所有的数据都是存放同一个内存地址上Linkedlist底层是一个双向链表,每个数据的地址都不一样。所有linkedList查询慢,增删快Arryalist查询快,增删慢两者都是线程不安全的java集合框架List:可以重复Queue:是队列结构Set:不可重复map:键值...原创 2021-02-25 14:05:44 · 154 阅读 · 0 评论 -
java死锁
代码:public class DeadLockTest2 { private static Object resourceA = new Object();//资源 1 private static Object resourceB = new Object();//资源 2 public static void main(String[] args) { Thread threadA = new Thread(new Runnable() {原创 2021-02-22 15:00:20 · 158 阅读 · 0 评论 -
offer来了笔记-(原理篇)
这里写目录标题第一章jvm1.1 JVM的运行机制三级目录第一章jvm1.1 JVM的运行机制三级目录1.1 JVM的运行机制java文件被编译成.class字节码文件,jvm将字节码文件翻译成机器能够识别的机器码,机器码调用相应操作系统的本地方法库执行相应的方法。jvm包括一个类加载子系统,运行时数据区,执行引擎,本地接口库,本地接口库通过本地方法库与操作系统交互类加载器将编译好的.class文件加载进jvm运行时数据库存储jvm运行时产生的数据包括程序计数器,方法区(常量池),堆,栈,本原创 2021-02-20 23:46:51 · 262 阅读 · 0 评论 -
javaguide面试进阶指南版笔记-Java 基础知识
Java 和 C++的区别?都是面向对象的语言,支持封装、继承、多态java不提供指针来直接访问内存,程序内存更安全java类是单继承,c++是多继承,java接口是多继承Java 有自动内存管理机制,不需要程序员手动释放无用内存重载和重写的区别?重载是同一个类下,同一个方法名,不同的参数,不同的响应结果重写是发生在父类与子类,子类继承父类的方法,相同的参数,不同的响应结果构造器 Constructor 是否可被 override?父类的构造方法和私有属性成员是无法被继承的,所以无法重原创 2021-02-20 19:29:04 · 782 阅读 · 0 评论 -
JDK 和 JRE 的区别是什么?
jdk包含jre,jre是java运行时环境,另外jdk包含开发时所需要的sdk和编译器javac和javadoc工具原创 2021-02-20 10:49:37 · 213 阅读 · 1 评论 -
JAVA语言是一种编译型-解释型语言
java是通过javac命令将.java文件编译成.class文件,再通过java虚拟机翻译.class文件解释成机器能够识别的机器码。c和c++则是编译型语言,编译后可以生产机器能够直接运行的机器码。javascript则是解释型语言...原创 2021-02-20 09:40:16 · 500 阅读 · 0 评论 -
== 和 equals 的区别
1、==基本数据类型比较的值是否相等引用数据类型比较的是引用是否相等String x = “string”;String y = “string”;String z = new String(“string”);System.out.println(xy); // trueSystem.out.println(xz); // falseSystem.out.println(x.equals(y)); // trueSystem.out.println(x.equals(z)); // tr转载 2021-02-20 08:15:02 · 138 阅读 · 0 评论