<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dmm1888的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dmm1888</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dmm1888]]></copyright><item><title><![CDATA[springboot+mysql数据源切换]]></title><link>https://blog.youkuaiyun.com/dmm1888/article/details/101576164</link><guid>https://blog.youkuaiyun.com/dmm1888/article/details/101576164</guid><author>dmm1888</author><pubDate>Mon, 12 Aug 2019 15:46:00 +0800</pubDate><description><![CDATA[数据源切换
一.这里我做的是mysql读写分离，我是建立了两个链接，分别用了不同的端口号来分开（当然也可以区分数据库，这个根据自己所需 ）



spring.datasource.select.jdbc-url=jdbc:mysql://localhost:3308/product
spring.datasource.select.username=root
spri...]]></description><category></category></item><item><title><![CDATA[表单上传图片]]></title><link>https://blog.youkuaiyun.com/dmm1888/article/details/101576168</link><guid>https://blog.youkuaiyun.com/dmm1888/article/details/101576168</guid><author>dmm1888</author><pubDate>Tue, 30 Jul 2019 10:11:00 +0800</pubDate><description><![CDATA[1.表单
1.在form表单中加入属性enctype="multipart/form-data"
2.给一个input type类型为file 的输入框还有给name
2.配置
在struts.xml中配置
&lt;!-- 设置struts2上传的文件大小，默认情况下的大小是2M ，默认单位是B,目前允
许上传的最大为100M --&gt;
&lt;constant nam...]]></description><category></category></item><item><title><![CDATA[po,vo,bo,dto,dao解释]]></title><link>https://blog.youkuaiyun.com/dmm1888/article/details/101576165</link><guid>https://blog.youkuaiyun.com/dmm1888/article/details/101576165</guid><author>dmm1888</author><pubDate>Tue, 23 Jul 2019 10:26:00 +0800</pubDate><description><![CDATA[PO：
persistant object持久对象
最形象的理解就是一个PO就是数据库中的一条记录。
好处是可以把一条记录作为一个对象处理，可以方便的转为其它对象。

BO：
businessobject业务对象
主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。
比如一个简历，有教育经历、工作经历、社会关系等等。
我们可以把教育经历对应一个P...]]></description><category></category></item><item><title><![CDATA[生成电脑的SSH key]]></title><link>https://blog.youkuaiyun.com/dmm1888/article/details/101576162</link><guid>https://blog.youkuaiyun.com/dmm1888/article/details/101576162</guid><author>dmm1888</author><pubDate>Wed, 17 Jul 2019 14:08:00 +0800</pubDate><description><![CDATA[打开git命令窗口（git Bash Here）
输入：（
ssh-keygen -t rsa -C "邮箱"
）
生成电脑的.ssh文件
​
之前在阿里云上需要SSH公钥，然后用到的

转载于:https://www.cnblogs.com/ycq-qiang/p/11200680.html...]]></description><category></category></item><item><title><![CDATA[单例模式]]></title><link>https://blog.youkuaiyun.com/dmm1888/article/details/101576160</link><guid>https://blog.youkuaiyun.com/dmm1888/article/details/101576160</guid><author>dmm1888</author><pubDate>Wed, 10 Jul 2019 09:55:00 +0800</pubDate><description><![CDATA[单例模式的关键点
1) 构造方法不对外开放,为private（调用不能用new）
2) 确保单例类只有一个对象,尤其是多线程模式下
3) 通过静态方法或枚举返回单例对象
4) 确保单例类在反序列化是不会重新创建新的对象
单例模式的实现方式
1) 饿汉式
public class Singleton1 {
/*
* 饿汉式是在声明的时候就已经初始化Singleton1,确...]]></description><category></category></item><item><title><![CDATA[事物的特性和隔离级别]]></title><link>https://blog.youkuaiyun.com/dmm1888/article/details/101576158</link><guid>https://blog.youkuaiyun.com/dmm1888/article/details/101576158</guid><author>dmm1888</author><pubDate>Wed, 10 Jul 2019 09:53:00 +0800</pubDate><description><![CDATA[本篇讲诉数据库中事务的四大特性（ACID），并且将会详细地说明事务的隔离级
别。
如果一个数据库声称支持事务的操作，那么该数据库必须要具备以下四个特性：
⑴ 原子性（Atomicity） 
原子性是指事务包含的所有操作要么全部成功，要么全部失败回滚，这和前面两
篇博客介绍事务的功能是一样的概念，因此事务的操作如果成功就必须要完全应用到
数据库，如果操作失败则不能对数据库有任何...]]></description><category></category></item><item><title><![CDATA[springAOP自定义注解讲解]]></title><link>https://blog.youkuaiyun.com/dmm1888/article/details/101576163</link><guid>https://blog.youkuaiyun.com/dmm1888/article/details/101576163</guid><author>dmm1888</author><pubDate>Wed, 10 Jul 2019 09:50:00 +0800</pubDate><description><![CDATA[注解：
可以看作是对 一个 类／方法 的一个扩展的模版，每个 类／方法 按照注解类中的规则，来 
为 类／方法 注解不同的参数，在用到的地方可以得到不同的 类／方法 中注解的各种参数 
与值。 
注解的原理： 
注解本质是一个继承了Annotation的特殊接口，其具体实现类是Java运行时生成的动
态代理类。而我们通过反射获取注解时，返回的是Java运行时生成的动态代理对象...]]></description><category></category></item><item><title><![CDATA[Spring依赖注入（DI）的三种方式]]></title><link>https://blog.youkuaiyun.com/dmm1888/article/details/101576156</link><guid>https://blog.youkuaiyun.com/dmm1888/article/details/101576156</guid><author>dmm1888</author><pubDate>Wed, 10 Jul 2019 09:48:00 +0800</pubDate><description><![CDATA[Spring依赖注入（DI）的三种方式 Spring依赖注入（DI）的三种方式，分别为：
1． 接口注入
2． Setter方法注入
3． 构造方法注入
下面介绍一下这三种依赖注入在Spring中是怎么样实现的。
首先我们需要以下几个类：
接口 Logic.java
接口实现类 LogicImpl.java
一个处理类 LoginAction.java
还有一个测试类 ...]]></description><category></category></item><item><title><![CDATA[redis持久化]]></title><link>https://blog.youkuaiyun.com/dmm1888/article/details/101576161</link><guid>https://blog.youkuaiyun.com/dmm1888/article/details/101576161</guid><author>dmm1888</author><pubDate>Tue, 09 Jul 2019 17:22:00 +0800</pubDate><description><![CDATA[概述
Redis的强大性能很大程度上都是因为所有数据都是存储在内存中的，
然而当Redis重启后，所有存储在内存中的数据将会丢失，在很多情况
下是无法容忍这样的事情的。所以，我们需要将内存中的数据持久化！
典型的需要持久化数据的场景如下：
将Redis作为数据库使用；
将Redis作为缓存服务器使用，但是缓存miss后会对性能造成
很大影响，所有缓存同时失效时会造成服务雪崩...]]></description><category></category></item><item><title><![CDATA[java缓存]]></title><link>https://blog.youkuaiyun.com/dmm1888/article/details/101576159</link><guid>https://blog.youkuaiyun.com/dmm1888/article/details/101576159</guid><author>dmm1888</author><pubDate>Tue, 09 Jul 2019 17:19:00 +0800</pubDate><description><![CDATA[一、什么是缓存 
1、Cache是高速缓冲存储器 一种特殊的存储器子系统，其中复制了频繁使用的数据
以利于快速访问
2、凡是位于速度相差较大的两种硬件/软件之间的，用于协调两者数据传输速度差异
的结构，均可称之为 Cache
二、缓存的分类 
1、基于web应用的系统架构图
2、在系统架构的不同层级之间，为了加快访问速度，都可以存在缓存
操作系统磁盘缓存­&gt;减少磁盘...]]></description><category></category></item><item><title><![CDATA[js反选/全选]]></title><link>https://blog.youkuaiyun.com/dmm1888/article/details/101576154</link><guid>https://blog.youkuaiyun.com/dmm1888/article/details/101576154</guid><author>dmm1888</author><pubDate>Tue, 09 Jul 2019 17:16:00 +0800</pubDate><description><![CDATA[js的写法在标题行增加全选复选框和反选按钮，在 
数据行增加带name属性的复选框。 
&lt;table border="1" align="center" width="80%"&gt;
&lt;tr&gt;
&lt;th&gt;&lt;input
type="checkbox" id="checkall" onclick="checkall()"/&gt;&lt;inpu...]]></description><category></category></item><item><title><![CDATA[redis安装]]></title><link>https://blog.youkuaiyun.com/dmm1888/article/details/101576157</link><guid>https://blog.youkuaiyun.com/dmm1888/article/details/101576157</guid><author>dmm1888</author><pubDate>Mon, 08 Jul 2019 14:15:00 +0800</pubDate><description><![CDATA[redis4安装
-------
第一步官网下载
https://redis.io/
rz 上传或者直接wget http://download.redis.io/releases/redis-4.0.2.tar.gz
2、将其下载到我的/server/tools/目录下
3、解压并进入其目录
　　tar xf redis-4.0.2.tar.gz
4、编译源程序
...]]></description><category></category></item><item><title><![CDATA[线程相关概念-面试]]></title><link>https://blog.youkuaiyun.com/dmm1888/article/details/101576152</link><guid>https://blog.youkuaiyun.com/dmm1888/article/details/101576152</guid><author>dmm1888</author><pubDate>Mon, 08 Jul 2019 14:13:00 +0800</pubDate><description><![CDATA[1) 什么是线程？
线程是操作系统能够进行运算调度的最小单位，它被包含在进程之中，是进程中的实际运作单位。程序员可以通过它进行多处理器编程，你可以使用多线程对 运算密集型任务提速。比如，如果一个线程完成一个任务要100毫秒，那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的支 持，它也是一个很好的卖点。
2) 线程和进程有什么区别？
线程是进程的子集，一个...]]></description><category></category></item><item><title><![CDATA[redis的缓存穿透，缓存雪崩，持久化方式]]></title><link>https://blog.youkuaiyun.com/dmm1888/article/details/101576155</link><guid>https://blog.youkuaiyun.com/dmm1888/article/details/101576155</guid><author>dmm1888</author><pubDate>Mon, 08 Jul 2019 14:08:00 +0800</pubDate><description><![CDATA[Redis
redis是一个可进行持久化的内存数据库，可以支持string，list，hsh，set，zet这五种数据类型。
redis的性能很高(redis的读取速度可以达到11万次每秒,写的速度达到8万次每秒)
redis【缓存穿透】
  缓存穿透是指去查询一个一定不存在的数据，比如说我一共有100个商品，然后你偏偏去查询第101，102个这些不存在的商品，这个时候我们...]]></description><category></category></item><item><title><![CDATA[redis集群搭建]]></title><link>https://blog.youkuaiyun.com/dmm1888/article/details/101576150</link><guid>https://blog.youkuaiyun.com/dmm1888/article/details/101576150</guid><author>dmm1888</author><pubDate>Mon, 08 Jul 2019 14:06:00 +0800</pubDate><description><![CDATA[为啥要配置redis集群：
1.提高效率
2.备份替换。

redis穿透：
redis中会有一种文体就是key放进去，但是value没放进去或者替换成功空，这样的话每次都是直接查的数据库。
缓存穿透是指查询一个一定不存在的数据，由于缓存是不命中时需要从数据库查询，查不到数据则不写入缓存，这将导致这个不存在的数据每次请求都要到数据库去查询，造成缓存穿透。
解决方案：
...]]></description><category></category></item><item><title><![CDATA[http协议]]></title><link>https://blog.youkuaiyun.com/dmm1888/article/details/101576153</link><guid>https://blog.youkuaiyun.com/dmm1888/article/details/101576153</guid><author>dmm1888</author><pubDate>Mon, 08 Jul 2019 14:02:00 +0800</pubDate><description><![CDATA[http访问的几个步骤
HTTP通信机制是在一次完整的HTTP通信过程中，Web浏览器与Web服务器之间将完成下列7个步骤：
1. 建立TCP连接
在HTTP工作开始之前，Web浏览器首先要通过网络与Web服务器建立连接，该连接是通过TCP来完成的，该协议与IP协议共同构建Internet，即著名的TCP/IP协议族，因此Internet又被称作是TCP/IP网络。HTTP是比T...]]></description><category></category></item><item><title><![CDATA[java缓存]]></title><link>https://blog.youkuaiyun.com/dmm1888/article/details/101576148</link><guid>https://blog.youkuaiyun.com/dmm1888/article/details/101576148</guid><author>dmm1888</author><pubDate>Mon, 08 Jul 2019 13:58:00 +0800</pubDate><description><![CDATA[一、什么是缓存
1、Cache是高速缓冲存储器 一种特殊的存储器子系统，其中复制了频繁使用的数据以利于快速访问
2、凡是位于速度相差较大的两种硬件/软件之间的，用于协调两者数据传输速度差异的结构，均可称之为 Cache
二、缓存的分类
1、基于web应用的系统架构图
​​
2、在系统架构的不同层级之间，为了加快访问速度，都可以存在缓存

操作系统磁盘缓存-&gt;减少磁盘...]]></description><category></category></item><item><title><![CDATA[mongoDB]]></title><link>https://blog.youkuaiyun.com/dmm1888/article/details/101576151</link><guid>https://blog.youkuaiyun.com/dmm1888/article/details/101576151</guid><author>dmm1888</author><pubDate>Mon, 08 Jul 2019 13:53:00 +0800</pubDate><description><![CDATA[mongoDB 概念
https://blog.youkuaiyun.com/qq_38234594/article/details/78645827
window版下载
https://blog.youkuaiyun.com/dorma_bin/article/details/80851230
idea 下载mongodb插件
https://blog.youkuaiyun.com/weixin_4170338...]]></description><category></category></item><item><title><![CDATA[RabbitMQ消息队列]]></title><link>https://blog.youkuaiyun.com/dmm1888/article/details/101576149</link><guid>https://blog.youkuaiyun.com/dmm1888/article/details/101576149</guid><author>dmm1888</author><pubDate>Mon, 08 Jul 2019 13:47:00 +0800</pubDate><description><![CDATA[RabbitMQ消息队列
消息队列:“消息队列”是在消息的传输过程中保存消息的容器。
消息队列使用场景及介绍：消息队列中间件是分布式系统中重要的组件，主要解决应用耦合，异步消息，流量削锋等问题
实现高性能，高可用，可伸缩和最终一致性架构
使用较多的消息队列有ActiveMQ，RabbitMQ，ZeroMQ，Kafka，MetaMQ，RocketMQ
消息队列的应用场景：异步处理...]]></description><category></category></item><item><title><![CDATA[集群概念]]></title><link>https://blog.youkuaiyun.com/dmm1888/article/details/101576147</link><guid>https://blog.youkuaiyun.com/dmm1888/article/details/101576147</guid><author>dmm1888</author><pubDate>Mon, 08 Jul 2019 13:43:00 +0800</pubDate><description><![CDATA[集群式：
集群概念
1. 两大关键特性
集群是一组协同工作的服务实体，用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来，一个集群就象是一个服务实体，但事实上集群由一组服务实体组成。与单一服务实体相比较，集群提供了以下两个关键特性：

· 可扩展性－－集群的性能不限于单一的服务实体，新的服务实体可以动态地加入到集群，从而增强集群的性能。

· 高可用性...]]></description><category></category></item></channel></rss>