面试
文章平均质量分 66
aa啊呀
这个作者很懒,什么都没留下…
展开
-
如何理解mysql的mvcc
## 问:如何理解mysql的mvcc所谓多版本,就是一行记录在数据库中存储了多个版本(版本链),每个版本以事务ID作为版本号。InnoDB 引擎表中,它的聚簇索引记录中有两个必要的隐藏列:trx_id这个id用来存储的每次对某条聚簇索引记录进行修改的时候的事务id,roll_pointer就是存了一个指针,它指向这条聚簇索引记录的上一个版本的位置,通过它来获得上一个版本的记录信息。每次查询在事务开始的时候向InnoDB的事务系统申请trx_id,并且按照申请顺序严格递增的。假如一行记录被多个...原创 2021-03-17 18:10:16 · 144 阅读 · 0 评论 -
Java实现栈
#数组实现public class MStack1<T> { private Object[] stack; private int size; MStack1() { stack = new Object[10]; } public boolean isEmpty() { return size == 0; } //返回栈顶元素 public T peek() { T t原创 2021-02-01 17:49:04 · 87 阅读 · 0 评论 -
Java基础回顾
Java范型https://www.cnblogs.com/wuqinglong/p/9456193.htmlJava类型擦除Java的泛型是伪泛型,这是因为Java在编译期间,所有的泛型信息都会被擦掉。Java的泛型基本上都是在编译器这个层次上实现的,在生成的字节码中是不包含泛型中的类型信息的,使用泛型的时候加上类型参数,在编译器编译的时候会去掉,这个过程成为类型擦除。举例说明:例1: public static void main(String[] args) {原创 2020-12-27 20:55:39 · 304 阅读 · 0 评论 -
深入理解JVM内存模型-----举例说明
对于java虚拟机的理解,一直停留在似懂非懂的阶段,只了解栈、堆、方法区、程序计数器这些名词,还有一些垃圾回收的算法之类,因为面试遇到一个问题,用一个例子说明java虚拟机的内存模型,每个部分分布在什么地方,这时候就一脸焖逼,所以本文就用一个例子举例来粗略的说明虚拟机的内存模型首先例子如下:public class JVM { public static void main(St...原创 2020-02-18 14:37:38 · 263 阅读 · 0 评论 -
java数组模拟实现队列
数组模拟队列的简单实现方式代码如下:public class ArrayQueue { private int maxSize; private int front; private int tail; private int[] array; public ArrayQueue(int queueSize) { maxSize = ...原创 2020-02-17 17:50:48 · 308 阅读 · 0 评论 -
java高级面试题总结
目录1、java基础2、数据库3、java多线程4、jvm、java内存模型5、java框架(spring boot,sprint cloud)6、中间件7、算法8、网络1、java基础###hashmap原理?扩容##arraylist原理?扩容##jdk1.8新特性?2、数据库##mysql索引优化https://www.cnblogs.com/qlqwjy/p/8592043....原创 2019-12-18 14:35:02 · 5193 阅读 · 1 评论 -
二叉树遍历
赋值二叉树二叉树形式如下树形结构public class TreeNode { public int value; public TreeNode left; public TreeNode right; public TreeNode(int value) { this.value = value; }}赋值...原创 2020-01-16 14:57:02 · 92 阅读 · 0 评论 -
Spring源码阅读
阅读Spring源码,我们可通过在github上下载源码,再通过编译的方式进行,也可以通过Idea构建maven工程,阅读maven反编译后的源码,源码编译的方式会有编译错误,操作复杂,本文通过maven反编译的方式阅读spring源码。因为XML的方式创建spring项目不易阅读,以下项目通过javabean的方式创建。1、创建maven项目很容易,不多说2、添加maven依赖...原创 2020-01-14 16:25:54 · 148 阅读 · 0 评论 -
ThreadLocal源码分析
set过程1、ThreadLocal.set(T value)方法 /** * Sets the current thread's copy of this thread-local variable * to the specified value. Most subclasses will have no need to * override this...原创 2020-01-10 18:55:27 · 149 阅读 · 0 评论