首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java面试题集锦 - 有序号
lfsun666
创建于2023-02-23
订阅专栏
为什么叫“Java面试题集锦”?因为涵盖了好多好多面试题!嘿嘿嘿 那不是废话吗!!!
等 21 人订阅
共999篇文章
创建于2023-02-23
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
【520、说一下线程池的拒绝策略吧?】
线程池的拒绝策略是用来处理当线程池中的线程已经全部被占用,而新的任务又被提交到线程池中时的一种处理策略。以下是几种常见的线程池拒绝策略: AbortPolicy:这是默认的拒绝策略,它会直接抛出 Re
【519、什么时候线程池会变成最大线程数】
当线程池中的工作线程数等于线程池的最大线程数时,进一步提交的任务将会被放入阻塞队列中等待执行。 以下是一个简单的线程池的源代码示例: 该示例中,MyThreadPool类是一个自定义线程池类,构造函数
【518、在 AQS 队列里,抢占锁是按照队列顺序吗?默认是什么锁?】
在 AQS 的队列中,抢占锁是按照队列顺序来的,也就是先入队的线程先进行获取锁的操作。 默认情况下,AQS 实现的是一个非公平锁。当有多个线程同时争抢锁时,锁的获取是不公平的,不是按照线程请求锁的顺序
【517、说一下 AQS?看过锁的源码吗?说下 reent lock 的实现。】
AQS(AbstractQueuedSynchronizer)是 Java 并发包中一个重要的同步工具类,它提供了一个基于 FIFO 队列的同步器框架,可以方便地实现各种同步器,如 Reentrant
【516、数组和集合的区别,什么情况下用数组,什么情况下用集合?】
数组和集合都是 Java 中常见的数据结构,它们之间的主要区别如下: 数组是一种静态数据结构,其长度在创建时就已经确定,而集合是一种动态数据结构,其长度可以在运行时动态改变。 数组可以存储基本类型和对
【515、举例一下 hashmap 什么情况下会线程不安全?】
HashMap 在多线程环境下会出现线程不安全的情况,具体表现为以下两种情况: 当多个线程同时对 HashMap 进行添加、删除、修改等操作时,可能会导致数据结构出现不一致的情况,例如链表中出现环形结
【514、说下 HashMap put 】
在 Java 1.8 中,HashMap 中添加元素使用的是 put(key, value) 方法,该方法的实现步骤如下: 计算 key 的哈希值,并将其与 HashMap 的容量减一后的值进行按位与
【513、如何实现一个 Starter?】
实现一个 Spring Boot Starter 可以让开发者在其项目中引入我们的自定义模块或组件,从而简化配置和减少冗余代码。下面是实现一个 Starter 的大致步骤: 创建一个 Maven 项目
【512、SpringBoot 是如何实现自动装配的?如何实现按需加载?】
Spring Boot通过自动配置机制,可以快速地将各种组件整合到一个应用程序中,而不需要手动配置。自动配置是通过使用Spring的条件化配置和Spring的SPI(Service Provider
【510、移位操作为什么快?从底层是二进制,补码原码真值回答底层的原理。】
移位操作之所以快,是因为它是基于位运算的,位运算在底层的实现中可以直接对二进制进行处理,不需要进行转换和计算,因此运算速度比其他运算(如加减乘除)更快。 在计算机底层,所有的数据都是以二进制形式存储的
【509、说说怎么创建线程?有几种方式,为什么?有什么区别?】
Java 中有多种创建线程的方式,常见的有以下三种: 继承 Thread 类并重写 run() 方法 可以通过继承 Thread 类并重写 run() 方法来创建一个线程,例如: 实现 Runnabl
【508、说说你理解的线程?说说线程池?几种方式? 阿里巴巴开发手册为什么推荐使用自定义线程池?】
线程是操作系统能够进行运算调度的最小单位,也是实现并发编程的基本单位。线程可以看作是一条执行路径,每个线程都有自己的执行状态、堆栈、寄存器和程序计数器等属性,可以在独立的执行环境中运行。 线程池是一种
【507、说说 Java 的线程和操作系统的线程是不是一样的?有什么区别?】
Java的线程和操作系统的线程有一些相似之处,但也有一些区别。 相似之处: Java线程和操作系统的线程都是用于实现并发的基本单位,都可以被调度和执行,并且都有自己的状态、堆栈和执行上下文等属性。 区
【506、说说 url 从输入到回车经历的过程?http tcp(三次握手,对应的状态)】
当我们在浏览器的地址栏中输入一个URL并按下回车时,会经历以下过程: DNS解析:浏览器会先检查URL中是否包含域名,如果有,则将域名发送给本地DNS服务器进行解析,获取域名对应的IP地址。 建立TC
【505、索引说一说?分库分表?】
索引是数据库中用来提高查询效率的一种机制,它可以加速数据库的数据检索和匹配。索引是数据库中一个特殊的数据结构,用于加速数据的查找、排序和聚合操作。 索引可以分为多种类型,如B-Tree索引、Hash索
【504、说说你的 MySQL 理解?有没有写过什么复杂的 SQL?使用什么优化了吗?你平时是如何优化 SQL 的?如何查看 SQL 语句的执行速度?】
MySQL是一种关系型数据库管理系统,是目前使用最广泛的开源数据库之一,广泛应用于Web应用程序和企业级软件开发中。MySQL使用SQL(Structured Query Language)作为其主要
【503、说说 ConcurrentHashMap?】
ConcurrentHashMap是Java中的一个线程安全的HashMap实现,它支持高并发的读和写操作,并且比Hashtable和同步的HashMap性能更好。在Java 1.7和1.8中,Con
【502、说说 HashMap 的底层原理?数据结构?扩容?】
Java8 中的 HashMap 底层原理是基于哈希表(hash table)实现的,使用数组+链表+红黑树的数据结构。 在 HashMap 中,存储键值对的数据结构称为“桶”(bucket),一个桶
【501、说说 ArrayList 和 LinkedList 底层有什么区别?说说怎么删除固定的位置的元素?有什么线程安全问题吗?为什么会产生?】
ArrayList 和 LinkedList 是 Java 集合框架中两个常用的 List 实现。它们的底层实现机制不同,因此在某些方面表现不同。 ArrayList 的底层实现是一个可变数组(dyn
【500、说说 fullgc 你说说你的了解?jvm 触发 fullGC 老年代没有减少可能是什么原因?】
在 Java 8 中,Full GC(Full Garbage Collection)是指对整个 Java 堆(包括年轻代和老年代)进行一次垃圾回收的过程。Full GC 通常会伴随着一次长时间的停顿
下一页