- 博客(7)
- 收藏
- 关注
原创 Mysql的索引
1.什么是索引数据库索引,是数据库管理系统中一个排序的数据结构,索引的通常实现是b+树。2.索引作用快速查询,更新数据库。简单来说,就是找的快缺点:创建和维护索引需要耗费时间需要占用物理空间,聚簇索引空间更大表中元素的数据进行增加,删除修改需要维护索引。3.哪些列适合建立索引?哪些不适合经常搜索的列主键列自带索引外键的列可以建立索引范围搜索和排序建立索引很少数据值的,比如性别,不适合作为索引修改性能远远大于检索性能,不适合4.b+索引和哈希索引的区别哈希索引由于哈希的特性,检索
2020-09-06 11:08:04 93
原创 Mysql基本概念
为什么使用自增列作为主键要回答这个问题,要从innodb引擎的存储结构说起,首先innodb使用聚簇索引,也叫聚集索引。同时使用b+树作为主索引。数据存放在b+树的叶子节点上,在叶子节点内按顺序排放,这就要求存储数据的主键需要是自增长的,因为如果不是自增长的,插入可能导致b+树数据的移动,为了维持b+树的特点,性能损失会比较大。存储过程存储过程是预编译过的一系列Sql语句,创建一次,多次使用。性能比执行多次sql语句要高。非关系型数据库与关系型数据库的比较首先,非关系型数据采用键值对的模式,而且不
2020-09-06 10:16:26 81
原创 Java异常
异常的定义与分类异常就是不同于常态,和正常状态不一样,有错误出现。首先看一下异常的继承结构:异常说明程序出现了问题,可能是哪些地方有问题呢?1.怎么理解异常异常就是程序运行出现了问题,运行不下去了。2.异常怎么分类异常如果运行不下去了,可能有哪些原因?1.JVM或者机器问题。error2.代码逻辑有问题 runtimeException3.非代码,非机器,其他因素导致的异常,最经典的io异常,用户输入异 常,这些是可以预见到的异常,Exception3.怎么处理异
2020-08-25 15:37:10 127
原创 JAVA锁和分布式锁
Java锁 java作为一门历史悠久的语言,肯定是支持并发安全的,也就是常说的锁。Java的锁总体来说分为以下三类,Synchronize锁,Reentrantlock相关锁和CAS相关锁。SynchronizeSynchronize出现的比较早,相对来说比较笨重。不过后来进行了优化,使得其性能和可重入锁相差无几。Synchronize解决什么问题?Synchronize作为一个关键字,用来保证其修饰的代码区域的原子性,当然他也包含可见性和有序性。讲到这里要插一句,线程安全分为可见性,有序性和
2020-08-25 15:14:31 407
原创 反射与动态代理与AOP
反射是什么?Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。反射被视为动态语言的关键。ps:我的理解,反射就是通过某种手段,获取一个类的信息。例如成员变量和方法,可以调用一个对象的属性和方法。这个类只有在运行的时候才知道是哪个类,解耦。pps:在类的加载过程中,有三大步,五小步,三大步是加载
2020-08-20 11:45:27 173
原创 Java类加载机制
什么是类加载Java虚拟机把描述类的数据,从class文件加载到内存,并且对其进行校验,初始化等操作,最终形成可以被虚拟机直接调用的类型。这就是虚拟机的类加载。谁做?Java虚拟机,对谁做?编译后的class文件,到哪?内存中方法区,做了什么?校验,初始化等操作。类加载步骤流程:加载->连接(包括验证,准备和解析)->初始化具体来说:1.加载:首先获取类的二进制文件流,把二进制文件流转化到方法区,在堆中生成该类的一个Class对象,作为方法区数据的入口。2.验证:对class文
2020-08-19 16:37:31 107
转载 TCP主题
TCP解决了什么问题 TCP是iso模型的第四层模型。作为一个传输层协议,提供了面向连接的,可靠的,基于字节流的服务。 ps:所谓面向连接的,是指tcp在正式传输数据之前,需要建立连接,在传输数据之后,需要断开连接。 所谓可靠的,是指tcp通过一些措施,包括序列号与确认机制,超时重传,拥塞控制和流量控制来保证传输的可靠性。 基于字节流的就是字面意义所讲的, 由此可以发现,tcp提供了不可靠的ip层之上的可靠的服务。这是tcp的核心和精髓。 而这个可靠机制包含它的建立连接,序列号确认机制,
2020-08-15 16:44:37 173
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人