<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[CandyCCCation的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/CandyCCCation</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; CandyCCCation]]></copyright><item><title><![CDATA[Linux 下安装 mysql 数据库简单教程]]></title><link>https://blog.youkuaiyun.com/CandyCCCation/article/details/103133122</link><guid>https://blog.youkuaiyun.com/CandyCCCation/article/details/103133122</guid><author>CandyCCCation</author><pubDate>Mon, 18 Nov 2019 22:27:03 +0800</pubDate><description><![CDATA[Mysql 安装
一些话先说在前面

安装zip的解压和压缩的工具

yum install zip
yun install unzip
解压缩的时候， zip -r /需要压缩的文件   unzip /需要解压的文件


如何导入sql文件入数据库

首先将sql文件放到linux服务器上，在登陆客户端后
使用命令 source /你的sql文件.sql 完成导入。



具体安装步骤，先去目标...]]></description><category></category></item><item><title><![CDATA[Volatile 详解]]></title><link>https://blog.youkuaiyun.com/CandyCCCation/article/details/92801807</link><guid>https://blog.youkuaiyun.com/CandyCCCation/article/details/92801807</guid><author>CandyCCCation</author><pubDate>Wed, 19 Jun 2019 16:32:31 +0800</pubDate><description><![CDATA[认识Volatile
首先，java中地Volatile可以实现可见性。
例如，以下代码，
package pop.thread.demo3;

/**
 * @author Pop
 * @date 2019/6/18 22:48
 */
public class VolatileDemo {

    public volatile  static boolean volatile_stop ...]]></description><category></category></item><item><title><![CDATA[Synchronzied 的深入理解（下）]]></title><link>https://blog.youkuaiyun.com/CandyCCCation/article/details/91488285</link><guid>https://blog.youkuaiyun.com/CandyCCCation/article/details/91488285</guid><author>CandyCCCation</author><pubDate>Wed, 12 Jun 2019 00:29:58 +0800</pubDate><description><![CDATA[Sychronized深入分析
话接上文，我们需要想要知道为什么所有的对象都可以成为sychronized的锁，然后有一张描述对象在内存中的布局。

首先对于Java而言，我们创建实例的方法可以通过new一个对象，而对于JVM而言，这句话会被解释成，创建一个instanceOopDesc对象，虚拟机使用OOP-KLASS模型来描述Java对象实例。

OOP(Ordinary Object Poi...]]></description><category></category></item><item><title><![CDATA[Synchronzied 的深入理解 (上)]]></title><link>https://blog.youkuaiyun.com/CandyCCCation/article/details/90814727</link><guid>https://blog.youkuaiyun.com/CandyCCCation/article/details/90814727</guid><author>CandyCCCation</author><pubDate>Tue, 04 Jun 2019 22:37:47 +0800</pubDate><description><![CDATA[为什么要使用多线程
在硬件条件不断进步的今天，我们现在常用的电脑已经不是简单的单核CPU，而是4核、8核、甚至更多。
而如果不使用多线程技术的话，一般我们就只用一个CPU来处理程序上的计算问题，复杂且庞大的计算量全部压在一个CPU上，其它CPU只负责划水，那么这无法物尽其用。
当然我们也不是说可怜这一个CPU，而是真实的环境下，使用多核CPU以及超线程技术可以实现并行，这意味着我们可以在单位时间内...]]></description><category></category></item><item><title><![CDATA[线程的应用]]></title><link>https://blog.youkuaiyun.com/CandyCCCation/article/details/90756574</link><guid>https://blog.youkuaiyun.com/CandyCCCation/article/details/90756574</guid><author>CandyCCCation</author><pubDate>Tue, 04 Jun 2019 18:15:33 +0800</pubDate><description><![CDATA[线程的应用
在java中，我们应该如何使用多线程。

继承Thread，通过start方法启动一个线程
实现Runnable接口，将实现类塞进Thread构造方法中，通过start方法启动。
使用ExecutorService、Callable、Future来实现带有返回结果的线程。


继承Thread类创建线程

public class ThreadDemo extends Thread{
...]]></description><category></category></item><item><title><![CDATA[并发的发展史]]></title><link>https://blog.youkuaiyun.com/CandyCCCation/article/details/90755005</link><guid>https://blog.youkuaiyun.com/CandyCCCation/article/details/90755005</guid><author>CandyCCCation</author><pubDate>Mon, 03 Jun 2019 16:58:24 +0800</pubDate><description><![CDATA[并发的发展历史

真空管和穿孔打卡

由于早期的计算机只是解决一些简单的计算问题，而且生产水平也比较落后的情况下，往往处理一些计算之前，都需要实现准备材料。
程序员通过编写程序将内容写到纸上，接着打孔成卡片，再将卡片转移给操作室的操作员，并将卡片的内容输入到计算机上，等到计算机计算完成后，会将结果打印到打印机上进行输出，操作员拿到输出结果送到输入室，程序员就可以从输出室得到具体的计算结果。如此往复...]]></description><category></category></item><item><title><![CDATA[设计原则-开闭原则与依赖倒置]]></title><link>https://blog.youkuaiyun.com/CandyCCCation/article/details/88940953</link><guid>https://blog.youkuaiyun.com/CandyCCCation/article/details/88940953</guid><author>CandyCCCation</author><pubDate>Mon, 01 Apr 2019 08:55:06 +0800</pubDate><description><![CDATA[设计原则
本文章将会介绍我对一些设计原则的理解，包括：开闭原则、里氏替换原则、迪米特法则、单一职责、接口隔离、合成复用，依赖倒置等进行讲解。

开闭原则（Open-Closed Principle, OCP）
对扩展开放，对修改关闭，这是对开闭原则的基本定义，这个原则存在的意义在于我们需要对一个类的功能进行扩展、增加方法的时候，不用对原本的类进行修改，而是通过继承，去重写，将父类原本方法的行为改造...]]></description><category></category></item><item><title><![CDATA[设计模式-单例模式详解]]></title><link>https://blog.youkuaiyun.com/CandyCCCation/article/details/88938817</link><guid>https://blog.youkuaiyun.com/CandyCCCation/article/details/88938817</guid><author>CandyCCCation</author><pubDate>Mon, 01 Apr 2019 00:30:26 +0800</pubDate><description><![CDATA[单例模式
单例模式的定义
在整个程序的生命周期中，有且只有一个这样的实例，并且保证是线程安全的。
单例模式的应用场景
例如Spring中的ApplicationContext，还有数据库的连接池都属于单例的模式，他们只会存在一个实例。
单例模式的几种写法
饿汉式单例
我们先来看写法
public class HungrySingleton{
	private final HungrySinglet...]]></description><category></category></item><item><title><![CDATA[设计原则-里氏替换原则]]></title><link>https://blog.youkuaiyun.com/CandyCCCation/article/details/88904701</link><guid>https://blog.youkuaiyun.com/CandyCCCation/article/details/88904701</guid><author>CandyCCCation</author><pubDate>Sat, 30 Mar 2019 00:17:34 +0800</pubDate><description><![CDATA[里氏替换原则（Liskov Substitution Principle,LSP）
里氏替换原则是我认为其他几个设计原则中比较难以掌握一种，首先他的定义十分晦涩。
假如存在，一个类型T，和已经被实例的对象O
还存在，另一个类型T2，和已经被实例的对象O2
那么存在以下情况，将所有类型为T的对象O都替换成类型T2的对象O2，程序的行为没发生什么改变。
看到这一句话给我的第一个感觉是，这讲的一定是父子...]]></description><category></category></item><item><title><![CDATA[设计原则-迪米特原则与合成复用原则]]></title><link>https://blog.youkuaiyun.com/CandyCCCation/article/details/88904313</link><guid>https://blog.youkuaiyun.com/CandyCCCation/article/details/88904313</guid><author>CandyCCCation</author><pubDate>Fri, 29 Mar 2019 23:52:00 +0800</pubDate><description><![CDATA[迪米特原则（Law of Demeter LoD）
迪米特原则又叫最少知道原则（Least Knowledge Principle,LKP），这里的最少知道主要是强调，调用者对传入的参数，和接受到的返回的参数很熟悉即可，不需要知道在调用过程中涉及了哪些框架设计者自己的类。
例如你使用某个JSON框架，你传入的是可能是一个对象，最多再传入了一个Class类型就可以很方便的调用这个框架的方法，接受到了...]]></description><category></category></item><item><title><![CDATA[设计原则-单一职责原则与接口分离原则]]></title><link>https://blog.youkuaiyun.com/CandyCCCation/article/details/88899480</link><guid>https://blog.youkuaiyun.com/CandyCCCation/article/details/88899480</guid><author>CandyCCCation</author><pubDate>Fri, 29 Mar 2019 19:08:14 +0800</pubDate><description><![CDATA[单一职责原则 （Simple Responsibility Pinciple，SRP）
这个原则其实很有意思，他规定每个类所拥有的能力必须明确划分，吃饭就吃饭，洗澡就洗澡，睡觉就睡觉，这保证了每个类的相互的能力不会互相污染，你不能一个吃饭的类居然可以点出来洗澡的方法，这听起来就很荒谬。
如果你在学习的时候乐于查看源码，不难会有这样疑问：为什么我们看起来明明可以一步完成的操作他要写那么多封装类还有那...]]></description><category></category></item><item><title><![CDATA[使用 IntelliJ IDEA 将 web 工程打包成 war]]></title><link>https://blog.youkuaiyun.com/CandyCCCation/article/details/88851679</link><guid>https://blog.youkuaiyun.com/CandyCCCation/article/details/88851679</guid><author>CandyCCCation</author><pubDate>Wed, 27 Mar 2019 18:05:45 +0800</pubDate><description><![CDATA[使用IntelliJ IDEA将web工程打包成war
选中你需要打包的项目，点击File-&gt;Project structure后选中Project Settings下的Artifacts。你也可以使用ctrl+alt+shift+s唤出这个界面。

点击+后选择Web Application:Archive ，所延伸出来的子项目，会列出你的项目或者模块的名字，点击确定后，加入到列表中。
接...]]></description><category></category></item><item><title><![CDATA[IntelliJ IDEA 配置Tomcat 服务器]]></title><link>https://blog.youkuaiyun.com/CandyCCCation/article/details/88850417</link><guid>https://blog.youkuaiyun.com/CandyCCCation/article/details/88850417</guid><author>CandyCCCation</author><pubDate>Wed, 27 Mar 2019 17:21:02 +0800</pubDate><description><![CDATA[在 IntelliJ IDEA配置tomcat后我们可以直接使用run进行运行和调试。
配置Tomcat服务器
点击Run/Debug Configurations后，在弹出框的右上角点击+添加Tomcat Server
-&gt;Local 。

在Application server-&gt;Configure中配置你的tomcat信息。配置完成后，我们切换到Deployment选项卡，这一步...]]></description><category></category></item><item><title><![CDATA[Adobe Animate CC 入门讲解]]></title><link>https://blog.youkuaiyun.com/CandyCCCation/article/details/88810283</link><guid>https://blog.youkuaiyun.com/CandyCCCation/article/details/88810283</guid><author>CandyCCCation</author><pubDate>Tue, 26 Mar 2019 01:01:46 +0800</pubDate><description><![CDATA[本章节会主要讲解 Adobe Animate CC 的脚本使用，虽然做动画也是Ancc的强项，但是这不是我的强项，在翻阅了大量的资料和询问了很多热心的人后，我完成了一个比较好看的作品，虽然这个作品还未完全完成，也确实存在许多瑕疵，但是为了避免更多人走弯路，我想把这段时间的经验和踩过的坑分享给需要的人。

软件的下载和安装与破解
首先不推荐使用Adobe Animate cc 2017 以上更高的版...]]></description><category></category></item><item><title><![CDATA[Navicat 连接Oracle数据库-ORA-28547]]></title><link>https://blog.youkuaiyun.com/CandyCCCation/article/details/88791119</link><guid>https://blog.youkuaiyun.com/CandyCCCation/article/details/88791119</guid><author>CandyCCCation</author><pubDate>Mon, 25 Mar 2019 13:07:35 +0800</pubDate><description><![CDATA[原因：一个是版本问题，例如Navicat中的安装路径为


E:\Navicat\instantclient_10_2

其中版本为10，左右，而Oracle数据库的版本也许为11或者更高，所以需要去官网下载匹配的版本，而其中最主要的问题在于Navicat内置的oci.dll版本不匹配，所以去官网下一个匹配的文件。


 http://www.oracle.com/technetwork/topi...]]></description><category></category></item><item><title><![CDATA[《Head First C#》 封装概念]]></title><link>https://blog.youkuaiyun.com/CandyCCCation/article/details/79058312</link><guid>https://blog.youkuaiyun.com/CandyCCCation/article/details/79058312</guid><author>CandyCCCation</author><pubDate>Sun, 14 Jan 2018 19:14:27 +0800</pubDate><description><![CDATA[实现类封装的几个想法
1.考虑字段可能会以何种方式被误用
如果设置不当，可能会导致字段被别人修改了，你却不知道，或者漏掉了本来应该执行的步骤却被忽略。
2.是不是类中的所有一切都是公共的
如果类中只有公共字段和方法，你可能需要多花一些时间来考虑封装的问题。


3.哪些字段需要在设置时做一些处理或计算
着些是最有可能需要封装的字段，如果有人以后写了一个方法来改变其中某个字段的值，可]]></description><category></category></item><item><title><![CDATA[《Head First C#》小游戏 -赛狗日的理解]]></title><link>https://blog.youkuaiyun.com/CandyCCCation/article/details/79048729</link><guid>https://blog.youkuaiyun.com/CandyCCCation/article/details/79048729</guid><author>CandyCCCation</author><pubDate>Fri, 12 Jan 2018 22:48:37 +0800</pubDate><description><![CDATA[赛狗日是一个很简单的小游戏，我想总结一下自己对赛狗日游戏的理解，并不会将自己实现的全部代码搬运上来，只是提供思路，方便自己以后可以写出更加健壮且方便维护的代码。
游戏功能要求
人：每个开局都有一定的钱，他们会各自下注，在比赛开始之前可以随意下注，但是比赛开始，便不能更改。


赌场：每次下注至少5元，且每个人不能重复下注，赌场会检查他们是否有足够的钱下注。


下注：赢了可以自己下]]></description><category></category></item></channel></rss>