- 博客(10)
- 收藏
- 关注
原创 MySQL-索引类型
MySQL-索引类型索引类型B-TreeHash(哈希索引)R-Tree全文索引索引类型树状数据结构的演变:// todo 这里跳转树状数据结构的演变B-Tree这里的B-tree是没有具体到存储引擎的变种结构和算法。比如innodb的B+Tree。这里会单独写B+Tree:// todo 这里跳转B+Tree每个存储引擎具体实现的B-Tree和采用的算法都可能是不一样的,这里主要说MyISAM和InnoDB区别InnoDBMyISAM存储方式索引按照原数据存储索
2021-07-29 00:18:53
127
原创 MySQL-MVCC多版本并发控制简单理解
MySQL-MVCC Innodb多版本并发控制概述原理select时是如何进行版本控制的概述当并发执行事务时,如何保证事务之间高效并按我们预想的情况执行?当有了这个问题的时候,MVCC都版本并发控制自然就诞生了原理Innodb会在每一张表多加三列隐藏列,分别为创建时间(递增)和删除时间(这里说是时间,其实是系统版本号systemVersion number),具体在各种操作时如下:select时是如何进行版本控制的查询的时候会根据两个隐藏列去判断哪些是需要查询的数据。只会查询创建时间
2021-07-25 17:35:47
163
原创 MySQL-事务
MySQL-事务1.ACID2.隔离级别2.1未提交读 read uncommitted2.2提交读(不可重复读 ) read committed2.3可重复读 repeatable read2.3可串行化 serializable3.死锁4.事务日志MySQL采用的是自动提交事务的模式。如果不是非显式的开始一个事务,那么每个查询都当作一个事务执行提交操作。可以通过设置autcommit来开启或者关闭自动提交1.ACIDACID表示原子性(atomicity),一致性(consistency),隔
2021-07-23 00:26:58
166
原创 JAVA垃圾收集(GC)基础概念
垃圾收集的基本概念垃圾收集1.为什么需要垃圾收集2.如何识别垃圾2.1引用计数法2.2可达性分析算法3.关于引用4.方法区的回收垃圾收集1.为什么需要垃圾收集JVM分配的运行时数据区中,本地方法栈,虚拟机栈,程序计数器这三块空间都是随着线程的创建而创建,线程的消亡而消亡,其中栈帧随方法有条不紊的进进出出,而且每一个栈帧分配的内存都是在创建的时候就进行分配的,而且是确定的,不会随运行发生变化的,所以这几个区域是不用过多去考虑回收的问题的。而Java堆和方法区就不一样了,他们只有运行起来才知道可能会创建
2021-07-10 01:43:57
149
原创 JVM-运行时数据区
JVM学习笔记-运行时数据区运行时数据区组成1.程序计数器2.虚拟机栈2.1 局部变量表2.2 操作数栈2.3 动态连接2.3 方法返回3.本地方法栈4.Java堆4.方法区4.1运行时常量池运行时数据区JAVA虚拟机所管理的内存划分的区域就是运行时数据区组成1.程序计数器当字节码解释器(也就是虚拟机)在运行一条一条字节码的时候,就是通过改变这个程序计数器来选取下一条执行的指令。还有异常处理,线程恢复等都是靠线程计数器。对于处理器的一个内核来说,多线程是通过线程轮流切换实现的,并不是真正
2021-07-09 02:13:16
83
原创 Unexpected character ('ï' (code 239)): was expecting comma to separate Array entries
Unexpected character (‘ï’ (code 239)): was expecting comma to separate Array entries发现是标点用了中文标点…
2019-12-22 17:04:39
3208
原创 AMQP 和 JMS
AMQP 和 JMSJMSJMS(Java Message Service)Java消息服务,是一个Java平台中关于面向消息中间件(MOM)的API,用于在应用程序之间或分布式系统中发送消息,进行异步通信。AMQPAMQP(Advanced Message Queuing Protocol)高级消息队列协议,是一个用于统一面向消息中间件实现的一套标准协议,AMQP不从API层进行限定,而...
2019-12-08 09:25:10
173
原创 反射
反射反射就是把Java的各种成分(字段,方法)映射成相应的Java类IDE中之所能够把该对象的方法和属性展示出来就使用利用了反射机制获得字节码对象对象.getClass()使用Class类的forName(“类的全限定名”) 最常见的方式使用“类.class”假设有一个User类那么我们获取它的字节码对象可以有以下三种方法: //1. 对象.getClass() ...
2019-10-19 08:48:40
127
原创 连接池原理和使用
连接池连接池的原理1.程序一开始就创建一定数量的连接,放在一个容器中,这个容器称为连接池2.使用的时候直接从连接池中取一个已经创建好的连接对象3.关闭的时候不是真正关闭连接,而是将连接对象再次放回到连接池中4.当连接池中的连接对象用完后,还需使用的时候,任务会进入等待,等待几秒后若还没有使用完的连接对象返回连接池供其使用,连接池则会自动创建一个新的连接对象供其使用,使用完自动销毁自定义...
2019-09-13 10:07:10
293
原创 java的对象和封装
面向对象面向对象和面向过程都是指一种编程思想…面向过程强调的是过程,清楚其中每个步骤,而面向对象则是使用一个能完成功能的"工具"–也就是对象,来解决问题。对象的创建和使用对象泛指现实中一切事物,每种事物都具备自己的属性和行为。1.定义一个类类由属性和行为组成,也就是该事物有哪些信息状态以及它能够做什么。比如定义一个Person(人)类;人类共有的属性:有性别,姓名,年龄…等等行为...
2019-08-29 17:41:15
564
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人