<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ClareQi的博客]]></title><description><![CDATA[学习心得总结]]></description><link>https://blog.youkuaiyun.com/ClareQi</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ClareQi]]></copyright><item><title><![CDATA[Java lambda表达式的常见用法]]></title><link>https://blog.youkuaiyun.com/ClareQi/article/details/101061587</link><guid>https://blog.youkuaiyun.com/ClareQi/article/details/101061587</guid><author>ClareQi</author><pubDate>Fri, 20 Sep 2019 15:23:22 +0800</pubDate><description><![CDATA[public class Java8Test {
    public static class Staff {
        private String name;
        private int age;
        private BigDecimal salary;

        public Staff(String name, BigDecimal salary,...]]></description><category></category></item><item><title><![CDATA[Maven本地仓库位置设置和实际读取不正确问题]]></title><link>https://blog.youkuaiyun.com/ClareQi/article/details/101030130</link><guid>https://blog.youkuaiyun.com/ClareQi/article/details/101030130</guid><author>ClareQi</author><pubDate>Thu, 19 Sep 2019 17:47:00 +0800</pubDate><description><![CDATA[今天发现自己的项目的maven本地仓库不是默认的位置，默认位置一般是：C:\Users\用户名\.m2\repository

然后我在idea中 尝试变更 本地仓库位置：

变更之后，发现读取的位置没有发现变化，不是自己这里设置的位置。后来发现，在 maven的settimgs.xml 文件中，指定了本地仓库的位置，导致在idea中更改并不生效。

这里也要改。
关于 maven 的sett...]]></description><category></category></item><item><title><![CDATA[Java-多文件上传（如果图片超过指定大小自动压缩）]]></title><link>https://blog.youkuaiyun.com/ClareQi/article/details/100576807</link><guid>https://blog.youkuaiyun.com/ClareQi/article/details/100576807</guid><author>ClareQi</author><pubDate>Fri, 06 Sep 2019 13:36:45 +0800</pubDate><description><![CDATA[之前有个需求：文件上传时，如果是图片，超出指定大小，就自动压缩。为了实现这个功能，借用了 google的Thumbnails 工具，效果还是蛮好的。
全部代码如下：


private void uploadFile(List&lt;MultipartFile&gt; files) throws IOException{
        Long imgMaxSize = 1024L * 102...]]></description><category></category></item><item><title><![CDATA[Java-文档文件下载（保持目录结构的zip包下载）]]></title><link>https://blog.youkuaiyun.com/ClareQi/article/details/100574439</link><guid>https://blog.youkuaiyun.com/ClareQi/article/details/100574439</guid><author>ClareQi</author><pubDate>Fri, 06 Sep 2019 11:18:20 +0800</pubDate><description><![CDATA[最近项目中遇到关于客户档案管理的需求，其中的下载需求如下：
1. 单个文件直接下载，多个文件下载自动打zip包。
2. 下载的zip包中保留指定的目录结构（目录结构自定义）
后端代码分享如下：


1. controller层：


    @PostMapping("/download")
    public void downLoadFile(DownloadParams download...]]></description><category></category></item><item><title><![CDATA[Spring注入之自动装配、作用域]]></title><link>https://blog.youkuaiyun.com/ClareQi/article/details/99678592</link><guid>https://blog.youkuaiyun.com/ClareQi/article/details/99678592</guid><author>ClareQi</author><pubDate>Mon, 19 Aug 2019 14:14:07 +0800</pubDate><description><![CDATA[1.自动装配

在XML配置文件中，可以通过Bean标签的property来指定，Spring容器中 Bean之间的依赖关系，如下：



&lt;bean id="targetImplA" class="com.TargetImplA"&gt;&lt;/bean&gt;
&lt;bean id="sourceA" class="com.cn.SourceA"&gt;
     &lt;prop...]]></description><category></category></item><item><title><![CDATA[Spring通过配置文件来实例化类的对象原理（一）]]></title><link>https://blog.youkuaiyun.com/ClareQi/article/details/98942223</link><guid>https://blog.youkuaiyun.com/ClareQi/article/details/98942223</guid><author>ClareQi</author><pubDate>Fri, 09 Aug 2019 16:15:05 +0800</pubDate><description><![CDATA[上一篇博文中将了 Spring配置文件，本文主要讲述 Spring如何通过配置文件来实例化类的对象的。这其中的原理还是比较复杂的，需要的知识涉及到Java的类加载机制 和 Java反射的知识。

所以本文主要讲 Java的类加载机制 和 反射机制。

Java类加载机制：

我们编写的程序是.java的后缀文件，首先要通过编译器 编译成 .class的二进制文件。

Java类加载的说的就是读取...]]></description><category></category></item><item><title><![CDATA[Spring核心之一：Spring的配置文件是干什么的]]></title><link>https://blog.youkuaiyun.com/ClareQi/article/details/98879080</link><guid>https://blog.youkuaiyun.com/ClareQi/article/details/98879080</guid><author>ClareQi</author><pubDate>Fri, 09 Aug 2019 09:44:30 +0800</pubDate><description><![CDATA[前面两篇文章讲解了 IOC、DI的概念，以及我们为什么需要他们。这篇文章将继续讲述，SpringIOC容器的定义形式——xml配置文件，将弄清楚两个疑问：
1. Spring xml配置文件的作用。（与IOC思想一脉相承的）
2. 如果定义Bean以及Bean之间的依赖关系。（只说明最简单的方式，关于这个的更详细的用法，后续会再写文章讲述）

当你的程序整合一些工具的时候，比如数据库、Redis、...]]></description><category></category></item><item><title><![CDATA[Spring核心之一：Spring对IOC的实现方式]]></title><link>https://blog.youkuaiyun.com/ClareQi/article/details/98876496</link><guid>https://blog.youkuaiyun.com/ClareQi/article/details/98876496</guid><author>ClareQi</author><pubDate>Thu, 08 Aug 2019 17:29:52 +0800</pubDate><description><![CDATA[前一篇博文将了 IOC 的思想，Spring的一大特性就是对IOC的实现方式和运用，本文主要讲这个。

Spring对IOC的实现思路 和我上一篇的思路基本类似，也是实现IOC的 主流方式，名叫 依赖注入（DI）。网上有很多类似博文去讲 DI、IOC，很容易把人绕晕。不知道这两者有何区别。

IOC: 控制反转的思想，是一种想法和原则，即 希望把 依赖接口的实现类的指向工作的控制权，不要放在调用类...]]></description><category></category></item><item><title><![CDATA[Spring核心之一：IOC]]></title><link>https://blog.youkuaiyun.com/ClareQi/article/details/98850386</link><guid>https://blog.youkuaiyun.com/ClareQi/article/details/98850386</guid><author>ClareQi</author><pubDate>Thu, 08 Aug 2019 15:15:38 +0800</pubDate><description><![CDATA[IOC(Inversion of Control)其实是一种思想，这种思想并不是Spring独有的，而是在软件开发中，大家提出的一种开发原则，类似面向接口编程原则、开闭原则等。

  网上有很多类似的文章尝试去通俗易懂地解释IOC思想，这里我根据自己的理解尝试去解释一下这个概念，看下面这个类：


public class Car {
    private Wheel wheel;
...]]></description><category></category></item><item><title><![CDATA[深度学习入门——神经元]]></title><link>https://blog.youkuaiyun.com/ClareQi/article/details/79816300</link><guid>https://blog.youkuaiyun.com/ClareQi/article/details/79816300</guid><author>ClareQi</author><pubDate>Wed, 04 Apr 2018 14:06:37 +0800</pubDate><description><![CDATA[1. 深度学习的本质是要理解什么是神经网络和神经元。神经元：其实是一个数学模型：神经元在我看来其实是 一个  输入值 + 计算方式 + 输出值 。这样一个数学表达式。一系列的神经元  连接在一起就组成了神经网络。下图是一个典型的神经元模型：包含有3个输入，1个输出，以及2个计算功能。注意： 深度学习中 所说的 连接  其实都是 一个 数学意义上的权值。   假设 输入1=a1，输入2=a2，输入3...]]></description><category></category></item><item><title><![CDATA[session机制描述]]></title><link>https://blog.youkuaiyun.com/ClareQi/article/details/78506634</link><guid>https://blog.youkuaiyun.com/ClareQi/article/details/78506634</guid><author>ClareQi</author><pubDate>Sat, 11 Nov 2017 15:24:18 +0800</pubDate><description><![CDATA[因为http协议本身是无状态的，即http只是帮助我们把一个客户端请求，传送给服务端。仅仅用来传送请求，用来通信。
在实际中，我们编写Web程序时，往往都需要根据请求，来判断这个请求来自于哪个客户端，但是http只是负责通信，不会告诉服务器，这个请求是哪个客户端发来的。
这时候，利用session机制可以很好的帮助服务器归类请求，让服务器知道哪个请求属于哪个客户端发来的。
所以，sessio]]></description><category></category></item><item><title><![CDATA[处理高并发、大数据存储的网站技术架构]]></title><link>https://blog.youkuaiyun.com/ClareQi/article/details/78276974</link><guid>https://blog.youkuaiyun.com/ClareQi/article/details/78276974</guid><author>ClareQi</author><pubDate>Wed, 18 Oct 2017 19:57:51 +0800</pubDate><description><![CDATA[本文转载自： https://zhuanlan.zhihu.com/p/24669514]]></description><category></category></item><item><title><![CDATA[apt-get 安装软件时，出现错误的解决方法]]></title><link>https://blog.youkuaiyun.com/ClareQi/article/details/78217681</link><guid>https://blog.youkuaiyun.com/ClareQi/article/details/78217681</guid><author>ClareQi</author><pubDate>Thu, 12 Oct 2017 17:39:14 +0800</pubDate><description><![CDATA[1.$ sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old //现将info文件夹更名
2.$ sudo mkdir /var/lib/dpkg/info //再新建一个新的info文件夹
3.$ sudo apt-get update, apt-get -f install
4.$ sudo mv /var/lib/dpkg/info/* /]]></description><category></category></item><item><title><![CDATA[2.1引用操纵对象]]></title><link>https://blog.youkuaiyun.com/ClareQi/article/details/78196092</link><guid>https://blog.youkuaiyun.com/ClareQi/article/details/78196092</guid><author>ClareQi</author><pubDate>Tue, 10 Oct 2017 19:00:28 +0800</pubDate><description><![CDATA[1.String s;   //创建的是一个String的引用。
2.Java运行时的存储结构：
以下是摘自博文：http://www.cnblogs.com/liujunming/p/4391401.html，这里照搬过来。

1.寄存器：最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 
2. 栈：存放基本类型的变量数据和对象的引用，但对象本身不存放在栈中，而是存放在]]></description><category></category></item><item><title><![CDATA[DOM和BOM的差异。]]></title><link>https://blog.youkuaiyun.com/ClareQi/article/details/54845452</link><guid>https://blog.youkuaiyun.com/ClareQi/article/details/54845452</guid><author>ClareQi</author><pubDate>Fri, 03 Feb 2017 10:43:29 +0800</pubDate><description><![CDATA[http://www.58maisui.com/2016/09/21/597/]]></description><category></category></item><item><title><![CDATA[单链表的java语言完整实现含添加删除节点]]></title><link>https://blog.youkuaiyun.com/ClareQi/article/details/53582981</link><guid>https://blog.youkuaiyun.com/ClareQi/article/details/53582981</guid><author>ClareQi</author><pubDate>Mon, 12 Dec 2016 15:08:41 +0800</pubDate><description><![CDATA[单链表是线性表的一种表示，一个单链表是一个个节点组成，节点是由数据域和链域两部分组成的，数据域就是这个节点要存储的数据，链域指示的是这个节点的下一个节点。java实现如下：
首先是节点类：PersonChainNode.java
//单链表节点实体
public class PersonChainNode {
	private Person person;//节点的属性，即节点的数据域部分
	]]></description><category></category></item><item><title><![CDATA[java学习笔记--数组和向量、String和StringBuffer]]></title><link>https://blog.youkuaiyun.com/ClareQi/article/details/53282391</link><guid>https://blog.youkuaiyun.com/ClareQi/article/details/53282391</guid><author>ClareQi</author><pubDate>Tue, 22 Nov 2016 09:45:22 +0800</pubDate><description><![CDATA[在java中，定义一个数组，是必须要指定数组的长度的，如：int  arr[] = new int[5];//创建一个长度为5的数组。
但是在实际编程中，有时候我们想要用数组存储一些数据，而这些数据的长度是不确定的，这时候该怎么办呢？可以选择使用vector(向量)
向量可以看成是一种长度可变的数组。
定义一个向量：
Vector v = new Vector();
平时使用中，我们主要]]></description><category></category></item><item><title><![CDATA[java的JVM(java虚拟机)学习笔记]]></title><link>https://blog.youkuaiyun.com/ClareQi/article/details/53156171</link><guid>https://blog.youkuaiyun.com/ClareQi/article/details/53156171</guid><author>ClareQi</author><pubDate>Mon, 14 Nov 2016 10:03:25 +0800</pubDate><description><![CDATA[JVM是运行所有java程序的抽象计算机。
在实际的计算机中，是通过软件模拟来实现JVM的，我们通常要开发java程序，需要安装jdk和jre，jre（java运行环境）就是包含了JVM的标准实现。
因为所有的java程序都是运行在JVM上的，所以常说java是一门夸平台的语言的一个原因。
1.JVM执行java程序分为三个步骤：
  1)加载.class文件（我们编写的.java文件代码]]></description><category></category></item><item><title><![CDATA[java多线程编程基础讲解]]></title><link>https://blog.youkuaiyun.com/ClareQi/article/details/53032969</link><guid>https://blog.youkuaiyun.com/ClareQi/article/details/53032969</guid><author>ClareQi</author><pubDate>Fri, 04 Nov 2016 11:14:54 +0800</pubDate><description><![CDATA[讲解java多线程的问题之前，我们需要了解两个概念：
1.进程：可以先简单理解为，就是我们开发的完成某种部分功能的程序代码在CPU中跑起来之后的样子。所以进程应该是操作系统分配的内存空间+1个或多个线程组成的。
2.线程：可以理解为组成进程的一些代码流，这些代码流跑起来就叫线程。线程不能单独存在，它必须依托线程。
举个例子：
public class ArrayListTest {
	pu]]></description><category></category></item><item><title><![CDATA[详细讲解Spring的控制反转思想]]></title><link>https://blog.youkuaiyun.com/ClareQi/article/details/52947141</link><guid>https://blog.youkuaiyun.com/ClareQi/article/details/52947141</guid><author>ClareQi</author><pubDate>Thu, 27 Oct 2016 16:35:00 +0800</pubDate><description><![CDATA[首先上一段传统的编程代码：
//定义一个ReportGenerator接口，规范了一个generate方法
public interface ReportGenerator {
	public void generate(String tableName);

}

//定义了一个ExcelGenerator类，实现了ReportGenerator接口
public class ExcelGen]]></description><category></category></item></channel></rss>