<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xisuo002的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xisuo002</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xisuo002]]></copyright><item><title><![CDATA[spring boot 中热编译的常用方式]]></title><link>https://blog.youkuaiyun.com/xisuo002/article/details/102806517</link><guid>https://blog.youkuaiyun.com/xisuo002/article/details/102806517</guid><author>xisuo002</author><pubDate>Tue, 29 Oct 2019 19:05:01 +0800</pubDate><description><![CDATA[平时开发Sprig Boot的时候，经常改动个小小的地方就要重新启动项目，这无疑是一种很差的体验。在此，博主收集了3种热部署的方案供大家选择。

正文

目前博主用过的有三种：

Spring Loaded
	spring-boot-devtools
	JRebel插件
博主开发环境

系统：win10
	开发工具：IDE:IntelliJ IDEA 2017.1
	spring-boot版本：1...]]></description><category></category></item><item><title><![CDATA[java8 optional]]></title><link>https://blog.youkuaiyun.com/xisuo002/article/details/97257537</link><guid>https://blog.youkuaiyun.com/xisuo002/article/details/97257537</guid><author>xisuo002</author><pubDate>Thu, 25 Jul 2019 13:31:29 +0800</pubDate><description><![CDATA[从 Java 8 引入的一个很有趣的特性是Optional 类。Optional 类主要解决的问题是臭名昭著的空指针异常（NullPointerException） —— 每个 Java 程序员都非常了解的异常。

本质上，这是一个包含有可选值的包装类，这意味着 Optional 类既可以含有对象也可以为空。

Optional 是 Java 实现函数式编程的强劲一步，并且帮助在范式中实现。但...]]></description><category></category></item><item><title><![CDATA[java8中Stream的学习]]></title><link>https://blog.youkuaiyun.com/xisuo002/article/details/96483990</link><guid>https://blog.youkuaiyun.com/xisuo002/article/details/96483990</guid><author>xisuo002</author><pubDate>Fri, 19 Jul 2019 16:47:46 +0800</pubDate><description><![CDATA[直接上代码


public class TestStream {
    public static void main(String[] args) {
        TestStream test = new TestStream();
        //test.test0();
        //test.test1();
        //test.test2();
     ...]]></description><category></category></item><item><title><![CDATA[java中参数校验]]></title><link>https://blog.youkuaiyun.com/xisuo002/article/details/96438177</link><guid>https://blog.youkuaiyun.com/xisuo002/article/details/96438177</guid><author>xisuo002</author><pubDate>Thu, 18 Jul 2019 17:28:32 +0800</pubDate><description><![CDATA[1.常见的验证的方式

前端的校验是必须的，这个很简单，因为客户体验。后台的校验更是必须的，关键在于如何与目前我们的分层思想（控制层、业务层、持久层）综合起来考虑。在每层都要进行校验吗？还是只在是某个特定层做就可以了？是否有好的校验框架（如前端的jquery校验框架、springmvc校验框架）？总之校验框架还是有很多的，原理不就是对后端接收的数据进行特定规则的判断，那我们怎么制定规则，有怎么去检...]]></description><category></category></item><item><title><![CDATA[idea 创建web项目]]></title><link>https://blog.youkuaiyun.com/xisuo002/article/details/85335998</link><guid>https://blog.youkuaiyun.com/xisuo002/article/details/85335998</guid><author>xisuo002</author><pubDate>Sat, 29 Dec 2018 11:10:51 +0800</pubDate><description><![CDATA[
说明:
IntelliJ IDEA 版本为17.
JDK 版本为1.8
tomcat 版本为apache-tomcat-8.5.29


注：在创建过程中注意相关软件版本位数的问题。32位，64位的软件混搭会导致访问不成功的问题！！！



首先要理解一个基本问题：对比eclipse ,在IntelliJ IDEA中“new Project”相当于eclipse中的工作空间（Workspace）...]]></description><category></category></item><item><title><![CDATA[java并发编程之Executor框架]]></title><link>https://blog.youkuaiyun.com/xisuo002/article/details/81118586</link><guid>https://blog.youkuaiyun.com/xisuo002/article/details/81118586</guid><author>xisuo002</author><pubDate>Thu, 19 Jul 2018 16:50:35 +0800</pubDate><description><![CDATA[Eexecutor作为灵活且强大的异步执行框架，其支持多种不同类型的任务执行策略，提供了一种标准的方法将任务的提交过程和执行过程解耦开发，基于生产者-消费者模式，其提交任务的线程相当于生产者，执行任务的线程相当于消费者，并用Runnable来表示任务，Executor的实现还提供了对生命周期的支持，以及统计信息收集，应用程序管理机制和性能监视等机制。

 

1.Exexctor简介

Execu...]]></description><category></category></item><item><title><![CDATA[从输入url到页面展示的过程]]></title><link>https://blog.youkuaiyun.com/xisuo002/article/details/79162728</link><guid>https://blog.youkuaiyun.com/xisuo002/article/details/79162728</guid><author>xisuo002</author><pubDate>Thu, 25 Jan 2018 15:41:54 +0800</pubDate><description><![CDATA[原文地址：http://www.cnblogs.com/xianyulaodi/p/6547807.html


     刚开始写这篇文章还是挺纠结的，因为网上搜索“从输入url到页面展示到底发生了什么”，你可以搜到一大堆的资料。而且面试这道题基本是必考题，二月份面试的时候，虽然知道这个过程发生了什么，不过当面试官一步步追问下去的，很多细节就不太清楚了。

　　最近刚好也在看http协]]></description><category></category></item><item><title><![CDATA[http请求从浏览器到服务器过程]]></title><link>https://blog.youkuaiyun.com/xisuo002/article/details/79161609</link><guid>https://blog.youkuaiyun.com/xisuo002/article/details/79161609</guid><author>xisuo002</author><pubDate>Thu, 25 Jan 2018 14:37:07 +0800</pubDate><description><![CDATA[前些天刚看完《How Tomcat Works》，虽然书比较老，但是看完后收获还是挺多的，懂得了tomcat的内部结构和一个请求进出tomcat的全过程。前些天看的为什么现在提呢，因为做到了面试题呀，发现自己原本很清晰的思路突然模糊了，所以花点时间总结一下。

题目是说一说在浏览器中输入一个url后，直到浏览器显示页面的过程中发生了什么？ 
如果我说的话，会分四步： 
1.通过访问的域名找]]></description><category></category></item><item><title><![CDATA[ngrok反向代理使用]]></title><link>https://blog.youkuaiyun.com/xisuo002/article/details/79139121</link><guid>https://blog.youkuaiyun.com/xisuo002/article/details/79139121</guid><author>xisuo002</author><pubDate>Tue, 23 Jan 2018 14:50:17 +0800</pubDate><description><![CDATA[近期由于需要对自己写的一些代码进行调试，因为是前后端分开开发的，前段调试的时候需要访问部分资源，但是由于处于开发阶段没有真正上传到服务器，但是又要进行调试，很矛盾，就在网上看到ngrok反向代理，让外网也能访问本机的资源来进行调试。
1.下载ngrok
 ngrok下载地址：http://ngrok.ciqiuwl.cn/
可以在网上根据自己需要的版本进行下载，linux或者windows的]]></description><category></category></item><item><title><![CDATA[MySQL索引]]></title><link>https://blog.youkuaiyun.com/xisuo002/article/details/79108791</link><guid>https://blog.youkuaiyun.com/xisuo002/article/details/79108791</guid><author>xisuo002</author><pubDate>Fri, 19 Jan 2018 17:05:02 +0800</pubDate><description><![CDATA[在MySQL中进行SQL优化的时候，经常会在一些情况下，对MySQL能否利用索引有一些迷惑。譬如：1、MySQL 在遇到范围查询条件的时候就停止匹配了，那么到底是哪些范围条件？2、MySQL 在LIKE进行模糊匹配的时候又是如何利用索引的呢？3、MySQL 到底在怎么样的情况下能够利用索引进行排序？今天，我将会用一个模型，把这些问题都一一解答，让你对MySQL索引的使用不再畏惧二、知识补充key_]]></description><category></category></item><item><title><![CDATA[Java过滤器与SpringMVC拦截器之间的关系与区别]]></title><link>https://blog.youkuaiyun.com/xisuo002/article/details/79107778</link><guid>https://blog.youkuaiyun.com/xisuo002/article/details/79107778</guid><author>xisuo002</author><pubDate>Fri, 19 Jan 2018 15:58:30 +0800</pubDate><description><![CDATA[过滤器和拦截器的区别：　　①拦截器是基于java的反射机制的，而过滤器是基于函数回调。　　②拦截器不依赖与servlet容器，过滤器依赖与servlet容器。　　③拦截器只能对action请求起作用，而过滤器则可以对几乎所有的请求起作用。　　④拦截器可以访问action上下文、值栈里的对象，而过滤器不能访问。　　⑤在action的生命周期中，拦截器可以多次被调用，而过滤器只能在容器初始化时被调用一]]></description><category></category></item><item><title><![CDATA[优化MySQL数据库性能的一些基本技巧]]></title><link>https://blog.youkuaiyun.com/xisuo002/article/details/79105137</link><guid>https://blog.youkuaiyun.com/xisuo002/article/details/79105137</guid><author>xisuo002</author><pubDate>Fri, 19 Jan 2018 11:46:24 +0800</pubDate><description><![CDATA[优化技巧 #1：学习如何使用 EXPLAIN使用任何数据库所做的两个最重要的决定是设计应用程序实体之间的关系如何映射到表(数据库模式)，以及设计应用程序如何以所需的格式获得所需的数据(查询)。复杂的应用程序可以有复杂的模式和查询。如果想得到应用程序所需要的性能和扩展性，不能仅仅依靠直觉来理解如何执行查询。应该学习如何使用EXPLAIN命令，而不是随意的猜测和想象。此命令展示了如何执行查询，并让您了]]></description><category></category></item><item><title><![CDATA[pdf 内容设置详解]]></title><link>https://blog.youkuaiyun.com/xisuo002/article/details/79032254</link><guid>https://blog.youkuaiyun.com/xisuo002/article/details/79032254</guid><author>xisuo002</author><pubDate>Thu, 11 Jan 2018 11:31:58 +0800</pubDate><description><![CDATA[import java.awt.Color;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import com.lowagie.text.Cell;
import com.lowagie.text.Chapter;
import com.lowagie.text.Document]]></description><category></category></item><item><title><![CDATA[多张图片合成PDF]]></title><link>https://blog.youkuaiyun.com/xisuo002/article/details/79017841</link><guid>https://blog.youkuaiyun.com/xisuo002/article/details/79017841</guid><author>xisuo002</author><pubDate>Tue, 09 Jan 2018 21:45:58 +0800</pubDate><description><![CDATA[一: 把图片路径存到一个list .
 List list = new List();
        list.Add("d:\\6.png"); 
        list.Add("d:\\8.png"); 
        list.Add("d:\\7.png"); 
        list.Add("d:\\1.png"); 
        string dateTim]]></description><category></category></item><item><title><![CDATA[Java中操作pdf模板生成pdf]]></title><link>https://blog.youkuaiyun.com/xisuo002/article/details/79017708</link><guid>https://blog.youkuaiyun.com/xisuo002/article/details/79017708</guid><author>xisuo002</author><pubDate>Tue, 09 Jan 2018 21:34:28 +0800</pubDate><description><![CDATA[【java】
 iText使用PDF模板生成输出PDF

项目需求涉及到操作pdf模板，根据生成好的模板向里面填充数据  
用到的jar包是iText-5.0.6.jar 和iTextAsian.jar
pdf模板效果如下：






import java.io.ByteArrayOutputStream;  


import java.io.FileOutpu]]></description><category></category></item><item><title><![CDATA[java实现img与pdf相互转换]]></title><link>https://blog.youkuaiyun.com/xisuo002/article/details/79017648</link><guid>https://blog.youkuaiyun.com/xisuo002/article/details/79017648</guid><author>xisuo002</author><pubDate>Tue, 09 Jan 2018 21:26:59 +0800</pubDate><description><![CDATA[import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream;import java.io.File;  
import java.io.FileInputStream;  
import java.io.FileOutputStream; import java.io.InputStream;  
imp]]></description><category></category></item><item><title><![CDATA[JAVA 将图片转换成pdf文件]]></title><link>https://blog.youkuaiyun.com/xisuo002/article/details/79017474</link><guid>https://blog.youkuaiyun.com/xisuo002/article/details/79017474</guid><author>xisuo002</author><pubDate>Tue, 09 Jan 2018 21:09:30 +0800</pubDate><description><![CDATA[/**
* 将图片转换成pdf文件
*imgFilePath 需要被转换的img所存放的位置。 例如imgFilePath="D:\\projectPath\\55555.jpg";
*pdfFilePath 转换后的pdf所存放的位置 例如pdfFilePath="D:\\projectPath\\test.pdf";
* @param image
* @return
* @thro]]></description><category></category></item><item><title><![CDATA[java poi 通过excel模板导出并且生成多个sheet]]></title><link>https://blog.youkuaiyun.com/xisuo002/article/details/78898911</link><guid>https://blog.youkuaiyun.com/xisuo002/article/details/78898911</guid><author>xisuo002</author><pubDate>Tue, 26 Dec 2017 09:38:11 +0800</pubDate><description><![CDATA[下面写一下，关于通过excel模板生成之后，生成多个sheet;

代码如下：（只写关键代码）

FileOutputStream fileOut = new FileOutputStream("D:\\excel.xls");
HSSFWorkbook workbook = null;
InputStream fis = new FileInputStream(filePath);]]></description><category></category></item><item><title><![CDATA[自定义MyBatis Generator Plugin]]></title><link>https://blog.youkuaiyun.com/xisuo002/article/details/78815048</link><guid>https://blog.youkuaiyun.com/xisuo002/article/details/78815048</guid><author>xisuo002</author><pubDate>Fri, 15 Dec 2017 17:14:18 +0800</pubDate><description><![CDATA[现在可以自定来定义一个MyBatis Generator Plugin了，我们从什么功能下手呢？在我们平时基于MySQL的数据库对应的mapper.xml映射文件中，在insert元素上，我们往往会定义
keyColumn="id" keyProperty="id" useGeneratedKeys="true"
这三个参数，在MBG中，这是可以配置的，就是在每一个table元素中使用
来生成。但]]></description><category></category></item><item><title><![CDATA[spring boot：使用fastJson解析json数据]]></title><link>https://blog.youkuaiyun.com/xisuo002/article/details/78814152</link><guid>https://blog.youkuaiyun.com/xisuo002/article/details/78814152</guid><author>xisuo002</author><pubDate>Fri, 15 Dec 2017 16:09:33 +0800</pubDate><description><![CDATA[如果我们想在spring boot中使用第三方的json解析框架：
1）我们需要在pom.xml文件中引入第三方包的依赖;
2）实现方法：
方法1 需要在启动类中继承WebMvcConfigurerAdapter 类，并重写该类的configureMessageConverters方法。
方法2. 我们直接使用@Bean注入第三方的 解析框架。
 
1、引入fastJson的依赖库
]]></description><category></category></item></channel></rss>