<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Hollake的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/Hollake</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; Hollake]]></copyright><item><title><![CDATA[java web上传下载文件模块]]></title><link>https://blog.csdn.net/Hollake/article/details/111715498</link><guid>https://blog.csdn.net/Hollake/article/details/111715498</guid><author>Hollake</author><pubDate>Sat, 26 Dec 2020 10:29:25 +0800</pubDate><description><![CDATA[基于java web的文件上传下载工具

初步构想是实现从页面选择上传路径，若不选择，则上传到默认路径，选择上传的文件，点击上传，上传成功。

下载同理，若失败，跳转到提示失败的页面。

本项目解决了中文乱码问题

完整项目链接：https://github.com/Hollake/summit_file

建议直接下载项目进行实操，注意需要自己更换默认路径等，不更换必须填写路径

上传界面示意图



下载界面示意图



文件上传代码

其思想为从页面获取表单数据，获得文件等相应信息，进行读取上传。

]]></description><category></category></item><item><title><![CDATA[IDEA Spring小Demo快速启动配置文件]]></title><link>https://blog.csdn.net/Hollake/article/details/107507483</link><guid>https://blog.csdn.net/Hollake/article/details/107507483</guid><author>Hollake</author><pubDate>Wed, 22 Jul 2020 12:24:29 +0800</pubDate><description><![CDATA[创建项目

File--&gt;new--&gt;Project



接着选择Spring，点击Next



接着创建工程，进行命名



整个文件结构如下图



在根目录src下创建spring的xml文件，内容如下，灰色部分可以直接删除


&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http:/..]]></description><category></category></item><item><title><![CDATA[并发和并行区别]]></title><link>https://blog.csdn.net/Hollake/article/details/103537168</link><guid>https://blog.csdn.net/Hollake/article/details/103537168</guid><author>Hollake</author><pubDate>Sat, 14 Dec 2019 11:18:01 +0800</pubDate><description><![CDATA[并发：一段时间内多个程序可以运行，一个CPU即可

并行：一个时间点内多个程序可以运行，得多个CPU

并发只要满足某个时间段多个程序一起运行即可，通过CPU的调度，看起来好像多个程序一起运行。

并行，指的的是某一瞬间，多个程序一起运行，单个CPU不能满足条件。
...]]></description><category></category></item><item><title><![CDATA[解决pip安装时速度慢的问题]]></title><link>https://blog.csdn.net/Hollake/article/details/103413366</link><guid>https://blog.csdn.net/Hollake/article/details/103413366</guid><author>Hollake</author><pubDate>Thu, 05 Dec 2019 22:04:43 +0800</pubDate><description><![CDATA[临时使用：

可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple
例如：pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspider，这样就会从清华这边的镜像去安装pyspider库。
...]]></description><category></category></item><item><title><![CDATA[有关LSTM的相关介绍]]></title><link>https://blog.csdn.net/Hollake/article/details/102716778</link><guid>https://blog.csdn.net/Hollake/article/details/102716778</guid><author>Hollake</author><pubDate>Thu, 24 Oct 2019 09:58:47 +0800</pubDate><description><![CDATA[https://mp.weixin.qq.com/s/aV9Rj-CnJZRXRm0rDOK6gg

https://www.zhihu.com/question/41949741?sort=created
]]></description><category></category></item><item><title><![CDATA[面试常见代码题目]]></title><link>https://blog.csdn.net/Hollake/article/details/100642464</link><guid>https://blog.csdn.net/Hollake/article/details/100642464</guid><author>Hollake</author><pubDate>Tue, 08 Oct 2019 10:08:41 +0800</pubDate><description><![CDATA[目录

最长公共子序列

最长公共子串

最长上升子序列

最长连续上升子序列

最长公共前缀

最大子序列和

无重复字符的最长子串

大数相加

大数相乘

链表大数相加

两数之和

删除有序链表中的重复元素(只保留一个重复元素)

数组去重

一个数组奇偶分开，偶数在前奇数在后(不要求相对有序)

一个数组奇偶分开，偶数在前奇数在后(要求变换前后相对有序)

数组中除了两个数都只出现一次，...]]></description><category></category></item><item><title><![CDATA[CentOS下安装并使用nDPI]]></title><link>https://blog.csdn.net/Hollake/article/details/101309964</link><guid>https://blog.csdn.net/Hollake/article/details/101309964</guid><author>Hollake</author><pubDate>Tue, 24 Sep 2019 20:32:23 +0800</pubDate><description><![CDATA[参考https://www.cnblogs.com/vancasola/p/9817283.html

nDPI的环境依赖项安装

GNU autotools/libtool

$ yum install autotools
$ yum install libtool

gawk

$ yum install gawk

gcc

$ yum install gcc

一些依赖集

$ yum i...]]></description><category></category></item><item><title><![CDATA[Mysql主从同步(1) - 概念和原理介绍 以及 主从/主主模式 部署记录]]></title><link>https://blog.csdn.net/Hollake/article/details/100601982</link><guid>https://blog.csdn.net/Hollake/article/details/100601982</guid><author>Hollake</author><pubDate>Sat, 07 Sep 2019 17:02:26 +0800</pubDate><description><![CDATA[Mysql复制概念
Mysql内建的复制功能是构建大型高性能应用程序的基础, 将Mysql数据分布到多个系统上，这种分布机制是通过将Mysql某一台主机数据复制到其它主机（slaves）上，并重新执行一遍来实现的。复制过程中一个服务器充当主服务器，而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件，并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从...]]></description><category></category></item><item><title><![CDATA[二叉树相关题目(不定时更新中)]]></title><link>https://blog.csdn.net/Hollake/article/details/98612140</link><guid>https://blog.csdn.net/Hollake/article/details/98612140</guid><author>Hollake</author><pubDate>Wed, 04 Sep 2019 12:22:31 +0800</pubDate><description><![CDATA[二叉树前序，中序，后序递归非递归

二叉树的前序遍历、中序遍历、后序遍历---java递归非递归实现


    //前序遍历
    public List&lt;Integer&gt; preorderTraversal(TreeNode root) {
        List&lt;Integer&gt; list = new ArrayList&lt;&gt;();
        St...]]></description><category></category></item><item><title><![CDATA[员工薪水排序问题（自己看错题系列）]]></title><link>https://blog.csdn.net/Hollake/article/details/93867987</link><guid>https://blog.csdn.net/Hollake/article/details/93867987</guid><author>Hollake</author><pubDate>Tue, 03 Sep 2019 14:59:57 +0800</pubDate><description><![CDATA[题目描述：

某公司中有N名员工。给定所有员工工资的清单，财务人员要按照特定的顺序排列员工的工资。他按照工资的频次降序排列，即给定清单中所有频次较高的工资将在频次较低的工资之前出现。如果相同数量的员工都有相同的工资，则将按照给定清单中该工资第一次出现的顺序排列。

输入：该函数/方法的输入包括两个参数num(一个整数，表示员工的人数)和salaries(一个正整数列表，表示N名员工的工资)。

输...]]></description><category></category></item><item><title><![CDATA[旋转正方形矩阵]]></title><link>https://blog.csdn.net/Hollake/article/details/100514966</link><guid>https://blog.csdn.net/Hollake/article/details/100514966</guid><author>Hollake</author><pubDate>Tue, 03 Sep 2019 11:51:45 +0800</pubDate><description><![CDATA[旋转正方形矩阵

【题目】 给定一个整型正方形矩阵matrix，请把该矩阵调整成
顺时针旋转90度的样子。
【要求】 额外空间复杂度为O(1)。

详细解释

左神思路



代码


    public void rotate(int[][] matrix) {
        int a = 0;//表示正方形矩阵的起点的行号
        int b = 0;//表示正方形矩阵的起点的列...]]></description><category></category></item><item><title><![CDATA[大数相加，大数相乘]]></title><link>https://blog.csdn.net/Hollake/article/details/100139512</link><guid>https://blog.csdn.net/Hollake/article/details/100139512</guid><author>Hollake</author><pubDate>Thu, 29 Aug 2019 15:52:42 +0800</pubDate><description><![CDATA[大数相加

大数相加的核心思想就是对应位置的数相加后，再加上一次计算结果的进位，得到结果后，结果%10得到当前位置的数，结果/10得到进位，周而复始。


    public static String add(String s1,String s2) {
        StringBuffer res = new StringBuffer();
        s1 = new String...]]></description><category></category></item><item><title><![CDATA[关于同步，异步，阻塞，非阻塞，IOCP/epoll,select/poll,AIO ,NIO ,BIO的总结]]></title><link>https://blog.csdn.net/Hollake/article/details/99582402</link><guid>https://blog.csdn.net/Hollake/article/details/99582402</guid><author>Hollake</author><pubDate>Wed, 14 Aug 2019 16:37:00 +0800</pubDate><description><![CDATA[昨天面试的时候没有答上来同步与异步，阻塞与非阻塞的区别，回来搜了一下，发现这篇文章写的不错，转载学习一下，链接如下：https://blog.csdn.net/chen8238065/article/details/48315085

相关资料
IO基本概念
Linux环境
同步异步阻塞非阻塞
同步与异步
阻塞与非阻塞
IO模型Reference Link
阻塞IO模型
非阻塞IO模型
IO复用模...]]></description><category></category></item><item><title><![CDATA[单源最短路径算法Dijkstra算法Java实现]]></title><link>https://blog.csdn.net/Hollake/article/details/99301914</link><guid>https://blog.csdn.net/Hollake/article/details/99301914</guid><author>Hollake</author><pubDate>Mon, 12 Aug 2019 14:48:53 +0800</pubDate><description><![CDATA[最近在找工作，把自己当时参加比赛用的最短路径算法复习一下，简单实现一下

图如下：



输入和输出数据：

Input：
6 9
1 2 1
1 3 12
2 3 9
2 4 3
3 5 5
4 3 4
4 5 13
4 6 15
5 6 4

Output：
0 1 8 4 13 17

代码：


package arithmetic;

import java.uti...]]></description><category></category></item><item><title><![CDATA[多重背包问题和01背包问题]]></title><link>https://blog.csdn.net/Hollake/article/details/98479028</link><guid>https://blog.csdn.net/Hollake/article/details/98479028</guid><author>Hollake</author><pubDate>Mon, 05 Aug 2019 10:07:59 +0800</pubDate><description><![CDATA[多重背包问题相比01背包，限定了物品件数，求容量一定的情况下，价值最大

多重背包代码


import java.util.Scanner;


public class Main1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (...]]></description><category></category></item><item><title><![CDATA[动态规划之数字三角形---Java]]></title><link>https://blog.csdn.net/Hollake/article/details/96480720</link><guid>https://blog.csdn.net/Hollake/article/details/96480720</guid><author>Hollake</author><pubDate>Fri, 19 Jul 2019 15:48:10 +0800</pubDate><description><![CDATA[题目输入：

输入格式：

         5 //表示三角形的行数 接下来输入三角形

         7

        3 8

      8 1 0

     2 7 4 4

    4 5 2 6 5

在上面的数字三角形中寻找一条...]]></description><category></category></item><item><title><![CDATA[Socket通信case---Java]]></title><link>https://blog.csdn.net/Hollake/article/details/96112284</link><guid>https://blog.csdn.net/Hollake/article/details/96112284</guid><author>Hollake</author><pubDate>Tue, 16 Jul 2019 10:51:31 +0800</pubDate><description><![CDATA[使用Socket实现客户端和服务器端的通信，要求客户端发送数据后能够回显相同的数据。

服务器端：


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocke...]]></description><category></category></item><item><title><![CDATA[Innodb中的事务隔离级别和锁的关系]]></title><link>https://blog.csdn.net/Hollake/article/details/94560064</link><guid>https://blog.csdn.net/Hollake/article/details/94560064</guid><author>Hollake</author><pubDate>Wed, 03 Jul 2019 14:27:34 +0800</pubDate><description><![CDATA[原文链接美团技术团队：https://tech.meituan.com/2014/08/20/innodb-lock.html

前言


我们都知道事务的几种性质，数据库为了维护这些性质，尤其是一致性和隔离性，一般使用加锁这种方式。同时数据库又是个高并发的应用，同一时间会有大量的并发访问，如果加锁过度，会极大的降低并发处理能力。所以对于加锁的处理，可以说就是数据库对于事务处理的精髓所在。这里通过...]]></description><category></category></item><item><title><![CDATA[讲一下Java的虚拟机]]></title><link>https://blog.csdn.net/Hollake/article/details/93639249</link><guid>https://blog.csdn.net/Hollake/article/details/93639249</guid><author>Hollake</author><pubDate>Tue, 25 Jun 2019 18:15:40 +0800</pubDate><description><![CDATA[讲一下Java的虚拟机

   这个问题这样问太大了，今天看到有问这个问题，我在想应该怎么回答，我认为可以先对JVM内存区域进行介绍，讲到堆以后就顺带着讲垃圾回收算法，既然要垃圾回收，那么怎么判断对象已死？，那么接着可以讲一下常见或者自己熟悉的垃圾回收器。我觉得这样应该就差不多了

首先对于JVM的内存区域来说，分为程序计数器，虚拟机栈，本地方法栈，堆和永久代，在JDK1.8中取消了永久代...]]></description><category></category></item><item><title><![CDATA[给一个数组，把偶数放到左边，奇数放到右边（有序和无序）]]></title><link>https://blog.csdn.net/Hollake/article/details/93532909</link><guid>https://blog.csdn.net/Hollake/article/details/93532909</guid><author>Hollake</author><pubDate>Mon, 24 Jun 2019 22:24:53 +0800</pubDate><description><![CDATA[思路：设置两个指针，一个less一个more，如果当前less位置的元素为偶数，那么和more位置的元素交换位置，more--，接着继续判断交换过来的元素是否是偶数，如果继续是偶数，那么继续和more位置的元素交换，一直循环到less&gt;=more，复杂度为O(N)代码如下


    public static void reOrderArray(int[] arr) {
        i...]]></description><category></category></item></channel></rss>