<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[baisq2017的博客]]></title><description><![CDATA[一步一个坑]]></description><link>https://blog.youkuaiyun.com/bai_bug</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bai_bug]]></copyright><item><title><![CDATA[为什么HashMap的Capacity必须2^n]]></title><link>https://blog.youkuaiyun.com/bai_bug/article/details/89606381</link><guid>https://blog.youkuaiyun.com/bai_bug/article/details/89606381</guid><author>bai_bug</author><pubDate>Sat, 27 Apr 2019 21:18:18 +0800</pubDate><description><![CDATA[为了元素均匀的分布在数组上，减少hash碰撞的机会。

一、hashmap数据结构

1、没有hash碰撞

hashmap初始化，或者put操作没有产生碰撞时，都是均匀分布在数组上。



2、hash碰撞

元素产生hash碰撞时，会调用equals方法比较两个元素是否相同，不相同则以链表的形式存储。



3、链表长度大于8

遍历链表寻找元素的时间复杂度是O(n)，当链表长度大于8时，转换...]]></description><category></category></item><item><title><![CDATA[函数式编程]]></title><link>https://blog.youkuaiyun.com/bai_bug/article/details/84593536</link><guid>https://blog.youkuaiyun.com/bai_bug/article/details/84593536</guid><author>bai_bug</author><pubDate>Sat, 29 Dec 2018 23:24:27 +0800</pubDate><description><![CDATA[一、说点废话？

Java是面向对象编程，调用一个函数必须通过对象，函数不能独立存在，不能作为参数不能作为返回值。

二、函数式编程?

Java8引入了函数编程，函数可以作为一等公民，可以独立存在，可以作为参数。

三、Lambda?

java8编译支持Lambda风格，Lambda是一种匿名函数，函数编程的一种实现方式，形式如下： 

入参 -&amp;gt; 表达式 // x -&amp;gt; x ==...]]></description><category></category></item><item><title><![CDATA[Jackson2JsonRedisSerializer和GenericJackson2JsonRedisSerializer的区别]]></title><link>https://blog.youkuaiyun.com/bai_bug/article/details/81222519</link><guid>https://blog.youkuaiyun.com/bai_bug/article/details/81222519</guid><author>bai_bug</author><pubDate>Thu, 26 Jul 2018 17:51:52 +0800</pubDate><description><![CDATA[一、使用Jackson2JsonRedisSerializer序列化反序列化带泛型的List数据

1、使用Jackson2JsonRedisSerializer序列化value的代码：


RedisTemplate&amp;lt;Object, Object&amp;gt; template = new RedisTemplate&amp;lt;Object,Object&amp;gt;();
template.setKey...]]></description><category></category></item><item><title><![CDATA[总结下ServletContext和ApplicationContext]]></title><link>https://blog.youkuaiyun.com/bai_bug/article/details/80218202</link><guid>https://blog.youkuaiyun.com/bai_bug/article/details/80218202</guid><author>bai_bug</author><pubDate>Sun, 06 May 2018 21:38:35 +0800</pubDate><description><![CDATA[一、ServletContext是什么？ServletContext是一个web应用的上下文，是一个全局信息的存储空间，代表当前web应用。二、ServletContext什么时候创建？ServletContext在web应用（服务器）启动时创建。三、ServletContext什么时候销毁？ServletContext在Web应用（服务器）关闭时释放。四、ServletContext包含哪些东西...]]></description><category></category></item><item><title><![CDATA[如何线程安全的使用HashMap]]></title><link>https://blog.youkuaiyun.com/bai_bug/article/details/79326322</link><guid>https://blog.youkuaiyun.com/bai_bug/article/details/79326322</guid><author>bai_bug</author><pubDate>Wed, 14 Feb 2018 20:55:48 +0800</pubDate><description><![CDATA[为什么HashMap是线程不安全的？1、讲讲一下HashMap的存储结构transient Node&amp;lt;K,V&amp;gt;[] table;
static class Node&amp;lt;K,V&amp;gt; implements Map.Entry&amp;lt;K,V&amp;gt; {
    final int hash;
    final K key;
    V value;
    Node&amp;lt;K,V&amp;...]]></description><category></category></item><item><title><![CDATA[设计模式]]></title><link>https://blog.youkuaiyun.com/bai_bug/article/details/79323464</link><guid>https://blog.youkuaiyun.com/bai_bug/article/details/79323464</guid><author>bai_bug</author><pubDate>Tue, 13 Feb 2018 23:00:03 +0800</pubDate><description><![CDATA[一、前言：设计模式可以帮助大家在工作中设计住高层次抽象的代码结构，根据用途可以分为创建型模式和结构型模式和和行为型模式。二、原则：设计模式也有自己的设计原则，基于这个原则可以帮助我们去写出我们需要的修改可闭和扩展可开的代码结构；1：面向接口编程，不是面向实现编程，帮助我们设计出优雅的可扩展的代码结构；2：职责单一原则，每个类都应该有单一的功能，并且这功能被这个类封装起来；3：对修改可关闭，对扩展可...]]></description><category></category></item><item><title><![CDATA[Nginx+Redis+Tomcat实现session共享]]></title><link>https://blog.youkuaiyun.com/bai_bug/article/details/79321284</link><guid>https://blog.youkuaiyun.com/bai_bug/article/details/79321284</guid><author>bai_bug</author><pubDate>Tue, 13 Feb 2018 14:35:36 +0800</pubDate><description><![CDATA[架构图：使用资源：nginx主服务器：192.168.0.90tomcat项目服务器1:192.168.0.91tomcat项目服务器2:192.168.0.92redis服务器:192.168.0.93注意访问时需要配置防火墙规则，或者关闭防火墙一、前言：上一篇文章讲到了Nginx实现反向代理和负载均衡，最后虽然看到了效果，但是还有一个问题就是在负载均衡的情况下session不能实现集服务之间共...]]></description><category></category></item><item><title><![CDATA[Nginx实现反向代理和负载均衡]]></title><link>https://blog.youkuaiyun.com/bai_bug/article/details/79316763</link><guid>https://blog.youkuaiyun.com/bai_bug/article/details/79316763</guid><author>bai_bug</author><pubDate>Mon, 12 Feb 2018 15:27:28 +0800</pubDate><description><![CDATA[架构图一、使用资源nginx主服务器：192.168.0.90tomcat项目服务器1:192.168.0.91tomcat项目服务器2:192.168.0.92注意访问时需要配置防火墙规则，或者关闭防火墙二、通用安装1、三台服务器，vmware虚拟机，系统centos7，网上自行百度。2、三台服务器都需要安装jdk并配置环境变量，我使用的是jdk1.8，参考https://jingyan.bai...]]></description><category></category></item><item><title><![CDATA[nginx 安装]]></title><link>https://blog.youkuaiyun.com/bai_bug/article/details/79264519</link><guid>https://blog.youkuaiyun.com/bai_bug/article/details/79264519</guid><author>bai_bug</author><pubDate>Mon, 05 Feb 2018 21:52:31 +0800</pubDate><description><![CDATA[一、Nginx介绍Nginx（发音同 engine x）是一款轻量级的Web 服务器／反向代理服务器及电子邮件（IMAP/POP3）代理服务器，并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发，最初供俄国大型的入口网站及搜寻引擎Rambler（俄文：Рамблер）使用。  其特点是占有内存少，并发能力强，事实上nginx的并发能力确实在同类型的网页伺服器中表...]]></description><category></category></item><item><title><![CDATA[IDEA ERROR：找不到或无法加载主类]]></title><link>https://blog.youkuaiyun.com/bai_bug/article/details/79121109</link><guid>https://blog.youkuaiyun.com/bai_bug/article/details/79121109</guid><author>bai_bug</author><pubDate>Sun, 21 Jan 2018 16:55:11 +0800</pubDate><description><![CDATA[1、首先要检查你的编译输出路径File----project struture，如图


2、网上的解决办法一般使用第一步就解决了，但是我遇到的问题比较奇葩，我的项目结构是一个工程下面多个模块，如图


3、我要运行registry模块下面的某个类，一直报找不到或无法加载主类，其实我已经按照第一步配置好了路径，后来发现是因为父工程的source folder被设置成registry模块]]></description><category></category></item><item><title><![CDATA[shiro学习笔记以及demo]]></title><link>https://blog.youkuaiyun.com/bai_bug/article/details/77430156</link><guid>https://blog.youkuaiyun.com/bai_bug/article/details/77430156</guid><author>bai_bug</author><pubDate>Sun, 20 Aug 2017 16:44:44 +0800</pubDate><description><![CDATA[1、shiro框架核心配置Spring的配置文件中配置的一个bean,org.apache.shiro.spring.web.ShiroFilterFactoryBean(协调办公室，真正意义掌握安全控制权限)2、web.xml文件为什么还要配置一个DelegatingFilterProxyDelegatingFilterProxy：用来到spring容器中去找与filter-name下相同名字的b]]></description><category></category></item><item><title><![CDATA[@Transaction，@Async在同一个类中注解失效的原因和解决办法]]></title><link>https://blog.youkuaiyun.com/bai_bug/article/details/77199505</link><guid>https://blog.youkuaiyun.com/bai_bug/article/details/77199505</guid><author>bai_bug</author><pubDate>Tue, 15 Aug 2017 20:21:55 +0800</pubDate><description><![CDATA[在同一个类中，一个方法调用另外一个有注解（比如@Async，@Transational）的方法，注解是不会生效的。比如，下面代码例子中，有两方法，一个有@Async注解，一个没有。第一次如果调用了有注解的test()方法，会启动@Async注解作用；第一次如果调用testAsync()，因为它内部调用了有注解的test()，如果你以为系统也会为它启动Async作用，那就错了，实际上是没有的。@Ser]]></description><category></category></item><item><title><![CDATA[@Async不起作用]]></title><link>https://blog.youkuaiyun.com/bai_bug/article/details/75647310</link><guid>https://blog.youkuaiyun.com/bai_bug/article/details/75647310</guid><author>bai_bug</author><pubDate>Fri, 21 Jul 2017 15:30:24 +0800</pubDate><description><![CDATA[解决@Async不起作用


 
 

 <context:include-filter type="annotation"
	expression="org.springframework.stereotype.Controller" />

3配置spring依赖的jar(不介绍这个了)
4在你需要异步调用的方法上使]]></description><category></category></item><item><title><![CDATA[返回json数据，格式化日期类型去掉时分秒]]></title><link>https://blog.youkuaiyun.com/bai_bug/article/details/74889748</link><guid>https://blog.youkuaiyun.com/bai_bug/article/details/74889748</guid><author>bai_bug</author><pubDate>Sun, 09 Jul 2017 15:38:54 +0800</pubDate><description><![CDATA[返回json数据，格式化日期类型去掉时分秒]]></description><category></category></item><item><title><![CDATA[处理一个集合中的数据以父子形式展现]]></title><link>https://blog.youkuaiyun.com/bai_bug/article/details/71982334</link><guid>https://blog.youkuaiyun.com/bai_bug/article/details/71982334</guid><author>bai_bug</author><pubDate>Sun, 14 May 2017 15:05:34 +0800</pubDate><description><![CDATA[前端处理父子处理存在级联关系的下拉框，或者展示数据时以父子形式展示，如果级联的数据比较多，后端可以处理好父子关系并返回list集合]]></description><category></category></item><item><title><![CDATA[两个List集合使用removeAll()方法遇到的坑，无法移除掉两个集合相同的数据。]]></title><link>https://blog.youkuaiyun.com/bai_bug/article/details/71191021</link><guid>https://blog.youkuaiyun.com/bai_bug/article/details/71191021</guid><author>bai_bug</author><pubDate>Fri, 05 May 2017 09:15:39 +0800</pubDate><description><![CDATA[对比两个集合时，使用removeAll()方法无法删除掉它们相同的部分，之后写了一个demo测验一下removeAll()。
//测试包含基本数据类型String的两个list集合使用removeALL() 方法
 public static void main(String[] args) {
    List  stringList1 = new ArrayList ();]]></description><category></category></item><item><title><![CDATA[shiro造成dubbo无法注入java.lang.IllegalStateException: ApplicationEventMulticaster not initialized]]></title><link>https://blog.youkuaiyun.com/bai_bug/article/details/71171840</link><guid>https://blog.youkuaiyun.com/bai_bug/article/details/71171840</guid><author>bai_bug</author><pubDate>Thu, 04 May 2017 16:24:10 +0800</pubDate><description><![CDATA[shiro造成dubbo无法注入java.lang.IllegalStateException: ApplicationEventMulticaster not initialized]]></description><category></category></item><item><title><![CDATA[解决返回json数据，属性值为null或空被省略的问题。]]></title><link>https://blog.youkuaiyun.com/bai_bug/article/details/71124111</link><guid>https://blog.youkuaiyun.com/bai_bug/article/details/71124111</guid><author>bai_bug</author><pubDate>Wed, 03 May 2017 15:35:45 +0800</pubDate><description><![CDATA[当使用com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter转换返回数据为json时，会省略掉为空为null的属性值。
解决办法在spingmvc.xml配置json转换器时加上对空和null的处理，配置如下：
QuoteFieldNames：表示返回的json数据，key值加上双引号。]]></description><category></category></item><item><title><![CDATA[INVALID_CHARACTER_ERR: 指定的 XML 字符无效或非法。]]></title><link>https://blog.youkuaiyun.com/bai_bug/article/details/70978395</link><guid>https://blog.youkuaiyun.com/bai_bug/article/details/70978395</guid><author>bai_bug</author><pubDate>Sat, 29 Apr 2017 17:33:46 +0800</pubDate><description><![CDATA[在使用dom方式读写xml文件内容并写入另一个xml文件出现 XML 字符无效或非法。读取xml文件读取到#text。]]></description><category></category></item></channel></rss>