<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[WinnerBear的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/WinnerBear</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; WinnerBear]]></copyright><item><title><![CDATA[SpringBoot日期参数设置和Json序列化日期设置]]></title><link>https://blog.youkuaiyun.com/WinnerBear/article/details/126154204</link><guid>https://blog.youkuaiyun.com/WinnerBear/article/details/126154204</guid><author>WinnerBear</author><pubDate>Thu, 04 Aug 2022 15:26:10 +0800</pubDate><description><![CDATA[全局数据格式设置]]></description><category></category></item><item><title><![CDATA[SpringBoot文件上传下载]]></title><link>https://blog.youkuaiyun.com/WinnerBear/article/details/126152716</link><guid>https://blog.youkuaiyun.com/WinnerBear/article/details/126152716</guid><author>WinnerBear</author><pubDate>Thu, 04 Aug 2022 10:00:29 +0800</pubDate><description><![CDATA[上传下载]]></description><category></category></item><item><title><![CDATA[为什么重写Equals方法要重写HashCode方法]]></title><link>https://blog.youkuaiyun.com/WinnerBear/article/details/126068645</link><guid>https://blog.youkuaiyun.com/WinnerBear/article/details/126068645</guid><author>WinnerBear</author><pubDate>Sat, 30 Jul 2022 11:43:07 +0800</pubDate><description><![CDATA[重写]]></description><category></category></item><item><title><![CDATA[Mybatis源码解析]]></title><link>https://blog.youkuaiyun.com/WinnerBear/article/details/123725218</link><guid>https://blog.youkuaiyun.com/WinnerBear/article/details/123725218</guid><author>WinnerBear</author><pubDate>Fri, 25 Mar 2022 20:02:06 +0800</pubDate><description><![CDATA[mybatis的流程分析]]></description><category></category></item><item><title><![CDATA[vue-cli · Failed to download repo vuejs-templates/webpack: read ECONNRESET]]></title><link>https://blog.youkuaiyun.com/WinnerBear/article/details/118044988</link><guid>https://blog.youkuaiyun.com/WinnerBear/article/details/118044988</guid><author>WinnerBear</author><pubDate>Sat, 19 Jun 2021 08:07:50 +0800</pubDate><description><![CDATA[这里的问题一般是网络的问题，我们可以将使用手机热点做测试（注意移动网络不太行，用点心就可以）
]]></description><category></category></item><item><title><![CDATA[集合类不安全和写入时复制集合]]></title><link>https://blog.youkuaiyun.com/WinnerBear/article/details/114462949</link><guid>https://blog.youkuaiyun.com/WinnerBear/article/details/114462949</guid><author>WinnerBear</author><pubDate>Tue, 09 Mar 2021 19:50:32 +0800</pubDate><description><![CDATA[ArrayList为什么是线程不安全




]]></description><category></category></item><item><title><![CDATA[List、Set、HashSet、HashMap原理]]></title><link>https://blog.youkuaiyun.com/WinnerBear/article/details/114552885</link><guid>https://blog.youkuaiyun.com/WinnerBear/article/details/114552885</guid><author>WinnerBear</author><pubDate>Tue, 09 Mar 2021 17:41:55 +0800</pubDate><description><![CDATA[hashmap原理]]></description><category></category></item><item><title><![CDATA[Synchronized和Lock]]></title><link>https://blog.youkuaiyun.com/WinnerBear/article/details/114372853</link><guid>https://blog.youkuaiyun.com/WinnerBear/article/details/114372853</guid><author>WinnerBear</author><pubDate>Fri, 05 Mar 2021 19:36:54 +0800</pubDate><description><![CDATA[锁是什么

锁是用来控制多个线程访问共享资源的方式，一般来说，一个锁能够防止多个线程同时访问共享资源。



我们这里以电影院售票为例

传统的锁synchronized


package com.qjx.eightlock;

import java.util.concurrent.TimeUnit;

/*
电影院有30张票，用四个窗口A B C D进行出售
 */
public class SaleTicketSyn {
    public static void main(String[] a.]]></description><category></category></item><item><title><![CDATA[wait和sleep的区别]]></title><link>https://blog.youkuaiyun.com/WinnerBear/article/details/114371007</link><guid>https://blog.youkuaiyun.com/WinnerBear/article/details/114371007</guid><author>WinnerBear</author><pubDate>Thu, 04 Mar 2021 16:53:44 +0800</pubDate><description><![CDATA[进程和线程

进程：进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元，在传统的操作系统中，进程既是基本的分配单元，也是基本的执行单元。

线程：通常在一个进程中可以包含若干个线程，当然一个进程中至少有一个线程，不然没有存在的意义，线程可以利用进程所有拥有的资源。在引入线程的操作系统中，通常都是把进程作为分配资源的基本单位，而把线程作为独立运行和独立调度的基本单位，由于线程比进程小，基本上不拥有系统资源，故对它的调度所付出的开销就会小得多，能更高效的提高系统多个程]]></description><category></category></item><item><title><![CDATA[SpringBoot]]></title><link>https://blog.youkuaiyun.com/WinnerBear/article/details/107951045</link><guid>https://blog.youkuaiyun.com/WinnerBear/article/details/107951045</guid><author>WinnerBear</author><pubDate>Tue, 12 Jan 2021 18:41:18 +0800</pubDate><description><![CDATA[什么是SpringBoot

SpringBoot是Spring项目中的一个子工程，与我们所熟知的Spring-framework 同属于spring的产品:


]]></description><category></category></item><item><title><![CDATA[mybatis（3）懒加载，一级，二级缓存和逆向工程]]></title><link>https://blog.youkuaiyun.com/WinnerBear/article/details/102899303</link><guid>https://blog.youkuaiyun.com/WinnerBear/article/details/102899303</guid><author>WinnerBear</author><pubDate>Mon, 04 Jan 2021 16:26:27 +0800</pubDate><description><![CDATA[1.懒加载

就是在真正使用的时候才会去执行查询与语句

要进行配置





全局配置中要加上，不然懒加载是不会执行的







2.Mybatis一级，二级缓存

Mybatis的缓存，包括一级缓存和二级缓存，一级缓存是默认使用的。二级缓存需要手动开启。

一级缓存指的就是sqlsession，在sqlsession中有一个数据区域，是map结构，这个区域就是一级缓存区域。一级缓存中...]]></description><category></category></item><item><title><![CDATA[Oracle数据库和PLSQL]]></title><link>https://blog.youkuaiyun.com/WinnerBear/article/details/89818259</link><guid>https://blog.youkuaiyun.com/WinnerBear/article/details/89818259</guid><author>WinnerBear</author><pubDate>Wed, 09 Sep 2020 10:01:12 +0800</pubDate><description><![CDATA[select * from emp
select * from dept
select 1+1 from dual
select ename 姓名 from emp
--去除重复的东西
select distinct job from emp

--查询员工的年薪
select sal*12 from emp

--查询员工的年薪加奖金 nvl括号表示如果comm为空则使用0替换
select sal*12 + nvl(comm,0) from emp

/*
字符串拼接
java ：+号拼接
oracl.]]></description><category></category></item><item><title><![CDATA[ActiveMQ]]></title><link>https://blog.youkuaiyun.com/WinnerBear/article/details/107027768</link><guid>https://blog.youkuaiyun.com/WinnerBear/article/details/107027768</guid><author>WinnerBear</author><pubDate>Mon, 29 Jun 2020 21:35:10 +0800</pubDate><description><![CDATA[什么是JMS

JMS即Java消息服务（Java Message Service）应用程序接口，是一个Java平台中关于面向消息中间件（MOM）的API，用于在两个应用程序之间，或分布式系统中发送消息，进行异步通信。Java消息服务是一个与具体平台无关的API，绝大多数MOM提供商都对JMS提供支持。

在JAVA中，如果两个应用程序之间对各自都不了解，甚至这两个程序可能部署在不同的大洲上，那么它们之间如何发送消息呢？举个例子，一个应用程序A部署在印度，另一个应用程序部署在美国，然后每当A触发某件事后，B]]></description><category></category></item><item><title><![CDATA[Stream流]]></title><link>https://blog.youkuaiyun.com/WinnerBear/article/details/106670063</link><guid>https://blog.youkuaiyun.com/WinnerBear/article/details/106670063</guid><author>WinnerBear</author><pubDate>Thu, 11 Jun 2020 11:16:29 +0800</pubDate><description><![CDATA[说到Stream便容易想到I/O Stream，而实际上，谁规定“流”就一定是“IO流”呢？在Java 8中，得益于Lambda所带来的函数式编程，引入了一个全新的Stream概念，用于解决已有集合类库既有的弊端。

几乎所有的集合（如 Collection 接口或 Map 接口等）都支持直接或间接的遍历操作。而当我们需要对集合中的元 素进行操作的时候，除了必需的添加、删除、获取外，典型的就是集合遍历。


循环遍历的弊端


Java 8的Lambda让我们可以更加专注于做什么（What），而不是怎么..]]></description><category></category></item><item><title><![CDATA[Lamdba表达式]]></title><link>https://blog.youkuaiyun.com/WinnerBear/article/details/106629413</link><guid>https://blog.youkuaiyun.com/WinnerBear/article/details/106629413</guid><author>WinnerBear</author><pubDate>Tue, 09 Jun 2020 21:13:25 +0800</pubDate><description><![CDATA[Lambda 表达式，也可称为闭包，它是推动 Java 8 发布的最重要新特性。

Lambda 允许把函数作为一个方法的参数（函数作为参数传递进方法中）。

使用 Lambda 表达式可以使代码变的更加简洁紧凑。

lamdba表达式的写法：

(parameters) -&gt; expression

或

(parameters) -&gt;{ statements; }





函数式接口

当且只有一个抽象方法的接口，称之为函数式接口，当然接口中可以包含其他的方法（默认，静态，私有）

@..]]></description><category></category></item><item><title><![CDATA[JQuery]]></title><link>https://blog.youkuaiyun.com/WinnerBear/article/details/105854124</link><guid>https://blog.youkuaiyun.com/WinnerBear/article/details/105854124</guid><author>WinnerBear</author><pubDate>Thu, 30 Apr 2020 10:56:19 +0800</pubDate><description><![CDATA[jq
]]></description><category></category></item><item><title><![CDATA[进制的转换与基础数据类型]]></title><link>https://blog.youkuaiyun.com/WinnerBear/article/details/105622474</link><guid>https://blog.youkuaiyun.com/WinnerBear/article/details/105622474</guid><author>WinnerBear</author><pubDate>Mon, 20 Apr 2020 16:29:55 +0800</pubDate><description><![CDATA[进制

一般进制分为二进制，八进制，十进制和十六进制

二进制是0和1

八进制是0-7

十进制是0-9

十六进制是0-9 a-e


]]></description><category></category></item><item><title><![CDATA[事务的隔离级别和引发的问题]]></title><link>https://blog.youkuaiyun.com/WinnerBear/article/details/103037025</link><guid>https://blog.youkuaiyun.com/WinnerBear/article/details/103037025</guid><author>WinnerBear</author><pubDate>Tue, 12 Nov 2019 20:08:00 +0800</pubDate><description><![CDATA[以mysql为例：

查询当前事务的隔离级别用

select @@tx_isolation;



设置隔离级别用set session transaction isolation level [隔离级别];

例如：set session transaction isolation level read uncommitted;



如果是设置全局的事务隔离级别用set global transaction isolation level [隔离级别];

例如：set global transa..]]></description><category></category></item><item><title><![CDATA[基础排序和高级排序]]></title><link>https://blog.youkuaiyun.com/WinnerBear/article/details/103028354</link><guid>https://blog.youkuaiyun.com/WinnerBear/article/details/103028354</guid><author>WinnerBear</author><pubDate>Tue, 12 Nov 2019 14:58:02 +0800</pubDate><description><![CDATA[基本排序：主要分为冒泡排序，选择排序，插入排序和快速排序



1.冒泡排序

冒泡排序就是每次排序都是用后一个与前一个进行比较，如果后一个小于前一个，就交换位置，最后把最大值移动到最后面一个




/**
 * Created by asus on 2019/11/1.
 */
//冒泡排序就是每次排序都是用后一个与前一个进行比较，如果后一个小于前一个，就交换位置，最后把最大值移动到最后面一...]]></description><category></category></item><item><title><![CDATA[JFreeChar和HighCharts图形的使用]]></title><link>https://blog.youkuaiyun.com/WinnerBear/article/details/102730386</link><guid>https://blog.youkuaiyun.com/WinnerBear/article/details/102730386</guid><author>WinnerBear</author><pubDate>Thu, 24 Oct 2019 19:50:01 +0800</pubDate><description><![CDATA[区别：

这两个方式的主要区别在于JFreeChar是在后台使用的，HighCharts是引入前端的js，整体上来说HighCharts会比较好一点



JFreeChar

第一步：引入jar包



这里有一个小的demo


@Test
	public void test17() 
	{
		//数据集
		DefaultPieDataset dataSet = new DefaultP...]]></description><category></category></item></channel></rss>