- 博客(92)
- 资源 (17)
- 问答 (1)
- 收藏
- 关注
原创 Spring 中 BeanFactory 和 FactoryBean 的区别
Spring 中 BeanFactory 和 FactoryBean 的区别
2021-04-20 21:51:24 472 3
原创 Spring Bean循环依赖问题是如何解决的?
什么是循环依赖?Spring 是如何解决 field 属性注入引发的循环依赖问题的?怎么解决构造器注入引发的循环依赖问题?
2021-04-20 21:41:26 5836 3
原创 Callable、Future和FutureTas浅析
创建线程的方式什么是 Callable 和 Future什么是 FutureTask案例示范
2021-04-17 23:00:04 222
原创 Java中Synchronized用法详解
Synchronized 是Java多线程高并发的灵魂,要想学好多线程编程,Synchronized 是绕不开的,一篇 Synchronized 基础用法讲解分享给大家,希望能给大家带来帮助!!
2021-02-07 22:58:45 976 4
原创 MySQL存储引擎InnoDB和MyISAM的区别
1、InnoDB 和 MyISAM 存储引擎的区别;2、InnoDB 存储引擎的索引实现;3、MyISAM 存储引擎的索引实现;4、MyISAM 和 InnoDB 引擎中 count(*) 的实现方式;5、InnoDB 引擎中行级锁的优缺点;6、MyISAM 和 InnoDB 引擎适合场景
2021-01-10 01:33:20 608 2
原创 MySQL中count(*)函数原理详解
MyISAM 引擎 和 InnoDB 引擎中 count(*) 的实现方式、 count(*) 的优化、count(*)、count(1)、count(列名)之间的区别
2020-12-18 22:44:26 2626
原创 MySQL分页查询越来越慢?是时候该优化了!
查询时 MySQL 并不是跳过 OFFSET 行,而是取 OFFSET+N 行,然后放弃前 OFFSET 行,最后返回 N 行,当 OFFSET 特别大的时候,效率就非常的低下。
2020-12-09 13:42:49 7800 3
原创 MySQL执行计划Explain详解
看懂 EXPLAIN 语句的各个输出项,将帮助我们了解 MySQL 优化器是如何工作的,从而可以有针对性的来提升我们查询语句的性能。建议大家收藏。
2020-12-06 23:59:05 281
原创 详解MySQL回表查询与索引覆盖
前言 InnoDB引擎中,B+树索引可以分为聚簇索引和辅助索引两大类。在介绍 “回表” 和 “索引覆盖” 之前,我们先来了解一下这两个概念。聚簇索引 聚簇索引也叫聚集索引,它并不是一种单独的索引类型,在聚簇索引的叶子页中,保存了整张表的行数据信息,所以也将聚簇索引的叶子节点称为数据页。 名词 “聚簇” 表示数据行和相邻的键值紧凑的存储在一起。因为不能同时把数据行存储在两个不同的地方,所以一个表只能有一个聚簇索引。InnoDB选取聚簇索引的规则如下:如果表中定义了主键,则主键为聚簇索引;
2020-11-26 20:47:25 1371
原创 MySQL中一条查询SQL语句是怎么执行的
1. 客户端跟服务端建立连接... 2. 检查查询缓存... 3. 分析器进行 “词法分析” 和 “语法分析” ... 4. 优化器生成一个最优的执行计划... 5. 执行器调用存储引擎的API来执行查询... 6. 将查询结果返回给客户端...
2020-11-16 11:37:29 236 3
原创 MySQL逻辑架构图分析
大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。Server层:大多数MySQL的核心服务功能都在这一层,包括连接器、查询缓存、分析器、优化器、执行器等存储引擎层:存储引擎负责MySQL中数据的存储和提取。
2020-11-16 11:33:27 854
原创 MySQL 优化 index merge(索引合并)引起的死锁分析
生产环境出现死锁流水,通过查看死锁日志,看到造成死锁的是两条一样的update语句(只有where条件中的值不同),如下:UPDATE test_table SET `status` = 1 WHERE `trans_id` = 'xxx1' AND `status` = 0;UPDATE test_table SET `status` = 1 WHERE `trans_id` = 'xxx2' AND `status` = 0;一
2020-10-24 23:54:23 2023 6
原创 Java设计模式及应用场景之《状态模式》
一、状态模式定义二、状态模式的结构和说明三、状态模式示例四、状态模式的优缺点五、状态模式的应用场景及案例
2020-09-11 13:53:40 1860 1
原创 Java设计模式及应用场景之《迭代器模式》
一、迭代器模式定义二、迭代器模式的结构和说明三、迭代器模式示例四、增强for循环原理五、迭代器模式的优缺点六、迭代器模式的应用场景七、注意
2020-08-26 11:46:23 1378
原创 Java设计模式及应用场景之《组合模式》
一、组合模式定义二、组合模式的结构和说明三、组合模式示例四、组合模式的优缺点五、组合模式的应用场景及案例六、注意事项
2020-07-24 23:04:26 1597
原创 Java设计模式及应用场景之《装饰模式》
一、装饰模式定义二、装饰模式的结构和说明三、装饰模式示例四、装饰模式在Java I/O中的使用五、装饰模式的优缺点六、装饰模式的应用场景及案例
2020-07-12 11:23:36 1414
原创 Java设计模式及应用场景之《模板方法模式》
一、模板方法模式定义Define the skeleton of an algorithm in an operation, deferring some steps to subclasses.Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm’s structure.(定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算
2020-07-01 23:21:50 646
原创 ThreadLocal 面试看这一篇就够了
一、什么是ThreadLocalThreadLocal 称为线程本地变量,当使用ThreadLocal维护变量时,每个线程Thread拥有一份自己的副本变量,多个线程互不干扰,从而实现线程间的数据隔离。ThreadLocal维护的变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度。我们先来个简单的示例:...
2020-06-12 21:31:00 916
原创 为啥同一个类中普通方法调用Spring注解方法,注解会失效?看完你就明白,So easy!
为啥同一个类中普通方法调用Spring注解方法,注解会失效呢?真相,永远只有一个!
2020-05-11 22:00:52 1023
原创 Java设计模式及应用场景之《代理模式》
代理对象夹在客户端和真实对象中间,相当于一个中转,那么在中转的时候,我们就可以实现很多的花招,比如,**权限控制**、**事务**、**记录日志**等。
2020-04-24 14:38:00 1490 8
原创 Java设计模式及应用场景之《策略模式》
一、策略模式定义Define a family of algorithms,encapsulate each one,and make them interchangeable.定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。二、策略模式的结构和说明Strategy 策略接口,用来约束一些列具体的策略算法。Context使用这个接口来调用具体的策略实现定义的算法。C...
2020-04-09 21:45:33 3159 14
原创 Java设计模式及应用场景之《适配器模式》
一、适配器模式定义将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。二、适配器模式的结构和说明@startumlTitle “单例模式(通用类图)”class Clientclass SingletonSingleton <… Clientclass Singleton{static final Singlet...
2020-03-20 18:28:26 1314 14
原创 Java版ISO8583报文组包/解包
文章目录一、8583协议简介二、位图规则三、8583格式报文参考四、组包/解包思路五、相关代码一、8583协议简介 8583协议是基于ISO8583报文国际标准的包格式的通讯协议,8583包最多由128个字段域组成,每个域都有统一的规定,并有定长与变长之分。8583包前面一段为位图,它是组包解包确定字段域的关键索引。二、位图规则 位图是8583报文组包和解包的关键。我们将位图转换为二进...
2020-03-02 00:46:12 4917 6
原创 Spring @Async注解实现异步方法
一、使用方式二、自定义线程池三、自定义线程池的使用四、线程池execute(Runable)方法执行过程
2020-03-02 00:42:30 881 6
原创 Java设计模式及应用场景之《外观模式(或门面模式)》
一、外观模式定义外观模式又称为门面模式,它通过引入一个外观角色来简化客户端与子系统之间的交互,为复杂的子系统调用提供一个统一的入口,降低子系统与客户端的耦合度,且客户端调用非常方便。二、外观模式的结构和说明 不用外观模式的情况下,Client需要跟子系统的多个模块进行交互,这就要求Client对各个模块都比较了解,这种情况耦合度较高,并且对子系统的调用也比较复杂。 使用外观模式的...
2020-03-02 00:41:11 1328 4
原创 Java设计模式及应用场景之《命令模式》
文章目录一、命令模式定义二、命令模式的结构和说明三、命令模式示例一、命令模式定义将一个请求封装成一个对象,从而使你可用不同的请求把客户端参数化,对请求排队或者记录请求日志,以及支持可撤销和恢复操作。二、命令模式的结构和说明三、命令模式示例...
2020-03-02 00:40:13 4764 2
原创 Java设计模式及应用场景之《观察者模式》
一、观察者模式定义观察者模式定义了对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知,并自动更新。二、观察者模式的结构和说明Subject 被观察者(目标对象)它管理着观察它的观察者,提供添加和删除观察者的接口,并在自身有变化时,通知所有添加的观察者。Observer 观察者观察者可以接收被观察者发送过来的消息。ConcreteSubjec...
2020-03-02 00:38:53 999 2
原创 Java设计模式及应用场景之《抽象工厂模式》
一、单例模式定义 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。二、应用抽象工厂模式来解决问题的思路 创建一系列的产品对象,而且这一系列对象是构成新的对...
2020-03-02 00:38:04 2532 3
原创 Java设计模式及应用场景之《单例模式》
一、单例模式定义 保证一个类只有一个实例,并提供一个访问这个唯一实例的全局访问点。二、懒汉式和饿汉式的实现 单例模式有两种典型的创建方式,一种叫懒汉式,另一种叫饿汉式。1、懒汉式 懒汉式的特点是延迟加载,你不用我就不创建,等到第一次调用的时候,才去创建实例对象。public class Singleton { //4:定义一个变量来存储创建好的类实例...
2020-03-02 00:37:05 1583 4
原创 Java设计模式及应用场景之《简单工厂模式》
一、简单工厂模式定义 简单工厂提供了一个创建对象实例的功能,而无需关心其具体实现。被创建对象实例的类型可以是抽象类、接口,也可以是具体的类。二、简单工厂模式示例 假设有一个订单支付功能,我们有两种支付方式,一种支付宝支付,一种微信支付。用户在支付的时候,需要从这两种支付方式中选取一种,来进行支付操作。首先我们有一个支付接口:/** * 支付接口 */publi...
2020-03-02 00:35:41 1616
原创 算法题--两数相除 [LeetCode](不使用乘法、除法和 mod 运算符)
题目描述 给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。 返回被除数 dividend 除以除数 divisor 得到的商。示例 1: 输入: dividend = 10, divisor = 3 输出: 3示例 2: 输入: dividend = 7, divisor = -3 输出: -2说明:...
2019-10-24 20:59:29 2329 1
原创 Spring依赖注入实现简单工厂模式
背景 简单工厂模式定义起来比较容易,但是在Spring项目中,通过new创建出来的对象中,无法使用@Resource或@Autowired 注解实例化service层注入。 这个也比较容易理解,因为Spring的注入是在项目启动的时候执行的,所以后期new出来的实例对象中的注入注解就不会生效了。举个例子: 假设有一个订单支付功能,我们有两种支付方式,一种支付宝支付,一种微信支付。用户...
2019-03-18 14:46:55 4299 13
原创 算法题--有效的括号 [LeetCode]
题目描述 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1: 输入: “()” 输出: true示例 2: 输入: “()[]{}” 输出: true示例 3: 输入: “(]” 输出:...
2019-02-03 14:27:19 750 2
封装的分页插件
2018-12-10
2017阿里技术年度精选集
2017-12-19
阿里巴巴Java开发手册终极版1.3.0
2017-09-25
CSDN博客便捷式帮助小程序
2017-01-13
vcastr3.swf 视频播放器
2016-12-24
OWASP安全编码规范快速参考指南
2015-10-22
哪位大神能帮把这段C语音的代码翻译成Java代码,跪谢!
2020-06-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人