<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jar壳虫的博文]]></title><description><![CDATA[散落在人间的日常，像三三两两码的行。]]></description><link>https://blog.youkuaiyun.com/qq_42827680</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_42827680]]></copyright><item><title><![CDATA[SpringBoot使用过滤器防XSS攻击]]></title><link>https://blog.youkuaiyun.com/qq_42827680/article/details/113920869</link><guid>https://blog.youkuaiyun.com/qq_42827680/article/details/113920869</guid><author>qq_42827680</author><pubDate>Sun, 21 Feb 2021 17:37:36 +0800</pubDate><description><![CDATA[springboot防范xss攻击]]></description><category></category></item><item><title><![CDATA[强软弱虚（引用）GC那点事]]></title><link>https://blog.youkuaiyun.com/qq_42827680/article/details/110382506</link><guid>https://blog.youkuaiyun.com/qq_42827680/article/details/110382506</guid><author>qq_42827680</author><pubDate>Mon, 30 Nov 2020 11:19:34 +0800</pubDate><description><![CDATA[概述

上一篇咱们讲到ThreadLocal的一些原理和使用，其中比较重要的就是涉及到它的一些内存泄漏，针对内存泄漏，ThreadLocal是怎么维护和处理的（通过让ThreadLocalMap的key套上弱引用），以及我们是怎么处理的，及时调用 remove 方法。那么今天来详细说说强软弱虚这四个引用方式以及GC是背后是怎么处理的。

强引用

普通的应用类型，只要有引用指针，GC不会回收 ，例如：Student student = new Student，想要让GC检测并回收此对象，你需要让它引用Nul]]></description><category></category></item><item><title><![CDATA[BigDecimal详解]]></title><link>https://blog.youkuaiyun.com/qq_42827680/article/details/110008446</link><guid>https://blog.youkuaiyun.com/qq_42827680/article/details/110008446</guid><author>qq_42827680</author><pubDate>Mon, 23 Nov 2020 21:36:35 +0800</pubDate><description><![CDATA[BigDecimal详解
引言

float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算，这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而，它们没有提供完全精确的结果，所以不应该被用于要求精确结果的场合。但是，商业计算往往要求结果精确，这时候BigDecimal就派上大用场啦。

	@Test
    public void test1(){
        /*
          0.30000000000000004
          0.19]]></description><category></category></item><item><title><![CDATA[缓存穿透及布隆算法]]></title><link>https://blog.youkuaiyun.com/qq_42827680/article/details/108453457</link><guid>https://blog.youkuaiyun.com/qq_42827680/article/details/108453457</guid><author>qq_42827680</author><pubDate>Mon, 07 Sep 2020 18:33:54 +0800</pubDate><description><![CDATA[缓存穿透、缓存击穿、缓存雪崩
引言

大概介绍一下什么是缓存穿透、缓存击穿以及布隆过滤器相关功能和算法
看下面一张图：



客户端发送请求到服务器，然后最终访问数据库这是一个简单的流程，但为了能够节省资源，避免频繁连接和关闭，我们在服务器和数据库之间建立个数据源，其实它就是个池子一样的东西，需要的话我们去池子里面拿，不需要或者用完了就放进去，中间节省了连接和关闭的时间。但是这远远不够~~~



数据量一大我们得做一些其他措施，如分库分表、主从复制、读写分离等，或者是mysql集群



再来个中间件也未]]></description><category></category></item><item><title><![CDATA[MapStruct快速入门]]></title><link>https://blog.youkuaiyun.com/qq_42827680/article/details/108338770</link><guid>https://blog.youkuaiyun.com/qq_42827680/article/details/108338770</guid><author>qq_42827680</author><pubDate>Tue, 01 Sep 2020 13:11:41 +0800</pubDate><description><![CDATA[MapStruct快速入门
前言

随着软件架构分层越来越多，那么各个层次之间的数据模型就要面临着相互转换的问题，典型的就是我们可以在代码中见到各种O，如DO、DTO、VO等。
如在数据存储层，我们使用DO来抽象一个业务实体；在业务逻辑层，我们使用DTO来表示数据传输对象；到了展示层，我们又把对象封装成VO来与前端进行交互。
先来看一张图

想必大家伙原来都写过类似格式的代码，额···看着就不说了，冗长而繁琐，于是MapStruct这一类框架应运而生 包括：

Spring BeanUtils
Cglib ]]></description><category></category></item><item><title><![CDATA[SpringBoot集成TKMapper]]></title><link>https://blog.youkuaiyun.com/qq_42827680/article/details/108151500</link><guid>https://blog.youkuaiyun.com/qq_42827680/article/details/108151500</guid><author>qq_42827680</author><pubDate>Fri, 21 Aug 2020 17:20:52 +0800</pubDate><description><![CDATA[tkmapper是mybatis的一款好用的插件]]></description><category></category></item><item><title><![CDATA[SpringBoot使用@Vaild数据验证及自定义验证注解]]></title><link>https://blog.youkuaiyun.com/qq_42827680/article/details/108128458</link><guid>https://blog.youkuaiyun.com/qq_42827680/article/details/108128458</guid><author>qq_42827680</author><pubDate>Thu, 20 Aug 2020 17:39:29 +0800</pubDate><description><![CDATA[SpringBoot使用@Vaild数据验证及自定义验证注解]]></description><category></category></item><item><title><![CDATA[IDEA2020.1同步系统设置到GitHub]]></title><link>https://blog.youkuaiyun.com/qq_42827680/article/details/106277948</link><guid>https://blog.youkuaiyun.com/qq_42827680/article/details/106277948</guid><author>qq_42827680</author><pubDate>Fri, 22 May 2020 13:22:27 +0800</pubDate><description><![CDATA[IDEA2020.1 同步系统设置到GitHub

最近用了IDEA2020.1，原来2018.2所有插件和快捷键设置都得从新配置，这不意外发现了新大陆，这样一来就省很多时间了


IDEA2020.1 默认有两个绑定插件  IDE Settings Sync 和 Settings Repository，这里特别要说下，两个插件只取其一，我用的是repository ,同步到了github仓库
详情可以看官网怎么说的：IDEA2020.1设置同步



首先还是在GitHub上创建一个仓库，我这建立的是私有]]></description><category></category></item><item><title><![CDATA[VSCode配置 GitHub的Gist 同步设置和插件信息]]></title><link>https://blog.youkuaiyun.com/qq_42827680/article/details/106266301</link><guid>https://blog.youkuaiyun.com/qq_42827680/article/details/106266301</guid><author>qq_42827680</author><pubDate>Thu, 21 May 2020 19:56:08 +0800</pubDate><description><![CDATA[VSCode配置 GitHub的Gist 同步设置和插件信息
第一步：配置GitHub 个人密钥



我这里已经创建好了




记住你的密钥，可以记录在txt文本中


第二步：VSCode下载 Settings Sync  插件


这个时候有个大的Settings Sync页面，你点击那个登录GitHub按钮登录完之后，那个Token会自动加入进去



最后我们 Alt + Shift + U , 就可上传到gist了 ,也可以 Ctrl + Shift + A 输入 &gt; Sync



它]]></description><category></category></item><item><title><![CDATA[两大利器Typora和PicGo的配合使用：直接起飞！]]></title><link>https://blog.youkuaiyun.com/qq_42827680/article/details/105951510</link><guid>https://blog.youkuaiyun.com/qq_42827680/article/details/105951510</guid><author>qq_42827680</author><pubDate>Wed, 06 May 2020 16:20:49 +0800</pubDate><description><![CDATA[这个东西解决了以往typora写博客时图片地址为本地，手机查看或者同步到网易云笔记的时候图片无法显示的问题，把图片上传到远程服务器存储就可以完美解决这个问题，头一次配置花了我将近半天时间，说起来都是泪，本篇使用gitee码云作为图片云存储话不多说直接按照步骤走

下载typora最新版

此软件用于撰写markdown文档，新版本支持图片粘贴图片功能

链接：https://pan.baidu....]]></description><category></category></item><item><title><![CDATA[nacos 负载均衡（迈出你的第一jio）]]></title><link>https://blog.youkuaiyun.com/qq_42827680/article/details/105502131</link><guid>https://blog.youkuaiyun.com/qq_42827680/article/details/105502131</guid><author>qq_42827680</author><pubDate>Tue, 14 Apr 2020 01:49:57 +0800</pubDate><description><![CDATA[搭建一个nacos负载均衡的demo 从provider 和 consumer做起

使用IDEA创建springboot项目 provider

依赖

	&lt;properties&gt;
        &lt;java.version&gt;1.8&lt;/java.version&gt;
        &lt;spring-cloud-alibaba.version&gt;2.2....]]></description><category></category></item><item><title><![CDATA[springboot解决跨域请求]]></title><link>https://blog.youkuaiyun.com/qq_42827680/article/details/105101247</link><guid>https://blog.youkuaiyun.com/qq_42827680/article/details/105101247</guid><author>qq_42827680</author><pubDate>Wed, 25 Mar 2020 18:17:23 +0800</pubDate><description><![CDATA[感觉跨域这个东西用的时候记不住，就记了下来方便cv

方案一
@Configuration
public class GlobalCorsConfig {

    /**
     * 允许跨域调用的过滤器
     */
    @Bean
    public CorsFilter corsFilter() {
        CorsConfiguration config = new ...]]></description><category></category></item><item><title><![CDATA[java系列【HashMap让你起飞的一篇】(面试必问)]]></title><link>https://blog.youkuaiyun.com/qq_42827680/article/details/104520852</link><guid>https://blog.youkuaiyun.com/qq_42827680/article/details/104520852</guid><author>qq_42827680</author><pubDate>Fri, 28 Feb 2020 16:58:05 +0800</pubDate><description><![CDATA[文章目录前言集合体系listArrayListLinkedListVectorsetHashSet为什么HashSet不能重复LinkedHashSetTreeSetmapHashMap的工作原理HashMap和HashTable有哪些区别线程安全key是否为空hashcode 和 equals的区别基于LinkeList实现HashMap如何解决HashCode Index冲突问题HashMap...]]></description><category></category></item><item><title><![CDATA[mysql系列【mysql优化完结篇】(面试必问)]]></title><link>https://blog.youkuaiyun.com/qq_42827680/article/details/104476815</link><guid>https://blog.youkuaiyun.com/qq_42827680/article/details/104476815</guid><author>qq_42827680</author><pubDate>Mon, 24 Feb 2020 16:47:36 +0800</pubDate><description><![CDATA[hello,大家好！博主上篇内容【mysql索引优化】 也是mysql优化的一部分，因为所以这一块相对来说内容比较多，所以单独抽取出来；大家都知道mysql优化是面试中的常客，也是重头戏，希望这篇内容能给到大家帮助]]></description><category></category></item><item><title><![CDATA[mysql系列【你不知道的索引优化】(面试必问)]]></title><link>https://blog.youkuaiyun.com/qq_42827680/article/details/104464016</link><guid>https://blog.youkuaiyun.com/qq_42827680/article/details/104464016</guid><author>qq_42827680</author><pubDate>Sun, 23 Feb 2020 21:42:14 +0800</pubDate><description><![CDATA[前言：相信大家面试的时候肯定被问过这个问题，但很多都是因为不够深入，或者了解片面而导致好的机会和你失之交臂，其实这个问题答得好是非常加分的，好了不多说了开始…
让索引效率更高：这其中就涉及到索引的选择性了，索引的选择性是指索引列中不同值的数目与表中记录数的比。如果一个表中有2000条记录，表索引列有1980个不同的值，那么这个索引的选择性就是1980/2000=0.99。一个索引的选择性越接近于1，这个索引的效率就越高]]></description><category></category></item></channel></rss>