<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[GoldWashing的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/GoldWashing</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; GoldWashing]]></copyright><item><title><![CDATA[Mybatis]]></title><link>https://blog.youkuaiyun.com/GoldWashing/article/details/82941339</link><guid>https://blog.youkuaiyun.com/GoldWashing/article/details/82941339</guid><author>GoldWashing</author><pubDate>Fri, 05 Oct 2018 21:08:32 +0800</pubDate><description><![CDATA[ 

 

 

MyBatis是什么:

MyBatis 是一款优秀的持久层框架，它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息，将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。...]]></description><category></category></item><item><title><![CDATA[在Linux下安装软件jdk-tomcat-mysql]]></title><link>https://blog.youkuaiyun.com/GoldWashing/article/details/82937588</link><guid>https://blog.youkuaiyun.com/GoldWashing/article/details/82937588</guid><author>GoldWashing</author><pubDate>Thu, 04 Oct 2018 15:29:42 +0800</pubDate><description><![CDATA[我用的是阿里云Contos 7.3的镜像，选择/usr/local目录下安装软件

/usr：系统级的目录，可以理解为C:/Windows/。
/usr/lib：理解为C:/Windows/System32。
/usr/local：用户级的程序目录，可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。
这里主要存放那些手动安装的软件，即不是通过“新立得”或apt...]]></description><category></category></item><item><title><![CDATA[apache提供的开源字符串工具类]]></title><link>https://blog.youkuaiyun.com/GoldWashing/article/details/82864072</link><guid>https://blog.youkuaiyun.com/GoldWashing/article/details/82864072</guid><author>GoldWashing</author><pubDate>Thu, 27 Sep 2018 11:01:14 +0800</pubDate><description><![CDATA[ 这里只是我收集一些由apache提供常用会用到的字符串工具类的方法，更多的方法的在下面这个博客中

https://blog.youkuaiyun.com/qq_26676207/article/details/72674670


package com;

import org.apache.commons.lang.StringUtils;
import org.junit.Test;

public...]]></description><category></category></item><item><title><![CDATA[Java解压zip文件]]></title><link>https://blog.youkuaiyun.com/GoldWashing/article/details/82831784</link><guid>https://blog.youkuaiyun.com/GoldWashing/article/details/82831784</guid><author>GoldWashing</author><pubDate>Mon, 24 Sep 2018 20:24:26 +0800</pubDate><description><![CDATA[
package com;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset;
import java.util.Enumeration;
import java....]]></description><category></category></item><item><title><![CDATA[Java压缩成zip文件]]></title><link>https://blog.youkuaiyun.com/GoldWashing/article/details/82831739</link><guid>https://blog.youkuaiyun.com/GoldWashing/article/details/82831739</guid><author>GoldWashing</author><pubDate>Mon, 24 Sep 2018 20:23:48 +0800</pubDate><description><![CDATA[ 

 


package com;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.io.FileOutputStream;
import java.io.OutputStream;
impor...]]></description><category></category></item><item><title><![CDATA[SpringMVC]]></title><link>https://blog.youkuaiyun.com/GoldWashing/article/details/82813838</link><guid>https://blog.youkuaiyun.com/GoldWashing/article/details/82813838</guid><author>GoldWashing</author><pubDate>Sun, 23 Sep 2018 10:44:16 +0800</pubDate><description><![CDATA[1：什么是MVC        

MVC(Model View Controller)是一种软件设计的框架模式，它采用模型(Model)-视图(View)-控制器(controller)的方法把业务逻辑、数据与界面显示分离。把众多的业务逻辑聚集到一个部件里面，当然这种比较官方的解释是不能让我们足够清晰的理解什么是MVC的。用通俗的话来讲，MVC的理念就是把数据处理、数据展示(界面)和程序/用户的...]]></description><category></category></item><item><title><![CDATA[Mybatis中的mapper.xml里面${} 和 #{}区别与用法]]></title><link>https://blog.youkuaiyun.com/GoldWashing/article/details/82701212</link><guid>https://blog.youkuaiyun.com/GoldWashing/article/details/82701212</guid><author>GoldWashing</author><pubDate>Fri, 14 Sep 2018 13:12:28 +0800</pubDate><description><![CDATA[Mybatis 的Mapper.xml语句中parameterType向SQL语句传参有两种方式：#{}和${}

#{}方式能够很大程度防止sql注入。
	$方式无法防止Sql注入。
	$方式一般用于传入数据库对象，例如传入表名.
	一般能用#的就别用$.
#{}表示一个占位符即?，可以有效防止sql注入。在使用时不需要关心参数值的类型，mybatis会自动进行java类型和jdbc类型的转换。...]]></description><category></category></item><item><title><![CDATA[多线程的状态流转]]></title><link>https://blog.youkuaiyun.com/GoldWashing/article/details/82668866</link><guid>https://blog.youkuaiyun.com/GoldWashing/article/details/82668866</guid><author>GoldWashing</author><pubDate>Wed, 12 Sep 2018 21:53:07 +0800</pubDate><description><![CDATA[线程在一定条件下，状态会发生变化。线程一共有以下几种状态：

1、新建状态(New)：新创建了一个线程对象。

2、就绪状态(Runnable)：线程对象创建后，其他线程调用了该对象的start()方法。该状态的线程位于“可运行线程池”中，变得可运行，只等待获取CPU的使用权。即在就绪状态的进程除CPU之外，其它的运行所需资源都已全部获得。

3、运行状态(Running)：就绪状态的线程获取了C...]]></description><category></category></item><item><title><![CDATA[Integer和int的区别]]></title><link>https://blog.youkuaiyun.com/GoldWashing/article/details/82664493</link><guid>https://blog.youkuaiyun.com/GoldWashing/article/details/82664493</guid><author>GoldWashing</author><pubDate>Wed, 12 Sep 2018 20:34:33 +0800</pubDate><description><![CDATA[Integer和int的区别：

1.Integer是int的包装类，int的初值为0，Integer的初值为null。

2.无论值是否相同，Integer与new Integer都不会相等，结果为false。

　　情况一：Integer范围在-128~127之间，指向专门存放它的常量池；new Integer引用指向堆。它们的内存地址不一样，所以无论值是否相同，比较结果都为false。

　...]]></description><category></category></item><item><title><![CDATA[面试之ActiveMQ？]]></title><link>https://blog.youkuaiyun.com/GoldWashing/article/details/82318654</link><guid>https://blog.youkuaiyun.com/GoldWashing/article/details/82318654</guid><author>GoldWashing</author><pubDate>Sun, 02 Sep 2018 20:17:12 +0800</pubDate><description><![CDATA[1.先讲严重的：服务挂掉。

这得从ActiveMQ的储存机制说起。在通常的情况下，非持久化消息是存储在内存中的，持久化消息是存储在文件中的，它们的最大限制在配置文件的&amp;lt;systemUsage&amp;gt;节点中配置。但是，在非持久化消息堆积到一定程度，内存告急的时候，ActiveMQ会将内存中的非持久化消息写入临时文件中，以腾出内存。虽然都保存到了文件里，但它和持久化消息的区别是，重启后持久化消...]]></description><category></category></item><item><title><![CDATA[分布式锁]]></title><link>https://blog.youkuaiyun.com/GoldWashing/article/details/82317908</link><guid>https://blog.youkuaiyun.com/GoldWashing/article/details/82317908</guid><author>GoldWashing</author><pubDate>Sun, 02 Sep 2018 18:59:36 +0800</pubDate><description><![CDATA[一、为什么要使用分布式锁

我们在开发应用的时候，如果需要对某一个共享变量进行多线程同步访问的时候，可以使用我们学到的Java多线程的18般武艺进行处理，并且可以完美的运行，毫无Bug！

注意这是单机应用，也就是所有的请求都会分配到当前服务器的JVM内部，然后映射为操作系统的线程进行处理！而这个共享变量只是在这个JVM内部的一块内存空间！

后来业务发展，需要做集群，一个应用需要部署到几台机器上...]]></description><category></category></item><item><title><![CDATA[Dubbo与 Zookeeper]]></title><link>https://blog.youkuaiyun.com/GoldWashing/article/details/82317593</link><guid>https://blog.youkuaiyun.com/GoldWashing/article/details/82317593</guid><author>GoldWashing</author><pubDate>Sun, 02 Sep 2018 18:28:37 +0800</pubDate><description><![CDATA[dubbo是动物..zookeeper是动物园的管理员！

按我的理解，您可以把dubbo服务想象成学校里的一个学生，并且对应有一个学号，zookeeper则是想象成一个教务网管理系统。我们可以通过教务网管理系统，查找到对应的学生。我们首先通过注册入学，将学生和学号对应绑定。

比方说项目是一个分布式的项目，web层与 service层被拆分了开来， 部署在不同的tomcat中， 我在web层 需...]]></description><category></category></item><item><title><![CDATA[Dubbo的介绍以及Dubbox的区别]]></title><link>https://blog.youkuaiyun.com/GoldWashing/article/details/82316089</link><guid>https://blog.youkuaiyun.com/GoldWashing/article/details/82316089</guid><author>GoldWashing</author><pubDate>Sun, 02 Sep 2018 16:05:58 +0800</pubDate><description><![CDATA[Dubbo官网:  http://dubbo.io/

Dubbox官网: https://github.com/dangdangdotcom/dubbox

Dubbo 是阿里巴巴公司开源的一个基于Java的高性能开源RPC框架，使得应用可通过高性能的 RPC 实现服务的输出和输入功能，可以和 Spring框架无缝集成。后来因为某些原因没有维护，于是当当网在这之上推出了自己的Dubbox。

D...]]></description><category></category></item><item><title><![CDATA[数据库之分库分表]]></title><link>https://blog.youkuaiyun.com/GoldWashing/article/details/82313900</link><guid>https://blog.youkuaiyun.com/GoldWashing/article/details/82313900</guid><author>GoldWashing</author><pubDate>Sun, 02 Sep 2018 15:35:48 +0800</pubDate><description><![CDATA[随着大数据时代的到来，业务系统的数据量日益增大，数据存储能力逐渐成为影响系统性能的瓶颈。目前主流的关系型数据库单表存储上限为1000万条记录，而这一存储能力显然已经无法满足大数据背景下的业务系统存储要求了。随着微服务架构、分布式存储等概念的出现，数据存储问题也渐渐迎来了转机。而数据分片是目前解决海量数据持久化存储与高效查询的一种重要手段。数据分库分表的过程在系统设计阶段完成，要求系统设计人员根据系...]]></description><category></category></item><item><title><![CDATA[spring-data-jpa的使用]]></title><link>https://blog.youkuaiyun.com/GoldWashing/article/details/82048500</link><guid>https://blog.youkuaiyun.com/GoldWashing/article/details/82048500</guid><author>GoldWashing</author><pubDate>Sat, 25 Aug 2018 10:45:35 +0800</pubDate><description><![CDATA[ 

首先了解JPA是什么？

JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术，结束现在Hibernate，TopLink，JDO等ORM框架各自为营的局面。值得注意的是，JPA是在充分吸收了现有Hibernate，To...]]></description><category></category></item><item><title><![CDATA[java的多线程]]></title><link>https://blog.youkuaiyun.com/GoldWashing/article/details/82025750</link><guid>https://blog.youkuaiyun.com/GoldWashing/article/details/82025750</guid><author>GoldWashing</author><pubDate>Fri, 24 Aug 2018 21:51:29 +0800</pubDate><description><![CDATA[多线程

进程：进程指正在运行的程序。确切的来说，当一个程序进入内存运行，即变成一个进程，进程是处于运行过程中的程序，并且具有一定独立功能。



线程：线程是进程中的一个执行单元，负责当前进程中程序的执行，一个进程中至少有一个线程。一个进程中是可以有多个线程的，这个应用程序也可以称之为多线程程序。

简而言之：一个程序运行后至少有一个进程，一个进程中可以包含多个线程

 

什么是多线程呢？即就...]]></description><category></category></item><item><title><![CDATA[java中sleep和wait的区别]]></title><link>https://blog.youkuaiyun.com/GoldWashing/article/details/82025597</link><guid>https://blog.youkuaiyun.com/GoldWashing/article/details/82025597</guid><author>GoldWashing</author><pubDate>Fri, 24 Aug 2018 21:26:11 +0800</pubDate><description><![CDATA[结合synchronized，会更好的理解sleep()和wait()这两个方法，当然也就知道了他们的区别了。这篇博客就一起学习这两个方法

sleep()

sleep() 方法是线程类（Thread）的静态方法，让调用线程进入睡眠状态，让出执行机会给其他线程，等到休眠时间结束后，线程进入就绪状态和其他线程一起竞争cpu的执行时间。 
因为sleep() 是static静态的方法，他不能改变对象...]]></description><category></category></item><item><title><![CDATA[redis的优缺点以及使用场景]]></title><link>https://blog.youkuaiyun.com/GoldWashing/article/details/82025537</link><guid>https://blog.youkuaiyun.com/GoldWashing/article/details/82025537</guid><author>GoldWashing</author><pubDate>Fri, 24 Aug 2018 21:22:02 +0800</pubDate><description><![CDATA[1. 使用redis有哪些好处？

(1) 速度快，因为数据存在内存中，类似于HashMap，HashMap的优势就是查找和操作的时间复杂度都是O(1)

(2) 支持丰富数据类型，支持string，list，set，sorted set，hash

(3) 支持事务，操作都是原子性，所谓的原子性就是对数据的更改要么全部执行，要么全部不执行

(4) 丰富的特性：可用于缓存，消息，按key设置过期...]]></description><category></category></item><item><title><![CDATA[面试之SpringMVC与Struts2区别与比较总结]]></title><link>https://blog.youkuaiyun.com/GoldWashing/article/details/82025519</link><guid>https://blog.youkuaiyun.com/GoldWashing/article/details/82025519</guid><author>GoldWashing</author><pubDate>Fri, 24 Aug 2018 21:20:14 +0800</pubDate><description><![CDATA[1、Struts2是类级别的拦截， 一个类对应一个request上下文，SpringMVC是方法级别的拦截，一个方法对应一个request上下文，而方法同时又跟一个url对应,所以说从架构本身上SpringMVC就容易实现restful url，而struts2的架构实现起来要费劲，因为Struts2中Action的一个方法可以对应一个url，而其类属性却被所有方法共享，这也就无法用注解或其他方式...]]></description><category></category></item><item><title><![CDATA[分布式、微服务、集群]]></title><link>https://blog.youkuaiyun.com/GoldWashing/article/details/82025500</link><guid>https://blog.youkuaiyun.com/GoldWashing/article/details/82025500</guid><author>GoldWashing</author><pubDate>Fri, 24 Aug 2018 21:18:10 +0800</pubDate><description><![CDATA[一、分布式

小马正在经营一个在线购物网站，名叫TT猫，有商品管理、订单管理、用户管理、支付管理、购物车等模块，每个模块部署到独立的云服务主机。

现在，程序员小明同学浏览TT猫，想买一款牛逼的cherry机械键盘来提升自己的工作效率。于是他打开TT猫首页、搜索商品、浏览详情以及评论、添加购物车、下单、支付等一系列操作。小明同学一气呵成，流畅地完成了购物，当然也花费了不少银子。

但系统又是如何进...]]></description><category></category></item></channel></rss>