<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[bas_ball的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/bas_ball</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bas_ball]]></copyright><item><title><![CDATA[linux下vim三种模式和详细操作指令]]></title><link>https://blog.youkuaiyun.com/bas_ball/article/details/105373915</link><guid>https://blog.youkuaiyun.com/bas_ball/article/details/105373915</guid><author>bas_ball</author><pubDate>Tue, 07 Apr 2020 21:16:12 +0800</pubDate><description><![CDATA[1 vim
1.1 vim三种模式
1.1.1 命令模式(默认进入的模式)

在该模式下是不能对文件进行直接编辑，可以输入快捷键进行一些操作(删除行，复制行，移动过光标，粘贴等等)
vim +10 /etc/passwd：打开指定文件, 并且将光标移动到指定行
vim +/depu /etc/passwd: 打开指定文件, 并且将关键字高亮
shift+6或^: 移动到光标当前行的行首
shift...]]></description><category></category></item><item><title><![CDATA[LIUNX目录结构和常用命令]]></title><link>https://blog.youkuaiyun.com/bas_ball/article/details/105340173</link><guid>https://blog.youkuaiyun.com/bas_ball/article/details/105340173</guid><author>bas_ball</author><pubDate>Mon, 06 Apr 2020 11:08:35 +0800</pubDate><description><![CDATA[LIUNX目录结构和常用命令
文章都是基于centOS
linux中，一切皆是文件，包括进程，磁盘等等…
1.1 Linux的系统目录结构

bin： 全称binary, 含义是二进制。所以顾名思义放的都是二进制文件，文件都是可以被运行的
dev： 主要存放的是外接设备，例如u盘，光盘。在其中的外接设备是不能直接使用的，需要挂载(类似windows下的分配盘符, windows会新建了一个盘符)
...]]></description><category></category></item><item><title><![CDATA[RabbitMQ进阶, exchange的四种类型]]></title><link>https://blog.youkuaiyun.com/bas_ball/article/details/101071142</link><guid>https://blog.youkuaiyun.com/bas_ball/article/details/101071142</guid><author>bas_ball</author><pubDate>Tue, 24 Sep 2019 22:34:37 +0800</pubDate><description><![CDATA[交换器类型
RabbitMQ 常用的交换器类型有 fanout 、 direct、 topic 、 headers 这四种 。 AMQP 协议里还提
到另外两种类型: System 和自定义,这里不予描述。对于这四种类型下面一一阐述。
fanout:它会把所有发送到该交换器的消息路由到所有与该交换器绑定的队列中。
direct:它会把消息路由到那些BindingKey和RoutingKey完全...]]></description><category></category></item><item><title><![CDATA[RabbitMQ概念]]></title><link>https://blog.youkuaiyun.com/bas_ball/article/details/101021203</link><guid>https://blog.youkuaiyun.com/bas_ball/article/details/101021203</guid><author>bas_ball</author><pubDate>Fri, 20 Sep 2019 17:37:03 +0800</pubDate><description><![CDATA[1.RabbitMQ 入门
概念介绍：RabbitMQ 整体上是一个生产者与消费者模型,主要负责接收、存储和转发消息。
Producer:生产者,就是投递消息的 一方。
生产者创建消息,然后发布到 RabbitMQ 中。消息 一般可以包含 2 个部分:消息体和标签
(Label) 。消息体 也可以称之为 payload ,在实际应用中,消 息体 一 般是一个带有业务逻辑结构
的数据,比如一个 ...]]></description><category></category></item><item><title><![CDATA[PROXY(代理)—对象结构型模式]]></title><link>https://blog.youkuaiyun.com/bas_ball/article/details/100515881</link><guid>https://blog.youkuaiyun.com/bas_ball/article/details/100515881</guid><author>bas_ball</author><pubDate>Tue, 17 Sep 2019 09:50:32 +0800</pubDate><description><![CDATA[代理模式【proxy】

什么是代理模式
为其他对象提供一种代理以控制对这个对象的访问。
能够协调调用者和被调用者，在一定程度上降低了系统的耦合度。
什么场景会用到代理模式
在某些情况下，一个对象不合适或者不能直接引用另一个对象，而代理对象可以在客户端和目标对象之间起到中介的作用。


...]]></description><category></category></item><item><title><![CDATA[FACTORY METHOD（工厂方法）—对象创建型模式]]></title><link>https://blog.youkuaiyun.com/bas_ball/article/details/98929795</link><guid>https://blog.youkuaiyun.com/bas_ball/article/details/98929795</guid><author>bas_ball</author><pubDate>Thu, 22 Aug 2019 10:27:02 +0800</pubDate><description><![CDATA[工厂方法【factory method】

什么是工厂方法
定义一个用于创建对象的接口，让子类决定实例化哪一个类。 Factory Method使一个类的
实例化延迟到其子类。别名政策(Virtual Constructor)


...]]></description><category></category></item><item><title><![CDATA[DECORATOR(装饰)—对象结构型模式]]></title><link>https://blog.youkuaiyun.com/bas_ball/article/details/97132781</link><guid>https://blog.youkuaiyun.com/bas_ball/article/details/97132781</guid><author>bas_ball</author><pubDate>Wed, 24 Jul 2019 17:26:28 +0800</pubDate><description><![CDATA[装饰模式


什么是装饰模式
动态地给一个对象添加额外的职责，就增加功能来说，装饰模式比生成子类更加灵活。别名，包装器Wrapper


什么场景会用到装饰模式
有时我们希望给某个对象而不是整个类添加一些功能。例如,一个图形用户界面工具箱
允许你对任意一个用户界面组件添加一些特性,例如边框,或是一些行为,例如窗口滚动。
使用继承机制是添加功能的一种有效途径,从其他类继承过来的边框特性可以被多个子
...]]></description><category></category></item><item><title><![CDATA[OBSERVER(观察者) —对象行为型模式]]></title><link>https://blog.youkuaiyun.com/bas_ball/article/details/96118441</link><guid>https://blog.youkuaiyun.com/bas_ball/article/details/96118441</guid><author>bas_ball</author><pubDate>Tue, 16 Jul 2019 12:37:37 +0800</pubDate><description><![CDATA[观察者模式


什么是观察者模式
定义了一种一对多的依赖关系，让多个观察者对象同时监听一个主题对象。这个主题对象在状态发生变化时，会通知所有观察者对象，使他们能够自动更新自己.别名依赖(Dependents), 发布-订阅( publish - subscribe)


什么场景会用到命令模式
一个对象的改变需要同时改变其它对象的时候，而且不知道具体有多少个对象有待改变时。想想以前的报纸订阅，如果...]]></description><category></category></item><item><title><![CDATA[STRATEGY(策略) —对象行为型模式]]></title><link>https://blog.youkuaiyun.com/bas_ball/article/details/95984675</link><guid>https://blog.youkuaiyun.com/bas_ball/article/details/95984675</guid><author>bas_ball</author><pubDate>Mon, 15 Jul 2019 18:38:11 +0800</pubDate><description><![CDATA[策略模式【strategy】

什么是策略模式
定义一系列的算法 ,把它们一个个封装起来 , 并且使它们可相互替换。本模式使得算法可独
立于使用它的客户而变化。别名政策(Policy)
什么场景会用到命令模式
这个模式比较好理解，它充分的利用了抽象和多态，策略模式是一种定义了一系列算法的方法，从概念上来看，所有这些算法完成的都是相同的工作，只是实现不同，它可以以相同的方式调用所有的算法，减少了各种...]]></description><category></category></item><item><title><![CDATA[COMMAND（命令）—对象行为型模式]]></title><link>https://blog.youkuaiyun.com/bas_ball/article/details/95851926</link><guid>https://blog.youkuaiyun.com/bas_ball/article/details/95851926</guid><author>bas_ball</author><pubDate>Sun, 14 Jul 2019 09:10:34 +0800</pubDate><description><![CDATA[命令模式【command】

什么是命令模式
将一个请求封装为一个对象，从而使你可用不同的请求对客户进行参数化；对请求排队或记录请求日志，以及支持可撤消的操作。稍后我会以代码加文字的形式给大家解释清楚。别名（动作( Action )，事务(Transation )）
什么场景会用到命令模式
我们模拟一下这个场景。用户去一个餐厅，可以点菜，并且可以取消之前点过的菜，原型图如下：

流程如下，用户下达...]]></description><category></category></item><item><title><![CDATA[STATE（状态）—对象行为型模式]]></title><link>https://blog.youkuaiyun.com/bas_ball/article/details/95734885</link><guid>https://blog.youkuaiyun.com/bas_ball/article/details/95734885</guid><author>bas_ball</author><pubDate>Sat, 13 Jul 2019 12:30:59 +0800</pubDate><description><![CDATA[状态模式【state】


什么是状态模式
允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。一般很难去理解，稍后我会以代码加文字的形式给大家解释清楚。


什么场景会用到状态模式
因为这个模式里面我看了很多网上的方法都拿电梯来举例，我觉得也很合理，因为电梯每个不同的状态都可能有存在多种处理(状态模式不仅仅只会像工作流一样一级一级地往下走，还有可能跳级去处理)，比如，电梯在运...]]></description><category></category></item><item><title><![CDATA[BRIDGE（桥接）—对象结构型模式]]></title><link>https://blog.youkuaiyun.com/bas_ball/article/details/95659095</link><guid>https://blog.youkuaiyun.com/bas_ball/article/details/95659095</guid><author>bas_ball</author><pubDate>Fri, 12 Jul 2019 21:54:25 +0800</pubDate><description><![CDATA[桥接模式【bridge】


什么是桥接模式
将抽象部分于它的实现部分分离，使它们都可以独立地变化，这个摘自&lt;设计模式&gt;的解释，一般很难去理解，稍后我会以代码加文字的形式给大家解释清楚。


什么场景会用到桥接模式
现在给大家一个场景，比如现在要做这样一个功能，需求上描述，分别开发多个软件应用，同时需要适应不同的手机型号，再详细一点，比如，现在开发了一款购物app和阅读app，需要兼容...]]></description><category></category></item><item><title><![CDATA[使用PMD分析来代码]]></title><link>https://blog.youkuaiyun.com/bas_ball/article/details/83302270</link><guid>https://blog.youkuaiyun.com/bas_ball/article/details/83302270</guid><author>bas_ball</author><pubDate>Tue, 23 Oct 2018 09:48:33 +0800</pubDate><description><![CDATA[PMD是源代码分析器。它能找到常见的编程缺陷，如未使用的变量，空的catch块，不必要的对象创建等等。它支持Java，JavaScript，Salesforce.com Apex和Visualforce，PLSQL，Apache Velocity，XML，XSL。

此外，它还可以检查重复和冲突的代码。支持多种语言，可以在Java，C，C ++，C＃，Groovy，PHP，Ruby，Fortran...]]></description><category></category></item><item><title><![CDATA[【Mastering JBoss Drools 6】笔记 基本操作]]></title><link>https://blog.youkuaiyun.com/bas_ball/article/details/82997846</link><guid>https://blog.youkuaiyun.com/bas_ball/article/details/82997846</guid><author>bas_ball</author><pubDate>Fri, 12 Oct 2018 15:04:45 +0800</pubDate><description><![CDATA[Drools最基本最常用的有以下四种

布尔运算与数值运算规则


rule &quot;Add 5% discount for minors or seniors&quot;
    when $o: Order(customer.age &amp;lt; 18 || customer.age &amp;gt; 60)
    then $o.increaseDiscount(0.05);
end

基于集合的规则

(conta...]]></description><category></category></item><item><title><![CDATA[【Mastering JBoss Drools 6】笔记 基本属性]]></title><link>https://blog.youkuaiyun.com/bas_ball/article/details/82985803</link><guid>https://blog.youkuaiyun.com/bas_ball/article/details/82985803</guid><author>bas_ball</author><pubDate>Wed, 10 Oct 2018 15:20:56 +0800</pubDate><description><![CDATA[Drools Runtime

主要介绍Drools的组件是如何工作的，它们各个组件的职责，和他们的配置，本章重点介绍如下：
•    了解Drools是怎么运行的
•    常用的配置
•    使用KieScanner加载动态的规则变化

为了生成规则引擎的新实例，我们需要理解一下概念

•     KieServices
•     KieContainer
•     KieModule
...]]></description><category></category></item><item><title><![CDATA[【Java多线程编程核心技术】第一章(多线程技能 线程的优先级)]]></title><link>https://blog.youkuaiyun.com/bas_ball/article/details/82968457</link><guid>https://blog.youkuaiyun.com/bas_ball/article/details/82968457</guid><author>bas_ball</author><pubDate>Mon, 08 Oct 2018 17:04:26 +0800</pubDate><description><![CDATA[1.8　线程的优先级

　在操作系统中，线程可以划分优先级，优先级较高的线程得到的cpu的资源较多，也就是cpu优先执行优先级较高的线程对象中的任务．

　在Java中，线程优先级分为1~10个等级，如果小于1大于10，则JDK抛出异常,源码如下:


   public final void setPriority(int newPriority) {
        ThreadGroup g...]]></description><category></category></item><item><title><![CDATA[【Java多线程编程核心技术】第一章(多线程技能suspend,resume,yield)]]></title><link>https://blog.youkuaiyun.com/bas_ball/article/details/82911799</link><guid>https://blog.youkuaiyun.com/bas_ball/article/details/82911799</guid><author>bas_ball</author><pubDate>Mon, 08 Oct 2018 15:14:20 +0800</pubDate><description><![CDATA[1.8 暂停线程

     在多线程中，suspend是暂停线程，resume是恢复线程的执行．

　１.8.1suspend方法和resume方法的使用


public class MyThread extends Thread {
    private long i = 0L;
    public long getI() {
        return i;
    }
    pu...]]></description><category></category></item><item><title><![CDATA[SpringCloud入门,搭框架,最简单，循序渐进的例子]]></title><link>https://blog.youkuaiyun.com/bas_ball/article/details/82898001</link><guid>https://blog.youkuaiyun.com/bas_ball/article/details/82898001</guid><author>bas_ball</author><pubDate>Sat, 29 Sep 2018 15:19:20 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/forezp/article/details/70148833/]]></description><category></category></item><item><title><![CDATA[【Java多线程编程核心技术】第一章(多线程技能)]]></title><link>https://blog.youkuaiyun.com/bas_ball/article/details/82852213</link><guid>https://blog.youkuaiyun.com/bas_ball/article/details/82852213</guid><author>bas_ball</author><pubDate>Wed, 26 Sep 2018 14:36:59 +0800</pubDate><description><![CDATA[1.7 停止线程

   停止线程是在多线程开发时很重要的技术点.掌握此技术可以对线程的停止进行有效的处理.

   停止一个线程可以使用Thread.stop()方法,但是最好不要使用它.这个方法是不安全的.大多数停止一个线程的操作是使用Thread.interrupt().

1.7.1 停止不了的线程

   调用interrupt()方法仅仅是在当前线程中打了一个停止的标记,并不是真的停止...]]></description><category></category></item><item><title><![CDATA[【Java多线程编程核心技术】第一章(多线程技能 currentThread, isAlive,sleep,getId)]]></title><link>https://blog.youkuaiyun.com/bas_ball/article/details/82794111</link><guid>https://blog.youkuaiyun.com/bas_ball/article/details/82794111</guid><author>bas_ball</author><pubDate>Thu, 20 Sep 2018 22:52:20 +0800</pubDate><description><![CDATA[Thread类的核心方法较多，读者应该着重掌握如下关键技术点：

□线程的启动

□如果使线程暂停

□如何使线程停止

□线程的优先级

□线程安全相关的问题

1.1 进程与多线程的概念及线程的优点

     本节主要介绍在Java语言中使用多线程技术。但是讲到多线程不得不提到进程这个概念：


进程（Process）是计算机中的程序关于某数据集合上的一次运行活动，
是系统进行资源分配和调度...]]></description><category></category></item></channel></rss>