【Java集合类面试七】、 JDK7和JDK8中的HashMap有什么区别?
面试官:JDK7和JDK8中的HashMap有什么区别?** 参考答案: JDK7中的HashMap,是基于数组+链表来实现的,它的底层维护一个Entry数组。它会根据计算的hashCode将对应的KV键值对存储到该数组中,一旦发生hashCode冲突,那么就会将该KV键值对放到对应的已有元...
面试官:JDK中都用了哪些设计模式?
设计模式是前辈们经过实践验证总结的解决方案,帮助我们构建出更具可维护性、可扩展性和可读性的代码。当然,在面试的过程中,也会或多或少的被问到。那么今天,我们就来看一道设计模式中的常见面试问题:JDK 中都用了哪些设计模式? 我按照大家比较熟悉且好理解的方式,把 JDK 中使用的设计模式总结了一下,如下图所示:那么,接下来我们一个个来看。 1.单例模式 单例模式保证一个类只有一个实例,并...
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程,JDK、JRE、JVM关系;程序计数器,堆,虚拟机栈,堆栈的区别是什么,方法区,直接内存
目录 一、JVM基本介绍——概念、组成、重点 1.1 JVM是什么1.2 JVM由哪些部分组成,运行流程是什么?1.3 JDK、JRE、JVM 关系1.4 学习什么 二、JVM组成 2.1 什么是程序计数器2.2 你能详细地介绍堆吗2.3 什么是虚拟机栈2.4 垃圾回收是否涉及栈内存2.5 栈内存分配越大越好吗2.6 方法内的局部变量是否线程安全2.7 什么情况下会导...
JVM常见面试题(一):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别
文章目录 1 JVM是什么(概念) 2 JVM由哪些部分组成,运行流程是什么(组成) 3 JDK、JRE、JVM 关系 3.1 JDK3.2 JRE3.3 JVM3.4 JDK、JRE、JVM三者的联系与区别 4 学习什么(重点) 1 JVM是什么(概念) JVM...
【面试问题】JDK 和 JRE 的区别?
Java 开发涉及到两个关键的组件:JDK(Java Development Kit)和JRE(Java Runtime Environment)。这两者在 Java 开发生态系统中扮演不同的角色,下面详细讨论它们的区别。JDK(Java Development Kit)Java Development Kit 是 Java 开发工具包,它提供了一系列的工具和命令行实用程序,使得开发者能够创建、....
【面试问题】JDK 动态代理与 CGLIB 区别?
JDK 动态代理和 CGLIB(Code Generation Library)是两种常见的 Java 动态代理技术,它们在实现方式和应用场景上存在一些区别。1. 实现方式:JDK 动态代理:使用 java.lang.reflect.Proxy 类和 java.lang.reflect.InvocationHandler 接口。只能代理实现了接口的类,生成的代理对象是接口的实现类。通过 Java....
【面试问题】JDK并发类库提供的线程池实现有哪些?
Java 提供了丰富的并发类库,其中包括多种线程池实现。java.util.concurrent.Executors:Executors 类是线程池的工厂类,提供了许多静态方法用于创建不同类型的线程池。这些方法包括:newFixedThreadPool(int nThreads):创建一个固定大小的线程池,所有任务都在同一固定数量的线程中执行。newCachedThreadPool():创建一个....
【面试题精讲】JDK 自带的序列化方式
!! 有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top首发博客地址[1]面试题手册[2]系列文章地址[3]1. 什么是 JDK 自带的序列化方式?JDK(Java Development Kit)提供了一种内置的序列化机制,即 Java 对象序列化。它允许将 Java 对象转换为字节流,以便在网络上传输或保存到磁盘上,并且....
【面试题精讲】JDK动态代理
“有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top”首发博客地址[1]面试题手册[2]系列文章地址[3]1. 什么是 JDK 动态代理?JDK 动态代理是 Java 中一种实现代理模式的机制。它允许在运行时创建代理类和对象,用于替代原始对象进行方法调用,并可以在方法调用前后添加额外的逻辑。2. 为什么需要 JDK 动态代理....
面试官:JDK1.8 HashMap扩容rehash算法是如何优化的?
大家好,我是三友~~ 本文跟大家聊一聊一个常见的面试题,那就是JDK1.8 HashMap扩容rehash算法是如何优化的? 众所周知HashMap的底层其实是一个数组,既然是一个数组,必然长度是固定的,也就一定存在扩容的问题。在JDK1.7的时候,是将数组扩容为两倍,然后将HashMap中所有的key重新进行hash寻址算法然后再放入到扩容后的新的数组的新的位置。 但是从JDK1.8之后...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
Java面试那些事儿
手把手带您学习Java,开启编程之路。
+关注