<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lixujunk的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lixujunk</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lixujunk]]></copyright><item><title><![CDATA[缓存穿透缓存击穿缓存雪崩]]></title><link>https://blog.youkuaiyun.com/lixujunk/article/details/90147386</link><guid>https://blog.youkuaiyun.com/lixujunk/article/details/90147386</guid><author>lixujunk</author><pubDate>Sun, 12 May 2019 23:33:50 +0800</pubDate><description><![CDATA[1 缓存穿透
1.1 什么是缓存穿透
 缓存穿透，是指查询一个数据库一定不存在的数据（核心：缓存和数据库该值不存在）。正常的使用缓存流程大致是，数据查询先进行缓存查询，如果key不存在或者key已经过期，再对数据库进行查询，并把查询到的对象，放进缓存。如果数据库查询对象为空，则不放进缓存。
1.2 带来的问题
 对于不存在的id 的数据，如果有大量的请求执行，会导致数据库压力过大宕机。...]]></description><category></category></item><item><title><![CDATA[docker 实验--安装nginx]]></title><link>https://blog.youkuaiyun.com/lixujunk/article/details/88823629</link><guid>https://blog.youkuaiyun.com/lixujunk/article/details/88823629</guid><author>lixujunk</author><pubDate>Tue, 26 Mar 2019 16:59:45 +0800</pubDate><description><![CDATA[机器：W7

工具：Docker-Box 的  Docker Quickstart Terminal

在安装好Docker Box 的情况下，运行Docker Quickstart Terminal。

1.docker run -i -t --name=web -p 80 ubuntu /bin/bash

docker run：运行容器

-i  :容器的标准输入保持打开

-t...]]></description><category></category></item><item><title><![CDATA[round  的规则]]></title><link>https://blog.youkuaiyun.com/lixujunk/article/details/88381402</link><guid>https://blog.youkuaiyun.com/lixujunk/article/details/88381402</guid><author>lixujunk</author><pubDate>Sun, 10 Mar 2019 18:12:28 +0800</pubDate><description><![CDATA[在python中round 是用于计算小数位截取的功能，如果保留12.34 小数点后一位，round(12.34,1)或round(12.34)，得到12.3，一般是4舍6六入，这个固定的规则，当截取的后一位是5的时候，要看计算机的浮点数值保存方式，在python 中，取决于计算机浮点的保存的值有没有比要计算的值大，有的话，就是入1，没有就舍弃，比如：


from decimal import ...]]></description><category></category></item><item><title><![CDATA[python 学习问题]]></title><link>https://blog.youkuaiyun.com/lixujunk/article/details/84800879</link><guid>https://blog.youkuaiyun.com/lixujunk/article/details/84800879</guid><author>lixujunk</author><pubDate>Tue, 04 Dec 2018 23:35:52 +0800</pubDate><description><![CDATA[1.

assert  的作用，作用就是为了然程序崩溃，一般是在测试的过程中，让程序可以在中途加个判断，如果有问题就中断。

使用的方法是： assert+空格+要判断语句+双引号“报错语句”   

现象就是: AssertionError: &quot;报错语句&quot;...]]></description><category></category></item><item><title><![CDATA[q-learning 学习总结]]></title><link>https://blog.youkuaiyun.com/lixujunk/article/details/84729572</link><guid>https://blog.youkuaiyun.com/lixujunk/article/details/84729572</guid><author>lixujunk</author><pubDate>Mon, 03 Dec 2018 00:07:29 +0800</pubDate><description><![CDATA[总结q-learning ，学习的地址https://www.jianshu.com/p/29db50000e3f?utm_medium=hao.caibaojian.com&amp;amp;utm_source=hao.caibaojian.com

 

 

q-learning 是一种行为计算的方法。

首先，所有的行为和这行为的后果已经确定下来，向一般在网上举的例子会用简单的迷宫做过程的讲解，现...]]></description><category></category></item><item><title><![CDATA[随意想法]]></title><link>https://blog.youkuaiyun.com/lixujunk/article/details/81843328</link><guid>https://blog.youkuaiyun.com/lixujunk/article/details/81843328</guid><author>lixujunk</author><pubDate>Sun, 19 Aug 2018 23:50:23 +0800</pubDate><description><![CDATA[面向对象（Java）

模板方式（将会写的很白痴，很详细）

1.模板方法就是要将不同流程的公共流程抽出来，比如：下载有很多种渠道，有ftp的方式，http的方式，webservice 的方式，而在我的项目中需要用到多种渠道的数据，如果不同下载渠道模块由不同人处理，不同人写代码的风格又是不一样的，这样不容易后期的维护，所以要规范不同下载渠道的流程。我们简化一点，首先，下载的过程是固定的，1.验证数...]]></description><category></category></item><item><title><![CDATA[学习总结]]></title><link>https://blog.youkuaiyun.com/lixujunk/article/details/79173053</link><guid>https://blog.youkuaiyun.com/lixujunk/article/details/79173053</guid><author>lixujunk</author><pubDate>Fri, 26 Jan 2018 15:32:31 +0800</pubDate><description><![CDATA[吴恩达机器学习总结：
1.   有监督学习和无监督学习
1.1        有监督学习（回归，分类）：做预测和判断
回归：根据线性走势做预测，判断新的输入值的结果值              

分类：根据数据区域块区分类型，判断新的输入值的结果类型
1.2        无监督学习（聚类）:说白了就是将一堆数据根据特征分类，比如说声音信号分离
2.   有监督学习基本案例引入]]></description><category></category></item><item><title><![CDATA[Comparator   Comparable]]></title><link>https://blog.youkuaiyun.com/lixujunk/article/details/47767673</link><guid>https://blog.youkuaiyun.com/lixujunk/article/details/47767673</guid><author>lixujunk</author><pubDate>Wed, 19 Aug 2015 01:06:34 +0800</pubDate><description><![CDATA[这两是接口，在java.util  包中，这两个接口可以的使用是为了让我们可以实现对类进行排序。
两个接口不一样的地方在与

Comparator是用于类的外部比较，就是要重新定义一个类实现该接口，让两个依赖的对象作比较
Comparable是用于类的内部比较，类实现该接口，和一个依赖的对象作比较
这两个接口的抽象方法是 public int compare()



另外：
 Str]]></description><category></category></item><item><title><![CDATA[装饰模式]]></title><link>https://blog.youkuaiyun.com/lixujunk/article/details/47049401</link><guid>https://blog.youkuaiyun.com/lixujunk/article/details/47049401</guid><author>lixujunk</author><pubDate>Tue, 11 Aug 2015 13:38:44 +0800</pubDate><description><![CDATA[在面向对象中，装饰模式的核心其实就是对类的封装。比较正规的说法就是：可以动态地扩展类的功能。
该模式中使用其他类（构建角色）对基本类（被装饰角色）进行封装的目的就是避免在不修改基本类的代码和不对基本类进行继承的情况下对基本类的功能的扩展。
（注：给定一个基本类，要对该类增加方法，无外乎就几种方法，一个是直接修改类的代码，第二个写一个子类对这个基本类继承，再在子类中增加想要的方法，第三个就是写一]]></description><category></category></item><item><title><![CDATA[CDATA]]></title><link>https://blog.youkuaiyun.com/lixujunk/article/details/46898767</link><guid>https://blog.youkuaiyun.com/lixujunk/article/details/46898767</guid><author>lixujunk</author><pubDate>Wed, 15 Jul 2015 23:54:10 +0800</pubDate><description><![CDATA[cdata : 百科上的解释是“指的是不由 XML 解析器进行解析的文本数据”。
这句话的更好理解是，CDATA是就是一种数据，是一种文本的数据，与XML的有关系，不会给XML解析器解析。
说明该数据在整个XML操作的流程中只有不被解析才不会出错。
说明一个原因就是该数据和XML的某些东西意义上有重叠，而会重叠的只有XML的基本规则，基本规则中是文本的就是‘',这个了，所以cdata  文本]]></description><category></category></item><item><title><![CDATA[sql  范式]]></title><link>https://blog.youkuaiyun.com/lixujunk/article/details/46839323</link><guid>https://blog.youkuaiyun.com/lixujunk/article/details/46839323</guid><author>lixujunk</author><pubDate>Sat, 11 Jul 2015 09:21:16 +0800</pubDate><description><![CDATA[范式，英文 normal from ,直接翻译就是通用的形式。也就是在数据库设计中的通用设计标准。


在说明一个范式前先声明几个概念。表中的关键字。
一张表总会有好几个字段，其中有某些字段是有一定作用的，叫做关键字，关键字有几种：公共关键字，主关键字，外关键字，候选关键字。
公共关键字就是在表中能够共同表示同样的意思的几部分；
主关键字，也会简称主键，主键可以代表这张表的存在；
外]]></description><category></category></item><item><title><![CDATA[桥接模式]]></title><link>https://blog.youkuaiyun.com/lixujunk/article/details/46823655</link><guid>https://blog.youkuaiyun.com/lixujunk/article/details/46823655</guid><author>lixujunk</author><pubDate>Thu, 09 Jul 2015 23:58:32 +0800</pubDate><description><![CDATA[桥接模式在23种设计模式中是属于 结构性 的模式
既然是结构性的，那么就要突显出在软件的设计结构中的优势
现在我们来假设一种情形，然后用代码来实现
情景：幼儿园的老师教小孩动物，动物中有猫，狗等，一个幼儿园有几个班，每个班有一个白板，老师教课的过程就是叫有动物的贴纸贴在白板上。
分析：老师作为控制台，动物贴纸有老师动手贴在白板上，黑板是死物，它不会知道贴在上面的是什么东西。
过程：我们就]]></description><category></category></item><item><title><![CDATA[UML  几种图标的意思]]></title><link>https://blog.youkuaiyun.com/lixujunk/article/details/46817763</link><guid>https://blog.youkuaiyun.com/lixujunk/article/details/46817763</guid><author>lixujunk</author><pubDate>Thu, 09 Jul 2015 16:09:55 +0800</pubDate><description><![CDATA[UML 有几种关系图标：泛化（继承），实现，依赖，关联，聚合，组合


1.泛化（继承）   B——▷A                     B 类作为 A 类的子类存在。
2.实现                    B------▷A                      B 类实现 A 接口。
3.依赖                    A------>B]]></description><category></category></item><item><title><![CDATA[中断  和  异常]]></title><link>https://blog.youkuaiyun.com/lixujunk/article/details/46525011</link><guid>https://blog.youkuaiyun.com/lixujunk/article/details/46525011</guid><author>lixujunk</author><pubDate>Tue, 16 Jun 2015 23:24:10 +0800</pubDate><description><![CDATA[程序运行的过程中会停下，如果不是因为程序正常运行结束的话，那可能是由中断或者是异常产生的。
中断和异常不一样
中断的是收到与本身运行的指令集无关的中断信号，cpu使程序中断，异常是因为程序本身运行过程中出现了问题而被迫停止继续运行。
就好像一个人在吃饭的时候，大脑作为cpu控制着人正常进食，如果中途中有人打电话过来，人停止吃饭，接电话，别人打来的电话就是中断信号。如果中途吃饭鱼骨头卡到喉咙，]]></description><category></category></item><item><title><![CDATA[设计模式   观察者模式]]></title><link>https://blog.youkuaiyun.com/lixujunk/article/details/42034093</link><guid>https://blog.youkuaiyun.com/lixujunk/article/details/42034093</guid><author>lixujunk</author><pubDate>Fri, 19 Dec 2014 23:34:30 +0800</pubDate><description><![CDATA[观察者有四个角色   观察者角色，具体观察者角色，通知者角色，具体通知者角色，一般在java中，观察者角色和通知者角色为接口，具体观察者和具体通知者是对观察者和通知者的实现类。
一般观察者角色只要有一个方法，且叫做update（），

一般通知者有三个方法，add(),delete(),notify(),这三个方法称为增加，减少和通知。

过程就是通知者这个类里面有一个观察者角色类的空列]]></description><category></category></item><item><title><![CDATA[设计模式  门面模式]]></title><link>https://blog.youkuaiyun.com/lixujunk/article/details/42033251</link><guid>https://blog.youkuaiyun.com/lixujunk/article/details/42033251</guid><author>lixujunk</author><pubDate>Fri, 19 Dec 2014 23:10:36 +0800</pubDate><description><![CDATA[门面模式就是使用一个我们称为门面的类，将其他几个需要使用的类封装起来，门面类里的方法可以是对几个需要用的类的操作，就是说我们只要使用这个叫做门面的类的方法来同时使用我们需要的几个类的方法。]]></description><category></category></item><item><title><![CDATA[hibernate   不能自动建表]]></title><link>https://blog.youkuaiyun.com/lixujunk/article/details/41945015</link><guid>https://blog.youkuaiyun.com/lixujunk/article/details/41945015</guid><author>lixujunk</author><pubDate>Mon, 15 Dec 2014 16:27:14 +0800</pubDate><description><![CDATA[使用hibernate的时候不能自动建表，有几种方法排除
1.确定hibernate的包的导入
2.在hibernate.cfg.xml文件中     的值为create。这个属性值有几种，当为create 时，为自动建表
3. 在hibernate.cfg.xml文件   org.hibernate.dialect.MySQLDialect    的问题，即使是Mysql  数据库，根据引]]></description><category></category></item><item><title><![CDATA[java   作用域]]></title><link>https://blog.youkuaiyun.com/lixujunk/article/details/39931267</link><guid>https://blog.youkuaiyun.com/lixujunk/article/details/39931267</guid><author>lixujunk</author><pubDate>Thu, 09 Oct 2014 15:09:45 +0800</pubDate><description><![CDATA[java有几种作用域  public  private  prote]]></description><category></category></item><item><title><![CDATA[Thread  Runnable]]></title><link>https://blog.youkuaiyun.com/lixujunk/article/details/39891051</link><guid>https://blog.youkuaiyun.com/lixujunk/article/details/39891051</guid><author>lixujunk</author><pubDate>Wed, 08 Oct 2014 11:03:11 +0800</pubDate><description><![CDATA[在java的程序中使用多线程有两种方式，1种是继承  Thread  （]]></description><category></category></item><item><title><![CDATA[并行  并发]]></title><link>https://blog.youkuaiyun.com/lixujunk/article/details/39642831</link><guid>https://blog.youkuaiyun.com/lixujunk/article/details/39642831</guid><author>lixujunk</author><pubDate>Sun, 28 Sep 2014 16:06:55 +0800</pubDate><description><![CDATA[并行：两个事件并行发生，表明是在一个时间段内有两个事件一起发生，比如，两个吃饭事件在中午并行发生，说明中午的时候，有两个人同时吃饭。

并发：两个事件并发发生，表明是在一个时间段内有两个事件交替发生，比如，两个吃饭事件在中午并发发生，说明中午的时候，两个人交叉顺序吃饭，一人吃几口再另一人吃几口，交叉轮流。



在计算机的领域的解释是：

并行：多个任务同一时刻发生，根本点在于多个处理器处理自己...]]></description><category></category></item></channel></rss>