面试高频题
文章平均质量分 75
面试前的准备整理面经级背诵
「已注销」
这个作者很懒,什么都没留下…
展开
-
spring整合及高频面试题
谈谈你对 Spring的理解让 java 开发模块化,并且全面。Spring 通过控制反转降低耦合性,一个对象的依赖通过被动注入的方式而非主动 new,还通过代理模式实现了面向切面编程。IOC 是什么,什么是 Spring IOC 容器?⭐IOC 是一种设计思想。 **IOC 容器是 Spring 用来实现 IOC 的载体, IOC 容器在某种程度上就是个Map(key,value),key是 name 属性,value 是对应的对象。**容器创建 Bean 对象, 使用依赖注入来管理对象之间的相互依原创 2021-05-21 08:52:43 · 232 阅读 · 0 评论 -
Mysql面试题以及知识总结
MySQL架构逻辑架构图和执行流程:并发控制表级锁: MySQL中锁定 粒度最大 的一种锁,对当前操作的整张表加锁,实现简单,资源消耗也比较少,加锁快,不会出现死锁。其锁定粒度最大,触发锁冲突的概率最高,并发度最低,MyISAM和 InnoDB引擎都支持表级锁。行级锁: MySQL中锁定 粒度最小 的一种锁,只针对当前操作的行进行加锁。 行级锁能大大减少数据库操作的冲突。其加锁粒度最小,并发度高,但加锁的开销也最大,加锁慢,会出现死锁。事务原子性(Atomicity): 事务是最小的执行原创 2021-05-15 13:46:05 · 899 阅读 · 6 评论 -
JVM面试题
JVM 的主要组成部分及其作用类加载器(ClassLoader)运行时数据区(Runtime Data Area)执行引擎(Execution Engine)本地库接口(Native Interface)组件的作用: 首先通过类加载器(ClassLoader)会加载类文件到内存,Class loader只管加载,只要符合文件结构就加载。运行时数据区(Runtime Data Area)是jvm的重点,我们所有所写的程序都被加载到这里,之后才开始运行。而字节码文件只是 JVM 的一套指令集规范,转载 2021-05-15 13:39:13 · 139 阅读 · 0 评论 -
java集合容器面试题2021
一 概览容器的思维导图:CollectionListJava 的 List 是非常常用的数据类型。List 是有序的 Collection。Java List 一共三个实现类:分别是 ArrayList、Vector 和 LinkedList。ArrayList:ArrayList 是最常用的 List 实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要将已经有数组的数据复制到新的存储空间中。当从 Ar原创 2021-05-15 13:36:06 · 217 阅读 · 0 评论 -
Java基础面试题
Java基础面试题Java 语言有哪些特点/什么是Java?简单易学;面向对象(封装,继承,多态);平台无关性( Java 虚拟机实现平台无关性);GC实现垃圾回收;异常处理机制;支持多线程;支持网络编程并且很方便;编译与解释并存;面向对象和面向过程的区别面向过程 :面向过程性能比面向对象高。 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发。但是,面向过程没有面向对象易维护、转载 2021-05-15 13:26:20 · 124 阅读 · 0 评论 -
阻塞队列什么机制
什么是阻塞队列阻塞队列:从名字可以看出,他也是队列的一种,那么他肯定是一个先进先出(FIFO)的数据结构。与普通队列不同的是,他支持两个附加操作,即阻塞添加和阻塞删除方法。阻塞队列的特点阻塞添加:当阻塞队列是满时,往队列里添加元素的操作将被阻塞。阻塞移除:当阻塞队列是空时,从队列中获取元素/删除元素的操作将被阻塞。在多线程中,阻塞的意思是,在某些情况下会挂起线程,一旦条件成熟,被阻塞的线程就会被自动唤醒。阻塞队列不用手动控制什么时候该被阻塞,什么时候该被唤醒,简化了操作。根据插入和取出两种类型原创 2021-05-18 16:22:18 · 185 阅读 · 1 评论 -
创建线程有哪些方式以及线程池的七大参数
创建线程的四种方式1、继承Thread类创建线程类2、实现Runnable接口3、通过Callable和Future创建线程4、创建线程池创建线程的主要三种方式继承Thread类创建线程类 (extends) public class FirstThreadTest extends Thread{ int i = 0; //重写run方法,run方法的方法体就是现场执行体 public void run() { for(;转载 2021-05-14 11:01:12 · 422 阅读 · 0 评论 -
计网的七层协议,分别作用?
就一张图片原创 2021-05-14 10:45:20 · 284 阅读 · 0 评论 -
在浏览器中输入url,显示主页的过程
常见的面试题看图总体来说分为下面几个过程:DNS解析TCP连接发送HTTP请求服务器处理请求并返回HTTP报文浏览器解析渲染页面连接结束原创 2021-05-14 10:38:12 · 71 阅读 · 0 评论 -
Spring的核心,Ioc和aop
Spring是一个开源框架。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring的核心是控制反转(IoC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式)轻量级开源框架。1.I原创 2021-05-14 10:34:03 · 439 阅读 · 0 评论 -
synchronized和Lock有什么区别
在解决这个问题之前,先来看看技术点1、线程与进程:一个程序最少需要一个进程,而一个进程最少需要一个线程。关系是线程–>进程–>程序的大致组成结构。所以线程是程序执行流的最小单位,而进程是系统进行资源分配和调度的一个独立单位。2、Thread的几个重要方法:a、start()方法,调用该方法开始执行该线程;b、stop()方法,调用该方法强制结束该线程执行;c、join方法,调用该方法等待该线程结束。d、sleep()方法,调用该方法该线程进入等待。e、run()方法,调用该方法直原创 2021-05-14 10:25:24 · 90 阅读 · 0 评论 -
Redis和MYSQL的区别
redis和mysql的区别从类型上来说,mysql是关系型数据库,redis是缓存数据库mysql用于持久化的存储数据到硬盘,功能强大,但是速度较慢redis用于存储使用较为频繁的数据到缓存中,读取速度快mysql和redis因为需求的不同,一般都是配合使用。1.mysql和redis的数据库类型mysql是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中,读取速度较慢。redis是NOSQL,即非关系型数据库,也是缓存数据库,即将数据存储在缓存中,缓存的读取速度快,能够大大的提高运原创 2021-05-14 08:56:28 · 172 阅读 · 0 评论 -
hashmap是否线程安全,如何解决的
ConcurrentHashMap的原理与结构Hash表的结构是数组加链表,就是一个数组中,每一个元素都是一个链表。在插入元素的时候,首先通过对传入的键(key),进行一个哈希函数的处理,来确定元素应该存放于数组中哪个一个元素的链表中。这种数据结构在实现HashMap的时候并不是线程安全的,因为在HashMap扩容的时候,是会将原先的链表迁移至新的链表数组中,在迁移过程中多线程情况下会有造成链表的死循环情况(JDK1.7之前的头插法);还有就是在多线程插入的时候也会造成链表中数据的覆盖导致数据丢失。所原创 2021-05-14 08:50:47 · 581 阅读 · 0 评论 -
HashMap的结构原理
Hashmap是java面试的常客,写这篇博客,温故而知新Hsah结构转载 2021-05-13 20:49:32 · 165 阅读 · 0 评论