- 博客(14)
- 收藏
- 关注
原创 Spring boot自动装配原理
Spring boot自动装配原理 @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } 从@SpringBootApplication开始,这是一个组合注解 @SpringBootApplication
2020-06-04 14:49:36
2512
原创 MySql-事务相关
文章目录事务介绍 事务介绍 事务是由存储引擎实现的,实现了事务的存储引擎不多,我们重点放在InnoDB上。 事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。 事务用来管理 DDL、DML、DCL 操作,比如 insert,update,delete 语句,默认是自动提交的。 ...
2020-05-27 18:44:47
224
原创 MySql-索引整理
文章目录索引是什么,索引分类,索引操作索引原理使用索引的场景索引失效查看执行计划idselect_typetypekeyextra索引失效分析 索引是什么,索引分类,索引操作 索引是帮助MySQL高效获取数据的数据结构。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。索引也需要占据磁盘空间,当每次对表进行增删改操作,MySQL不仅要保存数据,还有保存或者更新对应的索引文件。 索引分类: 普通索引:仅加速查询 唯一索引:加速查询 + 列值唯一(可以有null) 主键索引:加速查询 +
2020-05-26 16:28:54
517
1
原创 Mysql-架构和SQL执行顺序
文章目录引言逻辑架构存储引擎MySql服务器物理结构 引言 最近开始捡mysql了,主要从Mysql架构,索引,锁,事务,性能分析和优化几个方面写几篇博客,这篇从mysql架构开始 逻辑架构 这是mysql的逻辑架构图: 主要可分为四大块,从底层开始,分别为: 文件系统: 所有的数据最终必须还是得存放在磁盘上 可插拔存储引擎 数据的读写操作都是存储引擎完成的,可以理解成操作磁盘数据的组件,常用的有InnoDB,MyISAM等 mysql服务器 mysql server,用于处理客户端的请求,语句解析,查
2020-05-26 14:32:28
417
转载 重新捡起Spring-AOP和事务
文章目录引言 引言 上篇博客 https://blog.youkuaiyun.com/weixin_41840881/article/details/106260947 在fresh()方法中第二步,obtainFreshBeanFactory()方法中,走完了Spring IOC容器的初始化流程,在这个过程中也完成了Spring AOP的标签解析注册,然后在getBean时并按需生成代理对象。其实看到一篇文章总结地不错,直接贴链接了 深入浅出AOP ...
2020-05-25 12:10:55
145
原创 重新捡起Spring-IOC和DI
文章目录引言介绍篇基础篇IOC和DI基于注解(XML)方式的IOC和DI使用使用XML和注解混合方式使用IOC和DI注解方式使用IOC和DI 引言 用了Spring这么久,但总感觉不够扎实,这段时间准备重新捡起来,好好理一理Spring,也给正在撸Spring的同学提供一点素材。Spring关键无非还是Spring容器,IOC/DI、AOP,事务这块的东西,好了,开干 介绍篇 首先,啥是Spring?首先我们先搞清楚一个概念,这是百度百科的定义: Spring框架是一个开放源代码的J2EE应用程序框架,由
2020-05-21 19:44:31
181
原创 JVM-类加载器和双亲委派模型
文章目录引言类与类加载器双亲委派模型 引言 前面谈到了类加载机制,其中第一阶段“加载”,完成的工作是通过类的全限定名获取类的二进制字节流,然后把二进制字节流代表的静态存储结构转化成方法区运行时数据结构,再在方法区中生成一个Class对象,作为这个类对外的访问接口。 而完成“通过类的全限定名获取这个类的二进制字节流”这部分工作的代码块成为类加载器 类与类加载器 引言中提到了类加载器的定义,类加载器用于完成类的加载动作。对于任意一个类,在同一个虚拟机中,它可能有不同的类加载器加载,那么这两个类也不是“相等的”,
2020-05-21 14:25:24
134
原创 JVM-我理解的虚拟机类加载机制
文章目录引言什么时候加载Class文件类加载过程加载验证准备 引言 上篇文章了解了Class文件里面都存了些什么信息,这篇主要聊聊Java虚拟机是如何加载这些Class文件的,包括 什么时候加载 加载的过程 最后再聊聊双亲委派模型 先放一个概念性的东西,什么叫类加载机制: 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制 什么时候加载Class文件 回顾一下,在聊Java对象创建过程的时候,先去常量池中
2020-05-21 12:06:26
148
原创 JVM-我理解的Class类文件结构
文章目录引言 引言 我们知道.java文件经编译成.class文件(它是字节码),Java虚拟机才能执行,Java语言中的各种变量,关键字和运算符号的语义最终都是由多条字节码命令组合而成。但是Java虚拟机不与Java在内的任何语言绑定,它只认Class文件,但任何一个功能性语言都可以表示为一个能被Java虚拟机接受的有效的Class文件,这就是Java虚拟机提供的语言无关性。(也就是说,不管什么言语,只要经过对应的编译器编译成Java虚拟机能接受的有效的Class文件,Java虚拟机都能执行) OK,那你
2020-05-20 14:53:34
226
原创 JVM垃圾收集-回收算法与几种垃圾收集器
文章目录引言怎么判定对象死了垃圾收集算法1.标记-清除算法:2.复制算法3.标记-整理算法4.分代收集算法HotSpot怎么发起垃圾收集几种垃圾收集器 引言 作为Java程序猿,开发过程中根本不必care垃圾回收的事情,但是当需要排查内存溢出、内存泄漏的问题,或者垃圾收集成为系统达到更高并发量的瓶颈是,就需要对这些“自动化”的技术实施必要的监控和调节。另外作为面试必问,还是很有必要掌握的。这篇文章介绍 1.哪些内存需要回收 2.垃圾回收算法 3.HotSpot 什么时候发起回收动作 4.几种常用的垃圾收集器
2020-05-19 17:03:44
796
原创 JVM自动内存管理-创建对象与内存分配
文章目录引言对象的创建过程对象的内存布局 引言 在Java语言中,我们创建对象通常使用new关键字,但是在虚拟机中,对象是如何创建的呢?(仅限于普通Java对象,不包括数组和Class对象) 对象又是如何存储的呢? 对象的创建过程 以HotSpot为例,创建过程如图: 对象的创建过程如下: JVM遇到new指令时,首先去检查这个指令的参数(也就是类名)是否能在常量池中定位到类的符号引用(@1.检查常量池中有无这个类的符号应用) 回顾一下,方法区的运行时常量池中存储的是编译器生成的各种字变量和符号引用 如果
2020-05-19 11:38:21
383
原创 JVM自动内存管理-运行时数据区域
文章目录引言运行时数据区程序计数器Java虚拟机栈本地方法栈Java堆方法区 引言 Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人想出来。 搞C和C++的程序猿,拥有对象的“所有权”,担负着每一个对象生命开始到终结的维护责任,也就是用完得自己释放对象; 对于Java程序猿来说,管杀不管埋,对象用完就不管了,也不容易出现内存泄漏和内存溢出问题,这是JVM在帮我们擦屁股呢,但是一旦出现问题,如果不清楚JVM是如何使用内存的,那排查问题就要爆炸了。 所以这篇文
2020-05-16 13:29:33
368
原创 我理解的Java虚拟机(JVM)
文章目录引言Java虚拟机是个啥?Java虚拟机干啥用的?怎么学Java虚拟机 我理解的Java虚拟机(JVM) 引言 看了周志明的《深入理解Java虚拟机》以及一些视频资料,准备自己写博客将看的以及理解的东西记录下来,毕竟很多东西偏理论,需要在理解的基础上记忆。写下来的目的是自己加深理解和方便随时查看,同时可以给正在啃Java虚拟机的同学提供一点素材或帮助。 这篇文章就谈谈什么是Java虚拟机,干啥用的,以及怎么学 Java虚拟机是个啥? 首先当然是百度百科一下,下面是百度百科的定义: 虚拟机是一种抽象
2020-05-16 00:59:26
226
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅