03 2022 档案

摘要:Spring面试题 Spring常见面试题总结(超详细回答)_张维鹏的博客-CSDN博客_spring面试题一个不错的总结!!! 1. 你是怎样理解Spring的 我和面试官的一个约会:打着视频,他问我,你会用Spring对吧,我心里想,对,会用。。。 他接着说,那你对Spring是怎样理解的,我说 阅读全文
posted @ 2022-03-28 16:47 BearBrick0 阅读(158) 评论(0) 推荐(0) 编辑
摘要:SQL 数据定义语言(Data Definition Language,DDL) 用来创建或删除数据库以及表等对象,主要包含以下几种命令: DROP:删除数据库和表等对象 CREATE:创建数据库和表等对象 ALTER:修改数据库和表等对象的结构 数据操作语言(Data Manipulation L 阅读全文
posted @ 2022-03-26 19:09 BearBrick0 阅读(332) 评论(0) 推荐(0) 编辑
摘要:Mybatis面试题 相关文档: https://mybatis.org/mybatis-3/zh/configuration.html bearbrick0/mybatis: mybatis源码中文注释 (github.com) dynamic-sql.xml — mybatis/mybatis- 阅读全文
posted @ 2022-03-23 16:53 BearBrick0 阅读(79) 评论(0) 推荐(0) 编辑
摘要:并发编程进阶 再谈线程池 线程池 怎么去创建多线程 - BeaBrick0 - 博客园 (cnblogs.com) 在我们的程序中,多多少少都会用到多线程技术,而我们以往都是使用Thread类来创建一个新的线程: public static void main(String[] args) { Th 阅读全文
posted @ 2022-03-21 21:08 BearBrick0 阅读(56) 评论(0) 推荐(0) 编辑
摘要:多线程的核心 在前面,我们了解了多线程的底层运作机制,我们终于知道,原来多线程环境下存在着如此之多的问题。在JDK5之前,我们只能选择synchronized关键字来实现锁,而JDK5之后,由于volatile关键字得到了升级(具体功能就是上一章所描述的),所以并发框架包便出现了,相比传统的sync 阅读全文
posted @ 2022-03-19 18:42 BearBrick0 阅读(63) 评论(0) 推荐(0) 编辑
摘要:ThreadLocal ThreadLocal是什么 感谢: (1 封私信) Java中ThreadLocal的实际用途是啥? - 知乎 (zhihu.com) ThreadLocal使用与原理_敖 丙的博客-CSDN博客_threadlocal使用 ThreadLocal的介绍+经典应用场景 - 阅读全文
posted @ 2022-03-19 16:38 BearBrick0 阅读(93) 评论(1) 推荐(0) 编辑
摘要:Java中的引用 阿里面试回顾: 说说强引用、软引用、弱引用、虚引用? - 掘金 (juejin.cn) 前言 我们都知道 JVM 垃圾回收中,GC判断堆中的对象实例或数据是不是垃圾的方法有引用计数法和可达性算法两种。 无论是通过引用计数算法判断对象的引用数量,还是通过根搜索算法(可达性分析法)判断 阅读全文
posted @ 2022-03-19 16:16 BearBrick0 阅读(193) 评论(1) 推荐(1) 编辑
摘要:JUC笔记 JUC是java.uitl.concurrent包下的一系列的的并发编程的包。 线程和进程 线程 在操作系统中,线程是比进程更小的能够独立运行的基本单位。同时,它也是CPU调度的基本单位。线程本身基本上不拥有系统资源,只是拥有一些在运行时需要用到的系统资源,例如程序计数器,寄存器和Jav 阅读全文
posted @ 2022-03-18 13:26 BearBrick0 阅读(97) 评论(0) 推荐(0) 编辑
摘要:Go语言学习 GO的优势 极简单的部署方式 可直接编译成机器码 不依赖其他库 直接运行即可部署 静态类型的语言 编译的时候检查出来隐藏的大多数问题 语言层面的并发 天生的基因支持 充分的利用多核 强大的标准库 runtime系统调度机制 高效的GC垃圾回收(3色标记和混合写屏障) 丰富的标准库(加解 阅读全文
posted @ 2022-03-14 18:32 BearBrick0 阅读(40) 评论(0) 推荐(0) 编辑
摘要:JVM垃圾回收 当需要排查各种内存溢出问题、当垃圾收集成为系统达到更高并发的瓶颈时,我们就需要对这些“自动化”的技术实施必要的监控和调节。 JVM内存分配 Java 的自动内存管理主要是针对对象内存的回收和对象内存的分配。同时,Java 自动内存管理最核心的功能是 堆 内存中对象的分配与回收。 Ja 阅读全文
posted @ 2022-03-13 16:02 BearBrick0 阅读(136) 评论(0) 推荐(0) 编辑
摘要:JVM内存结构 Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的数据区域。JDK 1.8 和之前的版本略有不同,下面会介绍到。 Jvm 内存区域主要分为线程私有区域 程序计数器、虚拟机栈、本地方法区,线程共享区域 堆、方法区、直接内存。 线程私有数据区域生命周期与线程 阅读全文
posted @ 2022-03-10 16:28 BearBrick0 阅读(83) 评论(0) 推荐(0) 编辑
摘要:Java类加载的过程?类加载器? JVM类加载机制大致分为:加载、验证、准备、解析(其中验证、准备和解析都为链接)、初始化、使用、卸载。 详细过程的拆解 1. 加载 通过类加载(也有叫装载)器,将java代码加载成.class文件到内存中。 将读取到的.class数据存储到运行时内存区的方法区。 然 阅读全文
posted @ 2022-03-10 12:50 BearBrick0 阅读(86) 评论(2) 推荐(0) 编辑
摘要:如何实现ACID? 前言 最近在面试,有被问到,MySQL的InnoDB引擎是如何实现事务的,又或者说是如何实现ACID这几个特性的,当时没有答好,所以自己总结出来,记录一下。 事务的四大特性 事务的四大特性ACID分别是,A-原子性(Atomicity),C-一致性(Consistency),I- 阅读全文
posted @ 2022-03-08 21:17 BearBrick0 阅读(79) 评论(0) 推荐(0) 编辑
摘要:并发时常见的死锁及解决方法 死锁是并发系统中常见的问题,同样也会出现在数据库MySQL的并发读写请求场景中。**当两个及以上的事务,双方都在等待对方释放已经持有的锁或因为加锁顺序不一致造成循环等待锁资源,就会出现“死锁”。**常见的报错信息为 Deadlock found when trying t 阅读全文
posted @ 2022-03-08 19:57 BearBrick0 阅读(174) 评论(0) 推荐(0) 编辑
摘要:锁 锁机制 事务与锁是不同的。事务具有ACID( 原子性、一致性、隔离性和持久性),锁是用于解决隔离性的一种机制。事务的隔离级别通过锁的机制来实现。 为了保证数据并发访问时的一致性和有效性,任何一个数据库都存在锁机制。锁机制的优劣直接影响到数据库的并发处理能力和系统性能,所以锁机制也就成为了各种数据 阅读全文
posted @ 2022-03-08 19:54 BearBrick0 阅读(60) 评论(0) 推荐(0) 编辑
摘要:索引 索引(Index)是什么?为什么要使用索引? 索引是提高数据库性能的重要方式,用来快速找出数据表中的特定记录。如果在表中查询的列有一个索引,MySQL 能快速到达一个位置去搜寻数据,而不必查看所有数据。一个表可以创建多个索引,一个索引可以包含一个或者多个字段。 从表面上看,索引类似于书的目录, 阅读全文
posted @ 2022-03-08 19:30 BearBrick0 阅读(102) 评论(0) 推荐(0) 编辑
摘要:事务 当多个用户访问同一数据时,一个用户在更改数据的过程中可能有其它用户同时发起更改请求,为保证数据的一致性状态,MySQL 引入了事务。 在银行业务中,有一条记账原则,即有借有贷,借贷相等。为了保证这种原则,每发生一笔银行业务,就必须确保会计账目上借方科目和贷方科目至少各记一笔,并且这两笔账要么同 阅读全文
posted @ 2022-03-08 16:00 BearBrick0 阅读(242) 评论(0) 推荐(0) 编辑
摘要:线程是什么? 线程被称为轻量级进程,是程序执行的最小单位,它是指在程序执行过程中,能够执行代码的一个执行单位。每个程序程序都至少有一个线程,也即是程序本身。 线程的状态 Java语言定义了5种线程状态,在任意一个时间点,一个线程只能有且只有其中一个状态。这5种状态如下: 新建(New):创建后尚未启 阅读全文
posted @ 2022-03-07 20:16 BearBrick0 阅读(100) 评论(0) 推荐(0) 编辑
摘要:并发编程中,锁是经常需要用到的,今天我们一起来看下Java中的锁机制:synchronized和lock。 synchronized Synchronized 是Java 并发编程中很重要的关键字,另外一个很重要的是 volatile。Syncronized 的目的是一次只允许一个线程进入由他修饰的 阅读全文
posted @ 2022-03-07 17:47 BearBrick0 阅读(2213) 评论(0) 推荐(0) 编辑
摘要:由秒杀引发的一个问题 秒杀最大的一个问题就是解决超卖的问题。其中一种解决超卖如下方式: update goods set num = num - 1 WHERE id = 1001 and num > 0 我们假设现在商品只剩下一件了,此时数据库中 num = 1; 但有100个线程同时读取到了这个 阅读全文
posted @ 2022-03-07 16:05 BearBrick0 阅读(3422) 评论(0) 推荐(0) 编辑
摘要:索引优化 索引结构 要搞明白这个问题,需要大家首先明白 MySQL 中索引存储的数据结构。这个其实很多小伙伴可能也都听说过,B+Tree 嘛! B+Tree 是什么?那你得先明白什么是 B-Tree,来看如下一张图: 前面是 B-Tree,后面是 B+Tree,两者的区别在于: B-Tree 中,所 阅读全文
posted @ 2022-03-06 18:59 BearBrick0 阅读(1333) 评论(0) 推荐(1) 编辑
摘要:为什么 MySQL 使用 B+树 - 知乎 (zhihu.com) 首先需要澄清的一点是,MySQL 跟 B+ 树没有直接的关系,真正与 B+ 树有关系的是 MySQL 的默认存储引擎 InnoDB,MySQL 中存储引擎的主要作用是负责数据的存储和提取(从我们的磁盘中),除了 InnoDB 之外, 阅读全文
posted @ 2022-03-06 12:56 BearBrick0 阅读(284) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
主题色彩