- 博客(11)
- 收藏
- 关注

原创 快速提升编程能力的关键
快速提升编程能力的关键本文是我看陈皓专栏《左耳听风》推荐的文章翻译(并非完全按照原文翻译,干货部分原文翻译),原文链接The Key To Accelerating Your Coding Skills。 当你开始学习编程的时候,你身边的一切都开始发生变化。在Firehose,我们称其为编程的拐点时刻。在这个阶段之后,你作为开发人员这一身份的行为将发生巨大的改变。你达到这一拐点的过程就是你...
2020-02-27 19:50:22
15328
10
原创 Spring AOP的两种实现方式——JDK和CGLIB
动态代理动态代理的意义就是生成一个代理对象,来代理真实对象,从而控制真实对象的访问,这里涉及的代理模式自行了解代理步骤1、代理对象和真实对象建立代理关系2、实现代理对象的代理逻辑方法JDK动态代理因为JDK动态代理方式的实现必须借助接口,因此当被代理对象存在接口时,我们使用JDK动态代理的方式,JDK动态代理的实现主要通过两个方法Proxy.newProxyInstance()和InvocationHandle接口的invoke()方法,代理对象必须实现invoke()方法代码目的:要实现My
2020-07-04 18:08:31
435
原创 设计模式——单例模式
什么是单例模式?简单来说就是一个类只允许创建一个实例对象为什么要使用单例模式?在业务开发中,有些数据在开发中只保存一份,就比较适合设计成单例模式,比如配置信息、唯一ID递增号码生成器,同样我们还可以使用单例模式解决资源冲突问题如何实现一个单例模式?单例模式主要由下面几个方面:private修饰的构造方法,这样可以避免外部通过new创建对象对象创建的线程安全问题支不支持延迟加载,就是什么时候创建实例对象getInstance()的加锁问题,怎么加锁常见单例模式写法1、饿汉式类加载过
2020-06-23 10:42:33
244
1
原创 MySQL——日志系统
redo log(重做日志)首先,明确redo log是innodb存储引擎层面的日志文件,当我们对数据进行更改操作之后,innoDB会将记录先记录在redo log中,然后更新内存,这样我们的更改操纵也就算完成了,然后存储引擎会在一个合适的时机,将更改数据写入磁盘,这个时间一般在比较空闲的时候。redo log是固定大小的,意思就是我们不能无限的向redo log里面写记录,当写满的时候,我们需要擦除redo log,redo log是循环输入的,我们可以将它理解为一个循环队列,一个标志位叫write
2020-06-02 23:19:55
215
原创 Mysql基础架构
Mysql基础架构客户端客户端可以是JDBC代码工具、可视化工具或是命令行,我们通过客户端提交URL、用户名和密码等信息连接器连接器负责和客户端建立连接、获得权限,维护和管理连接,连接器用从我们在客户端输入的信息与数据库进行连接查询缓存当我们与数据库建立连接之后,会首先到查询缓存查询是否之前查询过这条命令,如果没有则继续执行后续阶段但是,不推荐使用查询缓存:– 1、查询缓存的失效比较频繁,只要表更新,缓存就会清空– 2、缓存对应新更新的数据命中率比较低并且,MySQL 8.0 版本直接
2020-06-01 11:37:17
227
原创 索引的原理——我们为什么用B+树来做索引?
什么是索引?索引是关系数据库中对某一列或多个列的值进行预排序的数据结构,就好比书籍的目录。为什么使用索引?索引的出现其实就是为了提高数据库查询的效率,就好比书的目录,通过书的目录,我们可以快速精确找到我们想要的信息不适合索引的数据结构索引的作用是为了提高查询的效率,而可以提高查询的数据结构有很多种,我们都知道数据库选择了B+树这一数据模型作为索引的数据结构,那么为什么选择B+树,而不是其他数据结构?数组如果单从查询效率来看,数组显然是最合适的,我们都知道数组的查询速度快,但是当我们的数据库中存
2020-05-31 08:59:51
638
原创 JDK、JRE和JVM
首先介绍一下Java核心的概念体系JDK>JRE>JVM从图中可以看出三者是包含关系,JDK是最大的概念,包括这Java开发的全部·,JRE是Java运行环境,它主要由JVM和一些基本类库组成,JVM是Java虚拟机,是Java跨平台的核心,三者大小关系JDKJDK(Java Development Kit):Java开发工具包,JDK是整个java开发的核心,它包含了JAV...
2020-04-22 12:31:03
195
原创 抽象类和接口
抽象类抽象类在形式上是abstract关键字修饰的类,抽象类是不能实例化的类,就是我们不能new一个抽象类对象,但是我们能定义抽象类对象变量,用它引用继承了抽象类的非抽象子类对象。抽象方法就是abstract关键字修饰的类,包含一个或多个抽象方法的类必须声明为抽象类,但注意抽象类中不仅存在抽象方法,同时可以包含具体数据和具体方法,通俗理解就是,有抽象方法的类一定是抽象类,但抽象类不一定有抽象...
2020-03-23 11:57:29
258
原创 Java——this关键字
this关键字1. 指示隐式参数(本类对象的引用)this关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用,这一说法是《Java编程思想》的说法,但不要理解成this关键字仅限于调用方法的引用,this关键字同样可以调用类的域。class Preson{ private String name; private int age; //setter 和get...
2020-03-02 22:13:20
380
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人