自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 资源 (5)
  • 收藏
  • 关注

原创 大厂Java初级开发工程师!!!面试必问项之Set实现类:TreeSet

一、TreeSet 概述1、TreeSet是 SortedSet 接口的实现类, TreeSet 可以确保集合元素处于排序状态。2、TreeSet顾名思义他内部维护的是一个TreeMap,底层是红黑二叉树,他使得集合内都是有序的序列。3、Tree可以按照添加对象的指定属性,进行排序,所以向TreeSet中添加的数据,要求是相同类的对象。4、两种排序方式:自然排序(实现Comparable接口) 和 定制排序(Comparator);5、自然排序中,比较两个对象是否相同的标准为.

2021-07-10 15:53:47 4379 10

原创 世道变了,面试初级Java开发会问到Arrays!!!你不会还不知道吧!

一、基本定义Arrays类,全路径java.util.Arrays,主要功能为操作数组,Arrays类的所有方法均为静态方法,所以调用方式全部为Arrays.方法名二、常用方法1. <T> List<T> asList(T... a)可以将数组转化为相应的list集合,但是也只能转化为list,asList方法内部构建了一个内部静态类ArrayList,这个ArrayList也继承自AbstractList,但并不是我们集合中常用的ArrayList,这两者是有区别.

2021-07-09 22:32:17 2569 11

原创 【每日分享】我做程序员那些年犯下的罪,此时此刻我自己的笑出猪叫~

以前我刚入行,总是会犯这样几个常见错误,后面想起来是真的SB。当然每个程序员会犯错,重要的是从中吸取教训,得到成长。那么这些错误到底是什么呢?我来给大家盘点一下!!!当我感觉我测试的代码一点很棒棒,然而现实却是…我设计的接口和别人调用的接口甚至穿着NIKE鞋的测试在一旁外表紧张,内心有点点愉快咱们总得拥抱变化,可惜这个道理我懂得太晚了”躺在医院的的病床上,我才追悔莫及。明明是个小bug,但就是死活修不好终极 Bug 的 4 个走向多年的测试经验中,经常发现有这么一种现象:总有些提了的 bu

2021-07-07 14:35:55 4603 42

原创 直接裂开!京东二面被问SpringBoot整合MongoDB,我不会啊

开始进入正题一、技术介绍SpringBoot整合MongoDB的实现步骤一、技术介绍1.MongoDB是什么?二、使用步骤1.MongoDB是什么?MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库。作为一个适用于敏捷开发的数据库,MongoDB的数据模式可以随着应用程序的发展而灵活地更新。与此同时,它也为开发人员 提供了传统数据库的功能:二级索引,完整的查询系统以及严格一致性等等。 MongoDB能够使.

2021-06-23 16:28:50 3558 15

原创 阿里最新面试必备项之Java的String类,持续更新中!

最新腾讯面试必备项之Java的String类,持续更新中!1.1 String的特性String类:代表字符串。Java程序中的所有字符串字面值(如“abc”)都作为此类的实例实现。String是一个final类,代表不可变的字符序列。String字符串是常量,用双引号引起来表示。他们的值在创建之后不能更改。String对象的找字符内容是存储在一个字符数组value[]中的。(jdk新版本已改为使用byte类型的数组value[]存放)1.2 String字面量赋值的内存理

2021-06-21 23:11:12 1388 10

原创 学妹面试拼刀刀被问Java策略模式是什么鬼?哈哈哈哈

学妹面试拼刀刀被问Java策略模式是什么鬼?哈哈哈哈 学妹跟我讲怎么机智面对的 我呆了!????1.策略模式到底是什么鬼捏???????策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。简单的说,策略模式代表了一类算法的通用解决方案,你可以在运行时选择使用哪种解决方案。 策略模式的重心????策略模式的重心不是如何实现算法, 而是如何组织、调用这些算法, 从而使得程序结

2021-06-15 14:28:21 9684 36

原创 华为面试官问我:你真的明白Java垃圾回收器吗?我生气了!!(︶︿︶)

第一阶段:串行垃圾回收器:jdk1.3.1之前Java虚拟机仅仅只支持Serial收集器第二阶段:并行垃圾回收器:随着多核的出现,Java引入了并行垃圾回收器,充分利用多核性能提升垃圾回收效率第三阶段:并发标记清理回收器CMS:垃圾回收器可以和应用程序同时运行,降低暂停用户线程执行的时间第四阶段:G1(并发)回收器:初衷是在清理非常大的堆空间的时候能满足特定的暂停应用程序的时间,与CMS相比会有更少的内存碎片【资料获取】1 垃圾回收算法1-1 标记清除算法算法概述优点:回收速度快..

2021-06-10 17:14:56 10506 83

原创 二面京东,面试官直接问我JVM,我心里一阵暗爽~

二面京东,面试官直接问我JVM,我心里一阵暗爽~简直了,hhhh明人不说暗话,直接进入主题!!!一、什么是JVM二、JAVA代码编译和执行过程类加载机制类执行机制三、JVM内存管理和垃圾回收垃圾回收按照基本回收策略分JVM分别对新生代和旧生代采用不同的垃圾回收机制新生代的GC:与旧生代的并发GC配合使用旧生代的GC:四、JVM内存调优(1)新生代设置过小(2)新生代设置过大(3)Survivor设置过小(4)Survivor设置过大最后汇总一下JVM常见配置堆设置收集器设置垃圾回收统计信息并行收集器设置并发

2021-06-09 23:00:04 6072 32

原创 高考落榜怎么办,奉劝学弟学妹们一些事情,请一定要擦亮眼睛

在目前这个社会情况Java技术是当前社会的一个热门专业,无论是pc端还是移动端对java的需求都是最多的,大学生学java正好顺应时代的发展,不仅有钱途还有前途,Java也适合零基础的人学习。最近看见一句话 高考不努力,学习Java做兄弟,挺意外的 我觉得还是那么一句话 高考落榜,并非是人生落榜,努力的人一定会有结果收到回报所以大学生零基础学Java是可以的,并且是个不错的选择如果在大学期间能系统的学习Java当然是最好的,但是这并不是说毕业后学习Java开发就来不及了。毕业之后学习Java开发.

2021-06-08 13:53:50 3357 21

原创 我丢,去面试初级Java开发岗位,被问到泛型?

1、泛型的基础概念1.1 为什么需要泛型 List list = new ArrayList();//默认类型是Object list.add("A123"); list.add("B234"); list.add("C345"); System.out.println(list); for(int i=0;i<list.size();i++){ //若要将list中的元素赋给.

2021-06-07 21:25:51 6561 49

原创 二面京东被问到Java 反射,我直呼好家伙,这我不是必过吗?

二面京东被问到Java 反射,我直呼好家伙,这我不是必过吗?用多久我会升职加薪、当上技术总监、迎娶漂亮学姐、走上人生巅峰!想想还有点小激动。好了开始分享面试经历说说你反射的理解到底什么是反射呢???反射的核心就是JVM在运行时才动态加载类或调用方法,访问属性,它不需要事先(写代码的时候或编译期)知道运行对象是谁。每一个类都会产生一个对应的Class对象,也就是保存在.class文件。所有类都是在对其第一次使用时,动态加载到JVM的,当程序创建一个对类的静态成员的引用时,就会加载这个类,Clas

2021-05-25 21:45:40 13162 56

原创 面试字节我被String类的问题给问死了!

“+” 是怎么连接字符串的?(JDK1.7及以上)总结:使用 “+” 连接字符串时,实际上是使用临时创建的StringBuilder对象来辅助完成的。对于编译时常量,在编译后直接计算出字符串的值,而不会在运行时创建临时的StringBuilder对象来完成字符串连接。在循环中对String对象进行连接,应该直接使用StringBuilder代替 “+”,这样可以提高性能。注意: 当使用运算符 “+” 连接字符串时,如果两个操作数都是编译时常量,则在编译时期就会计算该字符串的值,而不会在运行时创建.

2021-05-14 21:49:49 22954 48

原创 Java开发面试高频考点学习笔记(每日更新)

Java开发面试高频考点学习笔记(每日更新)1.深拷贝和浅拷贝2.接口和抽象类的区别3.java的内存是怎么分配的4.java中的泛型是什么?类型擦除是什么?5.Java中的反射是什么6.序列化与反序列化7.Object有哪些方法?8.JVM内存模型9.类加载机制10.对象的创建和对象的布局11.Java的四种引用(强引用、软引用、弱引用和虚引用)12.内存泄露和内存溢出13.List、Set和Map三者的区别和其底层数据结构14.创建线程的四种方式15.NIO、AIO和BI

2021-04-24 15:38:40 4370 21

原创 CSDN《某一程序员竟然吃过shi?让我们走进他的生活,揭露背后的故事》

CSDN《某一程序员竟然吃过屎?我们走进他的生活,揭露背后的故事》——————————接下来让我们走进他的故事 到底是什么原因让他吃屎这是这位程序员的自曝,我很好奇的不是他吃过屎,我在好奇是啥味的~接下来我们开始咨询这位平平无奇的程序员,究竟是因为什么导致他进行这种行为?相信不少聪明的程序员已经知道是为什么了会吃屎了~没错,就是™的代码屎山!!!说一个网友经历过的一座「屎山」,入职一家成立10年的软件公司,网友当时应聘的是中级程序员,但在入职几个月后,就神奇的调整到了高级程序员,这并不是因

2021-10-21 16:58:52 1578 8

原创 最近有粉丝向我请教Java泛型,于是重温了一下,希望学弟面试顺利

什么是泛型?泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。可以在集合框架(Collection framework)中看到泛型的动机。例如,Map 类允许您向一个 Map 添加任意类的对象,即使最常见的情况是在给定映射(map)中保存某个特定类型(比如 String)的对象。因为 Map.get() 被定义为

2021-10-11 22:13:55 238

原创 你连简单的枚举类都不知道,还敢说自己会Java???滚出我的公司

枚举类型是Java 5中新增的特性,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束,但是这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。当需要定义一组常量时,强烈建议使用枚举类。使用枚举类的条件:类的对象是有限个,确定的。例如星期类,它的对象只有星期一…星期日七个,而且是确定的,此时就可以把星期类定义为一个枚举类;又例如性别类,它的对象只有男和女两个,而且是确定的,此时同样可以把性别类定义为一个枚举类;还有诸如季节等这种类的对象是有限个,确定的

2021-10-08 15:47:02 289

原创 华为二面!!!面试官直接问我Java中到底什么是NIO?这不是直接送分题???

华为二面!!!面试官直接问我Java中到底什么是NIO?这不是直接送分题???什么是NIO缓冲区(Buffer)缓冲区类型获取缓冲区核心属性核心方法非直接缓冲区和直接缓冲区非直接缓冲区直接缓冲区通道(Channel)Java Channel获得通道的方法对象调用getChannel() 方法getChannel()+非直接缓冲区open()+直接缓冲区通道间直接传输直接缓冲区VS非直接缓冲区分散和聚集非阻塞式网络通信概念阻塞式网络通信非阻塞式网络通信选择器什么是NIOJava NIO(New IO)是

2021-10-08 15:43:00 6899 13

原创 纳尼???我JVM优化过头了,直接把异常信息优化没了?怎么办

你好呀,我是why。你猜这次我又要写个啥没有卵用的知识点呢?不好意思,问的稍微有点早了,啥提示都没给,咋猜呢,对吧?先给你上个代码:public class ExceptionTest { public static void main(String[] args) { String msg = null; for (int i = 0; i < 500000; i++) { try { msg

2021-10-08 15:33:21 251 5

原创 .Net性能调优-垃圾回收!!!最全垃圾回收来了

目前项目开发基本都基于.NetCore 3.1以上了,有些老版本的规则和概念也没有列出来,低版本的垃圾回收类型和内存释放方式会有所不同垃圾回收器为什么存在开发人员不必手动释放内存。有效分配托管堆上的对象。回收不再使用的对象,清除它们的内存,并保留内存以用于将来分配。 托管对象会自动获取干净的内容来开始,因此,它们的构造函数不必对每个数据字段进行初始化。通过确保对象不能使用另一个对象的内容来提供内存安全。托管堆代数概述为优化垃圾回收器的性能,将托管堆分为三代:第 0 代、第

2021-08-23 17:03:23 479 8

原创 华为二面!!!被问常用API,这也太偏门了吧,我秀了一波hhhh~

华为二面!!!被问常用API,这也太偏门了吧,我秀了一波hhhh~常用API一、API概述二、Scanner类代码三、Random类代码四、* ArrayList类**存储基本数据类型**代码五、匿名对象昨天我去了华为面试,问我常用API,我以为我被搞到了,可惜我也是对API很有见解的常用API一、API概述​ API(Application Programming Interface),应用程序编程接口。Java API是一本程序员的 字典 ,是JDK中提供给 我们使用的类的说明文档。这些类将底

2021-08-05 14:31:27 756 24

原创 面试问外观模式???这不就是设计模式里面的吗?我给你上一课吧,面试官

面试问外观模式???这不就是设计模式里面的吗?我给你上一课吧,面试官外观模式介绍实现步骤 1Shape.java步骤 2Rectangle.javaSquare.javaCircle.java步骤 3ShapeMaker.java步骤 4FacadePatternDemo.java步骤 5外观模式外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一

2021-07-30 21:15:49 290 31

原创 高德面试官问我:JVM内存溢出后服务还能运行吗,我一顿操作行云流水

文章开篇问一个问题吧,一个java程序,如果其中一个线程发生了OOM,那进程中的其他线程还能运行吗?接下来做实验,看看JVM的六种OOM之后程序还能不能访问。在这里我用的是一个springboot程序。/** * @author :charon * @date :Created in 2021/5/17 8:30 * @description : 程序启动类 * @version: 1.0 */@SpringBootApplicationpublic class CharonApplic

2021-07-27 15:43:52 4337 16

原创 项目经理问我Java内存区域模型!急急急

也就这么点吧Java内存区域主要分为:堆,栈,方法区三大部分1、堆:是内存区域中最大的部分,所有线程共享,其中存放创建的对象和数组。由于堆是垃圾收集器管理的主要区域,因此也叫GC堆。2、栈:线程私有,与线程共生死。也就是每个线程JVM都会给它创建一片栈内存。栈内存又分为:虚拟机栈,本地方法栈,和程序计数器虚拟机栈用来描述Java方法的执行过程。每个方法的执行对应一个栈帧的入栈,方法的返回对应栈帧的出栈。本地方法栈与虚拟机栈类似,区别是本地方法栈尾Native方法服务。Native方法也就是非Ja

2021-07-23 20:58:18 253 1

原创 掌握JVM 运行时数据区,其实不是很难,加薪也是要技巧可言的!!!

一、概念Java 内存区域和内存模型是不一样的东西,内存区域是指 Jvm 运行时将数据分区域存储,强调对内存空间的划分。而内存模型(Java Memory Model,简称 JMM )是定义了线程和主内存之间的抽象关系,即 JMM 定义了 JVM 在计算机内存(RAM)中的工作方式,如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。二、JVM 运行时数据区结构图1、java虚拟机规范中的结构图2、java1.8 虚拟机(HotSpot)中的数据区域三、各个区域简介1、

2021-07-23 14:50:37 1361 9

原创 因为我把JMM原理讲解了一遍,这给足了我涨薪的底气!

一、什么是JMM?JMM指的是Java内存模型,即 Java Memory ModelJava内存模型并不是一种实际存在的东西,而是一种人为形成的约定,是一种概念。关于JMM,我们需要了解一些相关的同步约定 :线程在解锁前,必须将线程中的工作内存中存储的值即时刷新到主内存中的共享变量!线程在加锁前,必须读取主存中的最新值到工作内存中!加锁和解锁是同一把锁!线程中操作的数据要从主内存中读取,并备份到线程自己的工作内存中,作为副本,主存并不会主动向线程更新数据。线程的八种内存交互.

2021-07-22 21:51:03 363 3

原创 什么?面试官问我Java内存模型!这不得给我加薪?

内存模型的基础通信  线程之间以何种机制来交换信息共享内存  隐式通信消息传递  显示通信同步  程序中用于控制不同线程间操作,发生的相对顺序的机制共享内存  显式同步消息传递  隐式同步Java线程线程之间是通过共享内存的方式实现通信的.内存模型的抽象结构共享变量共享变量手内存模型影响,线程会去主内存里去加载共享变量,当线程需要改变共享变量时,会将本地内存已更改的副本提交到主内存.局部变量局部变量不会受内存模型的影响线程之间通信指令重排编译器优.

2021-07-22 21:37:11 243 1

原创 面试官问:怎么保证线程安全在对象内存分配过程中不出问题?emmmm 让我想想

Java一门面向对象的语言,在Java中使用的对象都需要被创建出来,在Java中创建一个对象的方法有很多种,但对象在创建过程中都需要进行内存分配。Java对象内存分配过程保证线程安全,对象的内存分配过程就必须进行同步控制。对象的内存分配过程中,主要是对象的引用指向这个内存区域进行【初始化操作】。但因为堆是全局共享,在同一时间可能有多个线程在堆上申请空间,在并发场景中如果两个线程先后把对象引用指向了同一个内存区域怎么办为了解决这个并发问题,对象的内存分配过程就必须进行同步控制。但是我们都知道,无论是使

2021-07-22 20:46:01 251 1

原创 面试阿里被问到JVM,不逼逼赖赖,直接盘给面试官看!!!

面试阿里被问到JVM,不逼逼赖赖,直接盘给面试官看!!!概述JVM体系结构类加载机制类加载器类加载过程双亲委派机制全盘负责委托机制打破双亲委派机制自定义类加载器实现JVM运行时数据区程序计数器虚拟机栈本地方法栈堆方法区(元空间)运行时常量池直接内存垃圾回收机制GC对象判定方法垃圾收集算法垃圾收集器JVM调优参数概述JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。J.

2021-07-21 20:04:47 3092 6

原创 初级Java开发面试必问项!!! 标识符、字面值、变量、数据类型,该学学了!

最近事情太多,没太时间写博客。今天抽空再整理整理面试中的那点事吧,帮助那些正在找工作或想跳槽找工作的学弟学妹们。前面我己写过多篇推文,相信看过我文章的伙伴们已经了解掌握了不少。从目前流行的开发技术、常见的面试问题以及问题的答案都已经写的特别清楚了,今天我给写一篇初级Java开发面试必问项!供大家阅读参考。标识符关于java语言当中的标识符1、什么是标识符在java源程序当中凡是程序员有权利自己命名的单词都是标识符标识符在EditPlus编辑器当中以黑色字体高亮显示标识符可以标识什么元素呢?

2021-07-21 14:29:50 1512 16

原创 入职第一天,我接手了号称【屎山】的祖传代码,这还能卷吗???

公司各种各样的祖传代码都是令新人虎躯一震的代码,因为有时候你根本不知道它是干嘛的,甚至觉得它毫无用处,关键是 还绝对不能动,碰一段改半年,别问我怎么知道的。最讽刺的是,你可能为了修改代码,也在里面拉了几次犯了罪恶…真的是绝绝子, 自此以后,遇到一些看着很奇怪的代码压根儿碰都不敢碰。有些祖传代码,你一动, 我们就再也回不去了有时候心血来潮改点东西……代码从头错到尾……//动都不要动,我试过了有时候当你只删了一行代码时,可能会发生下面这种情况说一个朋友经历的一座「屎山」,曾入职一家成立15.

2021-07-16 15:29:02 1603 13

原创 涨薪关键之反射机制,引得项目经理对你的看重,加薪触手可及!!!!

前言就比如我前几天被面试官问什么是反射???而我的回答是!!!反射是动态语言的关键,反射允许程序在执行期间借助Reflection API取得任何类的内部信息,并能直接操作任曦对象的内部属性及方法。1.Java反射提供的功能在运行时判断任意一个对象所属的类在运行时构造任意一个类的对象在运行时判断任意一个类具有的成员变量和方法在运行时调用任意一个对象的成员变量和方法2.放射常用的APIjava.lang.Class : 代表一个类java.lang.reflect.Method:.

2021-07-13 16:51:48 814 11

原创 一个问题让我直接闭门思过!!!拼多多面试必问项之List实现类:LinkedList

一、LinkedList概述1、对于频繁的插入或删除元素的操作,建议使用LinkedList类,效率较高。2、LinkedList是一个实现了List接口和Deque接口的双端链表。3、LinkedList底层的链表结构使它支持高效的插入和删除操作,另外它实现了Deque接口,使得LinkedList类也具有 List 的操作以及双端队列和栈的性质。4、LinkedList不是线程安全的,如果想使LinkedList变成线程安全的,可以调用静态类Collections类中的synchronized

2021-07-11 15:41:44 632 5

原创 Java面试会问的——数组、声明、初始化、冒泡、多维数组、稀疏数组

数组数组时相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成其中,每一个数据称作一个数组元素,每一个数组元素可以通过一个下标来访问它们。数组声明创建首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法。da taType[] arrayRefVar //首选方法dateType arrayRefVar[] //效果相同,但不是首选方法java语言使用new操作符来创建数组,语法如下:dateType[] arrayRef

2021-07-10 21:41:51 1053 11

原创 秋招面试我去了拼多多,直接被问JVM&GC底层原理和算法,我吊打面试官

JVM 常用参数设置积累# 堆的初始值,默认物理内存的1/64-Xms:# 堆的最大值,默认物理内存的1/4-Xmx:# 年轻代大小「在整个堆内存大小确定的情况下,增大年轻代将会减小年老代,反之亦然。此值关系到JVM垃圾回收,对系统性能影响较大,官方推荐配置为整个堆大小的3/8」-Xmn:# 设置年轻代初始值为 1024 M-XX:NewSize=1024# 设置年轻代最大值为 1024 M-XX:MaxNewSize=1024m# 设置线程栈大小,设置越小,说明一个线程栈里面能分配.

2021-07-07 15:57:16 522 3

原创 TDengine和DolphinDB哪个更好,哈哈哈哈,闲来无聊分析了一下。

TDengine是专为时序数据设计的,针对的是物联网、工业互联网、IT运维场景。这些场景是不需要特殊的查询函数的,更关心的是写入速度、查询速度。而且这些场景下,也需要一些其他数据库不具备的功能,比如插值、时间聚合等等如果要问TDengine和DolphinDB最大的特色,存储引擎可能是TDengine最大的特色,性能也非常好;DolphinDB的最大特色毫无疑问是它的计算引擎。可以毫不夸张的说,DolphinDB的计算引擎是所有类别的国内外数据库中最有特色的之一。这跟DolphinDB从金融起步有关(金融

2021-07-07 13:51:45 2054 11

原创 超详细图解!【MySQL进阶篇】存储过程,视图,索引,函数,触发器

超详细图解!【MySQL进阶篇】存储过程,视图,索引,函数,触发器1.1 下载Linux 安装包1.2 安装MySQL1.3 启动 MySQL 服务1.4 登录MySQL2\. 索引2.1 索引概述2.2 索引优势劣势2.3 索引结构2.3.1 BTREE 结构2.3.3 B+TREE 结构2.3.3 MySQL中的B+Tree2.4 索引分类2.5 索引语法2.5.1 创建索引2.5.2 查看索引2.5.3 删除索引2.5.4 ALTER命令2.6 索引设计原则3\. 视图3.1 视图概述3.2 创建或者

2021-07-04 16:51:18 1589 53

原创 超详细图解!【MySQL进阶篇】SQL优化-索引-存储引擎

1. Mysql的体系结构概览整个MySQL Server由以下组成Connection Pool : 连接池组件Management Services & Utilities : 管理服务和工具组件SQL Interface : SQL接口组件Parser : 查询分析器组件Optimizer : 优化器组件Caches & Buffers : 缓冲池组件Pluggable Storage Engines : 存储引擎File System : 文件系统【白嫖资料】

2021-07-04 15:43:52 605 6

原创 超详细图解!【MySQL进阶篇】MySQL索引原理

索引类型索引可以提升查询速度,会影响where查询,以及order by排序。MySQL索引类型如下:从索引存储结构划分:B Tree索引、Hash索引、FULLTEXT全文索引、R Tree索引从应用层次划分:普通索引、唯一索引、主键索引、复合索引从索引键值类型划分:主键索引、辅助索引(二级索引)从数据存储和索引键值逻辑关系划分:聚集索引(聚簇索引)、非聚集索引(非聚簇索引)普通索引这是最基本的索引类型,基于普通字段建立的索引,没有任何限制。创建普通索引的方法如下:

2021-07-04 15:10:14 813 2

原创 超详细图解!【MySQL进阶篇】MySQL架构原理

MySQL体系架构MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层。一、网络连接层客户端连接器(Client Connectors):提供与MySQL服务器建立的支持。目前几乎支持所有主流的服务端编程技术,例如常见的 Java、C、Python、.NET等,它们通过各自API技术与MySQL建立连接。二、服务层(MySQL Server)服务层是MySQL Server的核心,主要包含系统管理和控制工具、连接池、SQL接口、解析器、查询优****化器

2021-07-04 15:00:35 1660 9

原创 超详细图解!【MySQL进阶篇】MySQL事务和锁

ACID 特性在关系型数据库管理系统中,一个逻辑工作单元要成为事务,必须满足这 4 个特性,即所谓的 ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。原子性原子性:事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。修改—》Buffer Pool修改—》刷盘。可能会有下面两种情况:【白嫖资料】事务提交了,如果此时Buffer Pool的脏页没有刷盘,如何保证修改的数据生效? Redo如果

2021-07-04 14:36:58 707 3

运营人的全套物料工具.xlsx

新媒体运营手册

2021-08-09

我们必须明白JDK,JRE和JVM之间的差异.mp4

我们必须明白JDK,JRE和JVM之间的差异.mp4

2021-05-28

Spring面试题与答案.doc

阿里Spring面试题与答案

2021-05-28

世界读书日读书会分享首图.zip

世界读书日读书会分享首图.zip

2021-05-28

DX0308-Java版OA管理系统源码带APP源码.zip

DX0308-Java版OA管理系统源码带APP源码

2021-05-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除