<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[变是永远不变的......]]></title><description><![CDATA[希望和大家交流]]></description><link>https://blog.csdn.net/wangdan199112</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; wangdan199112]]></copyright><item><title><![CDATA[升级mysql-connector-java中timestamp的坑]]></title><link>https://blog.csdn.net/wangdan199112/article/details/78683732</link><guid>https://blog.csdn.net/wangdan199112/article/details/78683732</guid><author>wangdan199112</author><pubDate>Fri, 01 Dec 2017 10:07:59 +0800</pubDate><description><![CDATA[现象：connector在5.1.23版本后，java.util.Date的数据中小数秒会被拼接到sql中，导致更新、查询中timestamp用在where条件找不到存在的数据。问题复盘：我们项目中之前用到的connector版本是5.1.21，需要升级到5.1.32。昨天升级后发布一台机器发现了报错。报错的方法是完成生成派单（F单insert），然后更新该派单的rootid（F单update）的功]]></description><category></category></item><item><title><![CDATA[由index_merge引发的死锁事件]]></title><link>https://blog.csdn.net/wangdan199112/article/details/78217344</link><guid>https://blog.csdn.net/wangdan199112/article/details/78217344</guid><author>wangdan199112</author><pubDate>Thu, 12 Oct 2017 17:17:15 +0800</pubDate><description><![CDATA[问题：最近出现大量如下报错com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction
    at sun.reflect.NativeConstructorAccessorImpl.newIn]]></description><category></category></item><item><title><![CDATA[es构成]]></title><link>https://blog.csdn.net/wangdan199112/article/details/77196948</link><guid>https://blog.csdn.net/wangdan199112/article/details/77196948</guid><author>wangdan199112</author><pubDate>Tue, 15 Aug 2017 16:49:47 +0800</pubDate><description><![CDATA[面向文档Elasticsearch 是 面向文档型数据库，这意味着它存储的是整个对象或者 文档，它不但会存储它们，还会为他们建立索引，这样你就可以搜索他们了。你可以在 Elasticsearch 中索引、搜索、排序和过滤这些文档。不需要成行成列的数据。这将会是完全不同的一种面对数据的思考方式，这也是为什么 Elasticsearch 可以执行复杂的全文搜索的原因。jsonElasticsearch使]]></description><category></category></item><item><title><![CDATA[分布式锁2 Java非常用技术方案探讨之ZooKeeper]]></title><link>https://blog.csdn.net/wangdan199112/article/details/76459832</link><guid>https://blog.csdn.net/wangdan199112/article/details/76459832</guid><author>wangdan199112</author><pubDate>Mon, 31 Jul 2017 17:35:34 +0800</pubDate><description><![CDATA[前言:由于在平时的工作中，线上服务器是分布式多台部署的，经常会面临解决分布式场景下数据一致性的问题，那么就要利用分布式锁来解决这些问题。以自己结合实际工作中的一些经验和网上看到的一些资料，做一个讲解和总结。之前我已经写了一篇关于分布式锁的文章: 分布式锁1 Java常用技术方案 。上一篇文章中主要写的是在日常项目中，较为常见的几种实现分布式锁的方法。通过这些方法，基本上可以解决我们日常工作中大部分场]]></description><category></category></item><item><title><![CDATA[分布式锁1 Java常用技术方案]]></title><link>https://blog.csdn.net/wangdan199112/article/details/76451708</link><guid>https://blog.csdn.net/wangdan199112/article/details/76451708</guid><author>wangdan199112</author><pubDate>Mon, 31 Jul 2017 17:11:07 +0800</pubDate><description><![CDATA[前言:  由于在平时的工作中，线上服务器是分布式多台部署的，经常会面临解决分布式场景下数据一致性的问题，那么就要利用分布式锁来解决这些问题。所以自己结合实际工作中的一些经验和网上看到的一些资料，做一个讲解和总结。希望这篇文章可以方便自己以后查阅，同时要是能帮助到他人那也是很好的。
第一步，自身的业务场景:  在我日常做的项目中，目前涉及了以下这些业务场景:  场景一: 比如分配任务场景。在这个场景中]]></description><category></category></item><item><title><![CDATA[activiti]]></title><link>https://blog.csdn.net/wangdan199112/article/details/74017247</link><guid>https://blog.csdn.net/wangdan199112/article/details/74017247</guid><author>wangdan199112</author><pubDate>Fri, 30 Jun 2017 23:24:49 +0800</pubDate><description><![CDATA[初识Activiti 
1.1. 工作流与工作流引擎 
工作流（workflow）就是工作流程的计算模型，即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行，从而实现某个预期的业务目标，或者促使此目标的实现”。（我的理解就是：将部分或者全部的工作流程、逻辑让计算机帮你]]></description><category></category></item><item><title><![CDATA[【自动化学习笔记】环境搭建Selenium2+Eclipse+Java+TestNG_(一)]]></title><link>https://blog.csdn.net/wangdan199112/article/details/72869462</link><guid>https://blog.csdn.net/wangdan199112/article/details/72869462</guid><author>wangdan199112</author><pubDate>Mon, 05 Jun 2017 18:08:30 +0800</pubDate><description><![CDATA[第一步  安装JDK



第二步 下载Eclipse



第三步 在Eclipse中安装TestNG



第1种方法：直接安装 Help->Install New Software

name:MyTestNG 
location:http://beust.com/eclipse 
 
一路next~~

第2种方法：离线安装

1.下载附件(eclipse-testng离线包.zip)，并]]></description><category></category></item><item><title><![CDATA[8个方法让你成为更优秀的程序员]]></title><link>https://blog.csdn.net/wangdan199112/article/details/71512440</link><guid>https://blog.csdn.net/wangdan199112/article/details/71512440</guid><author>wangdan199112</author><pubDate>Thu, 11 May 2017 09:47:10 +0800</pubDate><description><![CDATA[现在是时候认真考虑提高你的编程技能了！这是给自己设定的一个简单的职业生涯提升目标，但是“成为一个高薪程序员”不是一个简单的目标。一方面，“我要变得更优秀”意味着你知道“更优秀”是什么样的。另一方面，太多立志改善的人却不知道怎么做。 
下面我要分享8个可操作的，可提高编程技能的行为准则。1.提醒自己得学习学习的第一步是要认识到，你不懂。因为不懂，所以才需要学习。这听上去很明显，但有经验的程序员肯定记得]]></description><category></category></item><item><title><![CDATA[http工作过程]]></title><link>https://blog.csdn.net/wangdan199112/article/details/56292303</link><guid>https://blog.csdn.net/wangdan199112/article/details/56292303</guid><author>wangdan199112</author><pubDate>Tue, 21 Feb 2017 19:37:54 +0800</pubDate><description><![CDATA[最近做一个和其他公司通信的项目，用到了httpclient，通信过程用http，下面我们说一说http的工作过程网络四层工作过程地址解析如用客户端浏览器请求这个页面：http://localhost.com:8080/index.htm 
    从中分解出协议名、主机名、端口、对象路径等部分，对于我们的这个地址，解析得到的结果如下：     协议名：http     主机名：localhost]]></description><category></category></item><item><title><![CDATA[ivr项目总结]]></title><link>https://blog.csdn.net/wangdan199112/article/details/56292235</link><guid>https://blog.csdn.net/wangdan199112/article/details/56292235</guid><author>wangdan199112</author><pubDate>Tue, 21 Feb 2017 18:50:27 +0800</pubDate><description><![CDATA[项目背景最近一周一直在做a公司和b公司的ivr切换工作，那首先可能你要问了“啥是ivr？” 
官方：IVR，(Interactive Voice Response)即互动式语音应答，您只须用电话即可进入服务中心，可以根据操作提示收听手机娱乐产品，也可以根据用户输入的内容播放有关的信息。 
举例：“欢迎致电中国移动 业务查询请按1 手机充值请按2 业务办理请按3 语音导航请按6 人工服务请按0 ”，]]></description><category></category></item><item><title><![CDATA[16有些略仓促]]></title><link>https://blog.csdn.net/wangdan199112/article/details/54861588</link><guid>https://blog.csdn.net/wangdan199112/article/details/54861588</guid><author>wangdan199112</author><pubDate>Sat, 04 Feb 2017 10:53:15 +0800</pubDate><description><![CDATA[2016年一转眼过去了，这一年给我的回忆和收获是不同往年的，虽然说18岁已成年，但感觉对于社会自己依然是个新生儿，这段时间我是个听客和看客，享受习惯了学生年代的氛围与快乐，到了一个新环境还真有些措手不及，毕竟它认为你是个成年人，所以得工作、交往都应该慢慢成熟起来。
    ![这里写图片描述](http://img.blog.csdn.net/20170204105116427?watermark/]]></description><category></category></item><item><title><![CDATA[java完美处理表情符]]></title><link>https://blog.csdn.net/wangdan199112/article/details/53290154</link><guid>https://blog.csdn.net/wangdan199112/article/details/53290154</guid><author>wangdan199112</author><pubDate>Tue, 22 Nov 2016 19:10:49 +0800</pubDate><description><![CDATA[遇到这个问题是在测试时发现用的是mysql，字符集为utf8，查到各路大神的办法，需要修改表的字符集为utf8mb4，但是试了很多次，无果~ 
于是尝试用java来实现，其实主要就是入库时用正则将表情转为字符，然后从库中取出时为string: /**
     * 将str中的emoji表情转为byte数组
     *
     * @param str
     * @return
     *]]></description><category></category></item><item><title><![CDATA[IDEA jetty - 热部署插件JRebel 安装使用教程]]></title><link>https://blog.csdn.net/wangdan199112/article/details/53047218</link><guid>https://blog.csdn.net/wangdan199112/article/details/53047218</guid><author>wangdan199112</author><pubDate>Sat, 05 Nov 2016 19:45:23 +0800</pubDate><description><![CDATA[1、下载插件并安装 
jrebel-idea6.4.8 
本地安装： 
2、重启idea 
3、激活 
http://idea.lanyus.com/ilanyulanyu19950316@gmail.com 
点击激活。 
查看效果： 
4、应用 
选择你要热部署的项目： 
注意： 
使用jetty配合jrebel进行热部署： 
修改pom.xml中 jetty的配置<plugin>]]></description><category></category></item><item><title><![CDATA[git+jenkins自动构建二]]></title><link>https://blog.csdn.net/wangdan199112/article/details/52964772</link><guid>https://blog.csdn.net/wangdan199112/article/details/52964772</guid><author>wangdan199112</author><pubDate>Sat, 05 Nov 2016 19:34:53 +0800</pubDate><description><![CDATA[紧接上篇文章，我们下面说一下jenkins配置： 
6、系统管理 –> 系统设置 –> GitHub –> Add GitHub Sever 
 
- 配置源码管理 
 
1. 填写项目的git地址, eg. https://github.com/your_name/your_repo_name.git  
2. 添加github用户和密码 
选择githubweb源码库浏览器，并填上你的项目UR]]></description><category></category></item><item><title><![CDATA[git+jenkins自动构建一]]></title><link>https://blog.csdn.net/wangdan199112/article/details/52963472</link><guid>https://blog.csdn.net/wangdan199112/article/details/52963472</guid><author>wangdan199112</author><pubDate>Sat, 05 Nov 2016 19:34:09 +0800</pubDate><description><![CDATA[环境准备：virbox+vagrant+redhat 
环境配置：maven、jdk不再赘述 
插件安装：gcc-c++,prce-devel,zlib-devel,openssl-devel 
1、添加下载源到repos中

wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

2]]></description><category></category></item><item><title><![CDATA[mac下安装virtualbox+vagrant]]></title><link>https://blog.csdn.net/wangdan199112/article/details/52963529</link><guid>https://blog.csdn.net/wangdan199112/article/details/52963529</guid><author>wangdan199112</author><pubDate>Sat, 29 Oct 2016 11:55:04 +0800</pubDate><description><![CDATA[1、下载virtualbox资源VirtualBox_mac_5.0.24.dmg 
centosMix CentOS-7.1.1503-x86_64-netboot.box2、下载vagrantvagrant_1.8.1.zip 
请到云盘下载3、将vagrant box文件条件到虚拟机中vagrant box add centosMix CentOS-7.1.1503-x86_64-netboo]]></description><category></category></item><item><title><![CDATA[验证码暴破、撞库]]></title><link>https://blog.csdn.net/wangdan199112/article/details/52912153</link><guid>https://blog.csdn.net/wangdan199112/article/details/52912153</guid><author>wangdan199112</author><pubDate>Mon, 24 Oct 2016 15:31:31 +0800</pubDate><description><![CDATA[解决思路： 
1、每次产生的验证码都做及时清除缓存 
2、用户密码做MD5处理 
3、用户登录次数限制@ResponseBody
    @RequestMapping(value = "/login", method = RequestMethod.POST)
    public ApiResult login(@RequestParam(value = "user_name") String]]></description><category></category></item><item><title><![CDATA[sms+quartz多次重发短信]]></title><link>https://blog.csdn.net/wangdan199112/article/details/52764870</link><guid>https://blog.csdn.net/wangdan199112/article/details/52764870</guid><author>wangdan199112</author><pubDate>Sun, 09 Oct 2016 11:23:10 +0800</pubDate><description><![CDATA[定时短信总是重发，反反复复半个月试了很多种方案：方案一思路检查逻辑，查看是否是因为一个用户报了同一学校不同分校的topic,获取到重复的userid,从而得到了相同的mobile,需要对手机号去重操作if(!strMobile.contains(userTopicInfoVoList.get(mobiles).getMobile())){
mobile.append(userTopicInfoVoL]]></description><category></category></item><item><title><![CDATA[quartz执行两次]]></title><link>https://blog.csdn.net/wangdan199112/article/details/52764031</link><guid>https://blog.csdn.net/wangdan199112/article/details/52764031</guid><author>wangdan199112</author><pubDate>Sun, 09 Oct 2016 10:38:23 +0800</pubDate><description><![CDATA[在现在的项目中发现Quartz执行了两次，在网上找到下列解决方案，我是用的第一种，灰常感谢这位哥们，转自：http://my.oschina.net/EugeneQiu/blog/265040?p=1 
很多人在使用spring的Quartz配置定时任务时,会发现每次定时时间到达后,指定的定时方法同时执行了两次。解决quartz定时任务被触发两次的问题: 
其中告诉tomcat，在启动的时候加载we]]></description><category></category></item><item><title><![CDATA[mybatis-generator-core工具使用]]></title><link>https://blog.csdn.net/wangdan199112/article/details/52452824</link><guid>https://blog.csdn.net/wangdan199112/article/details/52452824</guid><author>wangdan199112</author><pubDate>Tue, 06 Sep 2016 19:31:59 +0800</pubDate><description><![CDATA[1、下载mybatis-generator-core包： 
相关jar包，请在此下载 
2、配置generatorConfig.xml<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE generatorConfiguration  
  PUBLIC "-//mybatis.org//DTD MyBatis Generator Configurat]]></description><category></category></item></channel></rss>