自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

吒哇

欢迎大家随时关注我,我会定期写一些技术分享

  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 线上频出MySQL死锁问题!分享一下自己教科书般的排查和分析过程

本文主要是讲过程与思路,从手上的日志来反推故障现场,最后模拟出事故现场。没有过度讲解理论的一些知识,主要是偏分析。文章参考的理论知识在最后,同时也将本次案例提交 ISSUE 给:https://github.com/aneasystone/mysql-deadlocks/issues/22仓库。项目源码地址:https://github.com/LiWenGu/transaction_lock.git1. 日志1.1 业务日志一直平稳运行大半年的代码,突然在最近几天频出现死锁异常,业务机.

2020-07-27 10:49:50 209

原创 是不是所有的对象和数组都会在堆内存分配空间

熟看了java编译原理等多本大神级别书籍后,小明信心满满的去面试字节跳动了,跳动的面试官说:小伙,来给我讲一下是不是所有的对象和数组都会在堆内存分配空间?小明不由一喜,昨天正好我看了相关jvm的书籍,堆中主要存放对象,即通过new关键字创建的对象。当场哈哈大笑:没错,面试官你太威武了,所有的对象和数组都存在堆中。当场从jvm原理:方法区、虚拟机栈、本地方法栈、堆、程序计数器讲起,说到堆内主要存放对象,栈中存放一些基本类型的变量数据(int/short/long/byte/float/double/.

2020-07-17 14:35:06 1292 3

原创 JAVA类加载器

参考链接:https://blog.csdn.net/weixin_37195606/article/details/82805300重点:准备为类变量(即static修饰的字段变量)分配内存并且设置该类变量的初始值即0(如static int i=5;这里只将i初始化为0,至于5的值将在初始化时赋值),这里不包含用final修饰的static,因为final在编译的时候就会分配了,注意这里不会为实例变量分配初始化,类变量会分配在方法区中,而实例变量是会随着对象一起分配到Java堆中。分

2020-07-17 10:18:23 100

原创 全栈最牛的Spring讲解

上图就是spring容器初始化bean的大概过程(至于详细的过程,后面文章再来介绍);文字总结一下:1:实例化一个ApplicationContext的对象;2:调用bean工厂后置处理器完成扫描;3:循环解析扫描出来的类信息;4:实例化一个BeanDefinition对象来存储解析出来的信息;5:把实例化好的beanDefinition对象put到beanDefinitionMap当中缓存起来,以便后面实例化bean;6:再次调用bean工厂后置处理器;7:当然spring还会干很多事..

2020-07-16 16:17:17 177

原创 Java Agent 简介

阅读目录一、写在前面 二、动手写一个 Java Agent 三、运行你的 Agent 程序回到顶部一、写在前面Java Agent 这个技术出现在 JDK1.5 之后,对于大多数人来说都比较陌生,但是多多少少又接触过,实际上,我们平时用的很多工具,都是基于 Java Agent 实现的,例如常见的热部署 JRebel,各种线上诊断工具(Btrace, Greys),还有阿里开源的 Arthas。其实 Java Agent 一点都不神秘,也是一个 Jar 包,只是启动方式和普通 Jar

2020-07-14 17:58:20 278

原创 JDK和CGLIB动态代理区别

Jdk和Cglib 的区别一、原理区别:java动态代理是利用反射机制生成一个实现代理接口的代理类,在调用具体方法前调用InvokeHandler来处理。而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。1、如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP。2、如果目标对象实现了接口,可以强制使用CGLIB实现AOP(<aop:aspectj-autoproxy proxy-target-class="t

2020-07-13 14:23:34 256

原创 聚集索引、辅助索引、覆盖索引、联合索引

参考链接:https://blog.csdn.net/u012006689/article/details/73195837?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.noneca

2020-07-10 11:18:50 186

原创 MySQL InnoDB事务ACID实现原理

参考链接:https://www.cnblogs.com/GrimMjx/p/10575147.html

2020-07-09 17:29:53 162

原创 Mysql事务和锁机制详解

什么是事物?MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。事务用来管理 insert,update,delete 语句一般来说,事务是必须满足4个条件(ACID)::

2020-07-09 10:07:27 448

原创 SpringBoot自动装配原理分析

参考链接:https://blog.csdn.net/Dongguabai/article/details/80865599

2020-07-08 14:56:27 168

原创 深入理解JAVA多线程AQS及其底层实现

参考链接:https://www.freesion.com/article/4118592853/

2020-07-07 17:25:40 250

原创 Producer如何获取Topic路由信息

参考:https://blog.csdn.net/GAMEloft9/article/details/100093471````# 架构设计1 技术架构RocketMQ架构上主要分为四部分,如上图所示: Producer:消息发布的角色,支持分布式集群方式部署。Producer通过MQ的负载均衡模块选择相应的Broker集群队列进行消息投递,投递的过程支持快速失败并且低延迟。 Consumer:消息消费的角色,支持分布式集群方式部署。支持以push推,pull拉两种模式.

2020-07-05 09:31:35 430

原创 AbstractQueuedSynchronizer同步队列与Condition等待队列协同机制

参考链接:https://blog.csdn.net/tb3039450/article/details/69056169

2020-07-03 18:02:36 114

网上选课系统

改代码能够实现网上的选课系统,只作为参考

2012-12-24

空空如也

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

TA关注的人

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