03 2023 档案
摘要:1. 什么是线程池? 线程池: 简单理解,它就是一个管理线程的池子。 它帮我们管理线程,避免增加创建线程和销毁线程的资源损耗。因为线程其实也是一个对象,创建一个对象,需要经过类加载过程,销毁一个对象,需要走GC垃圾回收流程,都是需要资源开销的。 提高响应速度。 如果任务到达了,相对于从线程池拿线程,
阅读全文
摘要:1.什么是JVM? JVM——Java虚拟机,它是Java实现平台无关性的基石。 Java程序运行的时候,编译器将Java文件编译成平台无关的Java字节码文件(.class),接下来对应平台JVM对字节码文件进行解释,翻译成对应平台匹配的机器指令并运行。 Java语言编译运行 同时JVM也是一个跨
阅读全文
摘要:1.说说有哪些常见集合? 集合相关类和接口都在java.util中,主要分为3种:List(列表)、Map(映射)、Set(集)。 其中Collection是集合List、Set的父接口,它主要有两个子接口: List:存储的元素有序,可重复。 Set:存储的元素不无序,不可重复。 Map是另外的接
阅读全文
摘要:1.能说一下HashMap的数据结构吗? JDK1.7的数据结构是数组+链表,JDK1.7还有人在用?不会吧…… 说一下JDK1.8的数据结构吧: JDK1.8的数据结构是数组+链表+红黑树。 数据结构示意图如下: jdk1.8 hashmap数据结构示意图 其中,桶数组是用来存储数据元素,链表是用
阅读全文
摘要:1.说说什么是MyBatis? MyBatis logo 先吹一下: Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement 等繁杂的过程。程序员直接编写原生态 sql,可以严格
阅读全文
摘要:1.springboot 的优势 快速开发:Spring Boot 自动配置很多常见的 Spring 组件,使得开发过程更加高效快捷。 简化配置:Spring Boot 自动配置了许多常见的配置,极大地简化了应用程序的配置过程。 微服务支持:Spring Boot 可以轻松地构建微服务应用程序,支持
阅读全文
摘要:我相信大家都看过很多的关于线程池的文章,基本上也是面试的时候必问的,如果你在看过很多文章以后,还是一知半解的,那希望这篇文章能让你真正的掌握好 Java 线程池。 本文一大重点是源码解析,同时会有少量篇幅介绍线程池设计思想以及作者 Doug Lea 实现过程中的一些巧妙用法。本文还是会一行行关键代码
阅读全文
摘要:这篇文章是 AQS 系列的最后一篇,第一篇,我们通过 ReentrantLock 公平锁分析了 AQS 的核心,第二篇的重点是把 Condition 说明白,同时也说清楚了对于线程中断的使用。 这篇,我们的关注点是 AQS 最后的部分,AQS 共享模式的使用。有前两篇文章的铺垫,剩下的源码分析将会简
阅读全文
摘要:文章比较长,信息量比较大,建议在 pc 上阅读。文章标题是为了呼应前文,其实可以单独成文的,主要是希望读者看文章能系统看。 本文关注以下几点内容: 深入理解 ReentrantLock 公平锁和非公平锁的区别 深入分析 AbstractQueuedSynchronizer 中的 ConditionO
阅读全文
摘要:转自:https://javadoop.com/post/AbstractQueuedSynchronizer 在分析 Java 并发包 java.util.concurrent 源码的时候,少不了需要了解 AbstractQueuedSynchronizer(以下简写AQS)这个抽象类,因为它是
阅读全文
摘要:1. Spring Bean的生命周期 Spring Bean的生命周期主要包括以下几个阶段: 实例化(Instantiation):当Spring容器接收到对Bean的请求时,它将使用Java反射机制创建一个新的Bean实例。 属性赋值(Properties Setting):Spring容器通过
阅读全文
摘要:Spring Web MVC是基于Servlet API构建的原始Web框架
阅读全文
摘要:设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。
阅读全文
摘要:如何理解IO,java中常用的IO模型有哪些 IO(Input/Output)指的是输入/输出,是计算机与外部设备进行数据交换的一种机制。在Java中,IO操作主要涉及到输入流(InputStream)和输出流(OutputStream)两种类型,用于读取和写入不同类型的数据。Java提供了多种IO
阅读全文
