<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[WW_II的博客]]></title><description><![CDATA[记录思维痕迹]]></description><link>https://blog.youkuaiyun.com/WW_II</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; WW_II]]></copyright><item><title><![CDATA[this关键字]]></title><link>https://blog.youkuaiyun.com/WW_II/article/details/116424059</link><guid>https://blog.youkuaiyun.com/WW_II/article/details/116424059</guid><author>WW_II</author><pubDate>Thu, 06 May 2021 00:15:58 +0800</pubDate><description><![CDATA[this关键字，表示的是对当前对象的引用，也称为自引用，在


]]></description><category></category></item><item><title><![CDATA[Spring AOP的两种实现方式——JDK和CGLIB]]></title><link>https://blog.youkuaiyun.com/WW_II/article/details/107123072</link><guid>https://blog.youkuaiyun.com/WW_II/article/details/107123072</guid><author>WW_II</author><pubDate>Sat, 04 Jul 2020 18:08:31 +0800</pubDate><description><![CDATA[动态代理
动态代理的意义就是生成一个代理对象，来代理真实对象，从而控制真实对象的访问，这里涉及的代理模式自行了解
代理步骤
1、代理对象和真实对象建立代理关系
2、实现代理对象的代理逻辑方法
JDK动态代理
因为JDK动态代理方式的实现必须借助接口，因此当被代理对象存在接口时，我们使用JDK动态代理的方式，JDK动态代理的实现主要通过两个方法Proxy.newProxyInstance()和InvocationHandle接口的invoke（）方法,代理对象必须实现invoke()方法
代码目的：要实现My]]></description><category></category></item><item><title><![CDATA[设计模式——单例模式]]></title><link>https://blog.youkuaiyun.com/WW_II/article/details/106915646</link><guid>https://blog.youkuaiyun.com/WW_II/article/details/106915646</guid><author>WW_II</author><pubDate>Tue, 23 Jun 2020 10:42:33 +0800</pubDate><description><![CDATA[什么是单例模式？
简单来说就是一个类只允许创建一个实例对象
为什么要使用单例模式？
在业务开发中，有些数据在开发中只保存一份，就比较适合设计成单例模式，比如配置信息、唯一ID递增号码生成器，同样我们还可以使用单例模式解决资源冲突问题
如何实现一个单例模式？
单例模式主要由下面几个方面：

private修饰的构造方法，这样可以避免外部通过new创建对象
对象创建的线程安全问题
支不支持延迟加载，就是什么时候创建实例对象
getInstance（）的加锁问题，怎么加锁

常见单例模式写法
1、饿汉式
类加载过]]></description><category></category></item><item><title><![CDATA[HashMap JDK1.7put（）方法流程图]]></title><link>https://blog.youkuaiyun.com/WW_II/article/details/106837446</link><guid>https://blog.youkuaiyun.com/WW_II/article/details/106837446</guid><author>WW_II</author><pubDate>Thu, 18 Jun 2020 16:15:45 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[MySQL——日志系统]]></title><link>https://blog.youkuaiyun.com/WW_II/article/details/106475076</link><guid>https://blog.youkuaiyun.com/WW_II/article/details/106475076</guid><author>WW_II</author><pubDate>Tue, 02 Jun 2020 23:19:55 +0800</pubDate><description><![CDATA[redo log（重做日志）
首先，明确redo log是innodb存储引擎层面的日志文件，当我们对数据进行更改操作之后，innoDB会将记录先记录在redo log中，然后更新内存，这样我们的更改操纵也就算完成了，然后存储引擎会在一个合适的时机，将更改数据写入磁盘，这个时间一般在比较空闲的时候。
redo log是固定大小的，意思就是我们不能无限的向redo log里面写记录，当写满的时候，我们需要擦除redo log，redo log是循环输入的，我们可以将它理解为一个循环队列，一个标志位叫write]]></description><category></category></item><item><title><![CDATA[Mysql基础架构]]></title><link>https://blog.youkuaiyun.com/WW_II/article/details/106465688</link><guid>https://blog.youkuaiyun.com/WW_II/article/details/106465688</guid><author>WW_II</author><pubDate>Mon, 01 Jun 2020 11:37:17 +0800</pubDate><description><![CDATA[Mysql基础架构

客户端
客户端可以是JDBC代码工具、可视化工具或是命令行，我们通过客户端提交URL、用户名和密码等信息
连接器
连接器负责和客户端建立连接、获得权限，维护和管理连接，连接器用从我们在客户端输入的信息与数据库进行连接
查询缓存
当我们与数据库建立连接之后，会首先到查询缓存查询是否之前查询过这条命令，如果没有则继续执行后续阶段
但是，不推荐使用查询缓存：
– 1、查询缓存的失效比较频繁，只要表更新，缓存就会清空
– 2、缓存对应新更新的数据命中率比较低
并且，MySQL 8.0 版本直接]]></description><category></category></item><item><title><![CDATA[索引的原理——我们为什么用B+树来做索引？]]></title><link>https://blog.youkuaiyun.com/WW_II/article/details/106447146</link><guid>https://blog.youkuaiyun.com/WW_II/article/details/106447146</guid><author>WW_II</author><pubDate>Sun, 31 May 2020 08:59:51 +0800</pubDate><description><![CDATA[什么是索引？
索引是关系数据库中对某一列或多个列的值进行预排序的数据结构，就好比书籍的目录。
为什么使用索引？
索引的出现其实就是为了提高数据库查询的效率，就好比书的目录，通过书的目录，我们可以快速精确找到我们想要的信息
不适合索引的数据结构
索引的作用是为了提高查询的效率，而可以提高查询的数据结构有很多种，我们都知道数据库选择了B+树这一数据模型作为索引的数据结构，那么为什么选择B+树，而不是其他数据结构？
数组
如果单从查询效率来看，数组显然是最合适的，我们都知道数组的查询速度快，但是当我们的数据库中存]]></description><category></category></item><item><title><![CDATA[JDK、JRE和JVM]]></title><link>https://blog.youkuaiyun.com/WW_II/article/details/105678480</link><guid>https://blog.youkuaiyun.com/WW_II/article/details/105678480</guid><author>WW_II</author><pubDate>Wed, 22 Apr 2020 12:31:03 +0800</pubDate><description><![CDATA[首先介绍一下Java核心的概念体系

JDK&gt;JRE&gt;JVM
从图中可以看出三者是包含关系，JDK是最大的概念，包括这Java开发的全部·，JRE是Java运行环境，它主要由JVM和一些基本类库组成，JVM是Java虚拟机，是Java跨平台的核心,三者大小关系
JDK
JDK（Java Development Kit）:Java开发工具包,JDK是整个java开发的核心，它包含了JAV...]]></description><category></category></item><item><title><![CDATA[抽象类和接口]]></title><link>https://blog.youkuaiyun.com/WW_II/article/details/105042027</link><guid>https://blog.youkuaiyun.com/WW_II/article/details/105042027</guid><author>WW_II</author><pubDate>Mon, 23 Mar 2020 11:57:29 +0800</pubDate><description><![CDATA[抽象类

抽象类在形式上是abstract关键字修饰的类，抽象类是不能实例化的类，就是我们不能new一个抽象类对象，但是我们能定义抽象类对象变量，用它引用继承了抽象类的非抽象子类对象。
抽象方法就是abstract关键字修饰的类，包含一个或多个抽象方法的类必须声明为抽象类，但注意抽象类中不仅存在抽象方法，同时可以包含具体数据和具体方法，通俗理解就是，有抽象方法的类一定是抽象类，但抽象类不一定有抽象...]]></description><category></category></item><item><title><![CDATA[Java——this关键字]]></title><link>https://blog.youkuaiyun.com/WW_II/article/details/104599159</link><guid>https://blog.youkuaiyun.com/WW_II/article/details/104599159</guid><author>WW_II</author><pubDate>Mon, 02 Mar 2020 22:13:20 +0800</pubDate><description><![CDATA[this关键字
1. 指示隐式参数（本类对象的引用）
this关键字只能在方法内部使用，表示对“调用方法的那个对象”的引用，这一说法是《Java编程思想》的说法，但不要理解成this关键字仅限于调用方法的引用，this关键字同样可以调用类的域。
class Preson{
    private String name;
    private int age;
    //setter 和get...]]></description><category></category></item><item><title><![CDATA[快速提升编程能力的关键]]></title><link>https://blog.youkuaiyun.com/WW_II/article/details/104543455</link><guid>https://blog.youkuaiyun.com/WW_II/article/details/104543455</guid><author>WW_II</author><pubDate>Thu, 27 Feb 2020 19:50:22 +0800</pubDate><description><![CDATA[快速提升编程能力的关键
本文是我看陈皓专栏《左耳听风》推荐的文章翻译（并非完全按照原文翻译，干货部分原文翻译），原文链接The Key To Accelerating Your Coding Skills。
   当你开始学习编程的时候，你身边的一切都开始发生变化。在Firehose，我们称其为编程的拐点时刻。在这个阶段之后，你作为开发人员这一身份的行为将发生巨大的改变。你达到这一拐点的过程就是你...]]></description><category></category></item></channel></rss>