<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[billluffy的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/billluffy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; billluffy]]></copyright><item><title><![CDATA[此博客已迁移，以后将不在csdn上更新]]></title><link>https://blog.youkuaiyun.com/billluffy/article/details/85017632</link><guid>https://blog.youkuaiyun.com/billluffy/article/details/85017632</guid><author>billluffy</author><pubDate>Sat, 15 Dec 2018 20:34:20 +0800</pubDate><description><![CDATA[此博客已迁移，以后将不在csdn上更新
感觉csdn的观看体验越来越差了，广告奇多，自己重新搭了博客，已经将文章都搬运过去了，这边就不再更新了。
新博客地址：
http://yangge.ac.cn

...]]></description><category></category></item><item><title><![CDATA[springboot项目打包非常慢的问题]]></title><link>https://blog.youkuaiyun.com/billluffy/article/details/83584285</link><guid>https://blog.youkuaiyun.com/billluffy/article/details/83584285</guid><author>billluffy</author><pubDate>Wed, 31 Oct 2018 15:02:31 +0800</pubDate><description><![CDATA[问题由来：
最近发现用maven package打包的速度越来越慢了，非常影响调式速度。
解决方案：
因为在控制台发现了测试用例里面的输出，所以问题定位到是因为在打包的时候运行了测试用例，那就很简单了，百度一搜很多博客都又写，比如：
https://blog.youkuaiyun.com/m0_37893932/article/details/78781558
首先确认是这个springboot的maven插...]]></description><category></category></item><item><title><![CDATA[SpringData jpa 实现多条件动态查询，分页功能]]></title><link>https://blog.youkuaiyun.com/billluffy/article/details/83147538</link><guid>https://blog.youkuaiyun.com/billluffy/article/details/83147538</guid><author>billluffy</author><pubDate>Thu, 18 Oct 2018 15:31:46 +0800</pubDate><description><![CDATA[问题由来：
刚开始使用springdata的时候，只会用findByName这样的简单查询，这样写dao层确实非常的快，但是在我们做筛选功能的时候，这样的查询似乎很难满足我们的需求，但是都已经用上的springdata又不想再去写mybatis这样在xml里面判断是否为Null。
解决方案：
1.
Example,用example可以最快速的完成支持所有参数的筛选功能,像这样的代码:
@Test
...]]></description><category></category></item><item><title><![CDATA[swagger带token或者cookie怎么过验证]]></title><link>https://blog.youkuaiyun.com/billluffy/article/details/80469103</link><guid>https://blog.youkuaiyun.com/billluffy/article/details/80469103</guid><author>billluffy</author><pubDate>Sun, 27 May 2018 14:21:47 +0800</pubDate><description><![CDATA[问题由来：

最近愈发感觉写接口文档太麻烦了，就研究了一下swagger，springboot用起来确实不要太方便，什么多余的操作都不需要有就可以把链接甩给前端了。 
但是通常我们的系统都是带有身份认证的，无非几种方式，cookie,session,token,前两种可以算为一类，这个倒是比较好解决，下个chrome插件，可以很轻松的把一个页面下的cookie复制到我们的swagger-ui界面下...]]></description><category></category></item><item><title><![CDATA[猪场实习一个月总结]]></title><link>https://blog.youkuaiyun.com/billluffy/article/details/79949437</link><guid>https://blog.youkuaiyun.com/billluffy/article/details/79949437</guid><author>billluffy</author><pubDate>Sun, 15 Apr 2018 15:04:25 +0800</pubDate><description><![CDATA[入职猪场已经一个月了，进入大公司之后最大的感觉就是，牛人很多，自己非常渺小。 
以前自以为自己的开发能力肯定也不会输给企业里的人，完全有能力承担一个大项目。 
但其实并不是这样，大公司里项目所考虑事物的维度真的和我之前的野路子不一样，我之前的小团队，想得最多的就是，怎么样才能实现？而我观察大佬们的讨论是这样的


  怎么样实现最快？怎么样实现最稳定？怎么样实现后期好扩展，好维护？


也需要这样...]]></description><category></category></item><item><title><![CDATA[Java递归的将JSON所有参数的key的首字母转为大写]]></title><link>https://blog.youkuaiyun.com/billluffy/article/details/79757729</link><guid>https://blog.youkuaiyun.com/billluffy/article/details/79757729</guid><author>billluffy</author><pubDate>Fri, 30 Mar 2018 14:53:30 +0800</pubDate><description><![CDATA[问题由来：

这两天对接其他部门的api接口时，发现一个参数检查始终过不去，最后被告知这个参数的首字母必须为大写，这就很恶心了！因为java object自动转出来的json首字母都是小写的！

解决方案：

网上有说用@JsonFiled @JSONProperties 注解可以解决的，但是我试了下没有成功，而且每个参数都要加，很麻烦，还有些是内部类。 
因为内部类较多，我就写了一个递归的Obj...]]></description><category></category></item><item><title><![CDATA[ThreadLocal和线程的普通成员变量究竟有什么区别？]]></title><link>https://blog.youkuaiyun.com/billluffy/article/details/79372612</link><guid>https://blog.youkuaiyun.com/billluffy/article/details/79372612</guid><author>billluffy</author><pubDate>Sun, 25 Feb 2018 23:40:30 +0800</pubDate><description><![CDATA[问题由来：

最近在看多线程的知识，有提到ThreadLocal是一种线程局部变量，每个线程都有相对独立的变量初始化拷贝，是一种以空间换时间的做法。 
那么问题来了， 
1. 它和在线程代码里直接写一个普通成员变量有什么区别呢？ 
2. 它真的能“以空间换时间”吗？



问题1的思考：

问题：它和在线程代码里直接写一个普通成员变量有什么区别呢？ 
ThreadLocal和线程的普通成员变量都是...]]></description><category></category></item><item><title><![CDATA[解决idea新建Module的奇怪路径问题]]></title><link>https://blog.youkuaiyun.com/billluffy/article/details/79238467</link><guid>https://blog.youkuaiyun.com/billluffy/article/details/79238467</guid><author>billluffy</author><pubDate>Fri, 02 Feb 2018 14:08:16 +0800</pubDate><description><![CDATA[问题由来：

在部署SpringCloud的时候想新建一个module来快速创建，结果被创建出来的目录结构搞得一脸懵逼，新建的module的根目录跑到了，项目的src目录下，整个看起来乱七八糟，而且remove module之后会有配置文件始终没有被删干净，逼死强迫症啊！最后我是直接把整个项目全删了，然后重新git clone的。

解决方法：


直接新建一个项目，idea不像eclipse那样]]></description><category></category></item><item><title><![CDATA[hibernate设置jdbc的编码问题]]></title><link>https://blog.youkuaiyun.com/billluffy/article/details/79068879</link><guid>https://blog.youkuaiyun.com/billluffy/article/details/79068879</guid><author>billluffy</author><pubDate>Mon, 15 Jan 2018 21:17:04 +0800</pubDate><description><![CDATA[问题由来：

数据库请求的中文参数始终会有问题，问题定位到请求jdbc的编码，但是在xml里面按照各路方案试了很多次，但是还是不行。

解决方案：

遇到了一个超大的坑!!!!!!!!! 
有时候在使用xml作为配置文件的时候，应该要使用xml的编码规则来进行适当的设置。 
下面给出xml中一些特殊符号的编码转换：


&lt;    
&gt;    >   大于号
&amp;   &   an]]></description><category></category></item><item><title><![CDATA[Java实现 DES算法ECB模式NoPadding填充]]></title><link>https://blog.youkuaiyun.com/billluffy/article/details/79044847</link><guid>https://blog.youkuaiyun.com/billluffy/article/details/79044847</guid><author>billluffy</author><pubDate>Fri, 12 Jan 2018 15:42:33 +0800</pubDate><description><![CDATA[问题由来：

今天客户需要我向机器端发送命令，然后需要加密一个字段，用的就是DES算法ECB模式NoPadding填充。因为之前没有接触过，所以在网上找了很多，最后调试，优化了一个。



解决方案：

实现类：



public static byte[] getKeyByByteBuf(ByteBuf byteBuf) {
        byte[] byteTemp = new byte]]></description><category></category></item><item><title><![CDATA[HibernateTemplate.save()报错 org.hibernate.exception.SQLGrammarException]]></title><link>https://blog.youkuaiyun.com/billluffy/article/details/78942599</link><guid>https://blog.youkuaiyun.com/billluffy/article/details/78942599</guid><author>billluffy</author><pubDate>Sun, 31 Dec 2017 17:59:02 +0800</pubDate><description><![CDATA[1.问题由来写着写着在用this.getHibernateTemplate().save(l);的时候报错了，而且是说sql语法错误，这就有点让人摸不着头脑了，这又没有写sql怎么可能会有sql语句错误，而且以前这么写的时候好像也没啥问题啊。2.解决方案：在另外一个博客上，看到有另一个博主也遇到了这个问题 
 
然后我马上检查了一下数据表，果然发现有一个字段名为order，大有嫌疑！ 
然后把这个字]]></description><category></category></item><item><title><![CDATA[pip错误：TypeError: parse() got an unexpected keyword argument 'transport_encoding']]></title><link>https://blog.youkuaiyun.com/billluffy/article/details/78895836</link><guid>https://blog.youkuaiyun.com/billluffy/article/details/78895836</guid><author>billluffy</author><pubDate>Mon, 25 Dec 2017 19:12:14 +0800</pubDate><description><![CDATA[装了TensorFlow后莫名其妙的出现了这个错误，百度了一个答案mark一下，转自http://blog.youkuaiyun.com/cheese_pop/article/details/78201359




Win10，ANACONDA3(64-bit)，Python3.6.2。ANACONDA Prompt中不能用pip命令安装包，并且是在安装了TensorFlow后才发生的。报错如下：]]></description><category></category></item><item><title><![CDATA[maven项目报 ClassNotFoundException: org.springframework.web.context.ContextLoaderListener]]></title><link>https://blog.youkuaiyun.com/billluffy/article/details/78894091</link><guid>https://blog.youkuaiyun.com/billluffy/article/details/78894091</guid><author>billluffy</author><pubDate>Mon, 25 Dec 2017 16:25:19 +0800</pubDate><description><![CDATA[1.问题由来：今天在移植一个spring项目的时候update maven了一下，然后就报了如题的bug。2.解决方案：百度的一个教程：严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundExce]]></description><category></category></item><item><title><![CDATA[Netty报java.net.BindException: Address already in use: bind]]></title><link>https://blog.youkuaiyun.com/billluffy/article/details/78817310</link><guid>https://blog.youkuaiyun.com/billluffy/article/details/78817310</guid><author>billluffy</author><pubDate>Fri, 15 Dec 2017 22:24:41 +0800</pubDate><description><![CDATA[1.错误提示：java.net.BindException: Address already in use: bind
    at sun.nio.ch.Net.bind0(Native Method)
    at sun.nio.ch.Net.bind(Net.java:433)
    at sun.nio.ch.Net.bind(Net.java:425)
    at sun.nio.c]]></description><category></category></item><item><title><![CDATA[递归下降语法分析实验]]></title><link>https://blog.youkuaiyun.com/billluffy/article/details/78733696</link><guid>https://blog.youkuaiyun.com/billluffy/article/details/78733696</guid><author>billluffy</author><pubDate>Wed, 06 Dec 2017 18:30:58 +0800</pubDate><description><![CDATA[一、实验目的  
通过设计、开发一个高级语言的递归下降语法分析程序，实现 
对词法分析程序所提供的单词序列进行语法检查和结构分析，加 
深对相关课堂教学内容的理解，提高语法分析方法的实践能力。  
二、实验要求  
(1)理解语法分析在编译程序中的作用，以及它与词法分析程序的 
关系；  
(2)掌握递归下降语法分析方法的主要原理；  
(3)理解递归下降分析法对文法的要求；  
(4)熟练掌握Se]]></description><category></category></item><item><title><![CDATA[自定义@Query 中使用分页]]></title><link>https://blog.youkuaiyun.com/billluffy/article/details/78699251</link><guid>https://blog.youkuaiyun.com/billluffy/article/details/78699251</guid><author>billluffy</author><pubDate>Sat, 02 Dec 2017 23:33:49 +0800</pubDate><description><![CDATA[1.问题由来：有一个比较复杂的sql请求，所以自定义sql写起来比较顺手，也比较清晰，但是不能直接使用，Pageable进行分页，需要进行一系列配置。2.解决方案：public interface UserRepository extends JpaRepository<User, Long> {
  @Query(value = "SELECT * FROM USERS WHERE LASTNAM]]></description><category></category></item><item><title><![CDATA[List<String> 调用Collection.sort()整个流程的知识点]]></title><link>https://blog.youkuaiyun.com/billluffy/article/details/78692194</link><guid>https://blog.youkuaiyun.com/billluffy/article/details/78692194</guid><author>billluffy</author><pubDate>Fri, 01 Dec 2017 23:45:08 +0800</pubDate><description><![CDATA[1.sort()本身：Collection.sort()方法有两种形式， 
格式一： public static 2.Comparator接口：这个接口中最重要的方法实现就是compareTo(),这也是排序的关键，举个例子（String 中实现的compareTo()方法）：/* @param   anotherString   the <code>String</code> to be comp]]></description><category></category></item><item><title><![CDATA[怎么给视图的字段一个默认值]]></title><link>https://blog.youkuaiyun.com/billluffy/article/details/78653992</link><guid>https://blog.youkuaiyun.com/billluffy/article/details/78653992</guid><author>billluffy</author><pubDate>Tue, 28 Nov 2017 13:21:38 +0800</pubDate><description><![CDATA[问题由来：在使用Spring JPA来操作一张left join的视图的时候，报了一个错误 
 
就是在null转为long的时候报的错。 
一拿到这个问题，第一想法是修改set方法，判断null然后给0，但是转念一想，long是基础数据类型，都没办法用object去接，这就很棘手了。所以只能修改一下视图了。解决方案：我使用的是mysql数据库，用ifnull函数处理一下就好了。select a.*]]></description><category></category></item><item><title><![CDATA[Netty框架服务端主动向客户端通信]]></title><link>https://blog.youkuaiyun.com/billluffy/article/details/78585838</link><guid>https://blog.youkuaiyun.com/billluffy/article/details/78585838</guid><author>billluffy</author><pubDate>Mon, 20 Nov 2017 19:44:56 +0800</pubDate><description><![CDATA[项目场景：一个车联网项目，很多很多台车辆会定时像服务端发包，所以都是使用TCP长连接的方式。现在有一个需求是，服务端需要向客户端主动的发送升级命令，由于使用的事件驱动的Netty框架，我们怎么才能由服务端主动的向客服端通信呢？解决方案：package cn.ac.yangge.domain;import io.netty.channel.Channel;import java.util.HashMa]]></description><category></category></item><item><title><![CDATA[一个让我心态爆炸的bug]]></title><link>https://blog.youkuaiyun.com/billluffy/article/details/78571291</link><guid>https://blog.youkuaiyun.com/billluffy/article/details/78571291</guid><author>billluffy</author><pubDate>Sat, 18 Nov 2017 21:10:08 +0800</pubDate><description><![CDATA[问题由来：外包使用的netty框架，我每隔5分钟遍历一次channel,然后把isActive()==false的channel都移除，把数据库里的设备状态也改为不在线。 
然后！！！我写了个很傻比的设定，每次遍历之前，先检查一下channelMap是否为null或者isEmpty()，如果是！就把数据库中所有的设备都记为离线状态！！产生的问题：我是直接服务器和本地测试采用了同一台服务器（也因为是外]]></description><category></category></item></channel></rss>