<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[用笑掩饰伤痕]]></title><description><![CDATA[Java企业级应用开发知识分享]]></description><link>https://blog.youkuaiyun.com/fiwrc</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fiwrc]]></copyright><item><title><![CDATA[12306 是如何支撑百万 QPS 的？]]></title><link>https://blog.youkuaiyun.com/fiwrc/article/details/102750770</link><guid>https://blog.youkuaiyun.com/fiwrc/article/details/102750770</guid><author>fiwrc</author><pubDate>Fri, 25 Oct 2019 22:11:03 +0800</pubDate><description><![CDATA[来源：掘金，作者：绘你一世倾城

https://juejin.im/post/5d84e21f6fb9a06ac8248149


12306 抢票，极限并发带来的思考



每到节假日期间，一二线城市返乡、外出游玩的人们几乎都面临着一个问题：抢火车票！虽然现在大多数情况下都能订到票，但是放票瞬间即无票的场景，相信大家都深有体会。



尤其是春节期间，大家不仅使用 12306，还会考虑“...]]></description><category></category></item><item><title><![CDATA[http状态码200,300,404详细说明]]></title><link>https://blog.youkuaiyun.com/fiwrc/article/details/80337746</link><guid>https://blog.youkuaiyun.com/fiwrc/article/details/80337746</guid><author>fiwrc</author><pubDate>Wed, 16 May 2018 15:31:06 +0800</pubDate><description><![CDATA[1开头的http状态码表示临时响应并需要请求者继续执行操作的状态代码。100   （继续） 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分，正在等待其余部分。  101   （切换协议） 请求者已要求服务器切换协议，服务器已确认并准备切换。2开头的http状态码表示请求成功200     成功处理了请求，一般情况下都是返回此状态码； 201     请求成功并且服务器创建了新的...]]></description><category></category></item><item><title><![CDATA[搭建单机版的FastDFS服务器基于虚拟机]]></title><link>https://blog.youkuaiyun.com/fiwrc/article/details/79781089</link><guid>https://blog.youkuaiyun.com/fiwrc/article/details/79781089</guid><author>fiwrc</author><pubDate>Sun, 01 Apr 2018 20:05:41 +0800</pubDate><description><![CDATA[文章转自：https://blog.youkuaiyun.com/u012453843/article/details/69951920仅适用学习由于FastDFS集群搭建非常复杂，对于初期学习FastDFS来说，搭建个单机版的作为入门更为实际一些。第一步：搭建虚拟环境        FastDFS需要在Linux系统上安装，我们一般使用的都是Windows系统，这样就需要有虚拟环境，我这里使用Vmware1...]]></description><category></category></item><item><title><![CDATA[FastDFS完整安装部署操作手册(完整版)]]></title><link>https://blog.youkuaiyun.com/fiwrc/article/details/79781065</link><guid>https://blog.youkuaiyun.com/fiwrc/article/details/79781065</guid><author>fiwrc</author><pubDate>Sun, 01 Apr 2018 20:03:56 +0800</pubDate><description><![CDATA[文章转自：https://blog.youkuaiyun.com/XingJames/article/details/52759876学习参考FastDFS安装部署操作手册一 环境信息1 安装文件信息软件包软件版本备注FastDFSv5.02 Fastdfs-nginx-modulev1.16 Libeventv2.0.20 libfastcommon 下载最新的master即可nginxv1.11.3  2...]]></description><category></category></item><item><title><![CDATA[FastDFS完整安装部署操作手册(完整版)]]></title><link>https://blog.youkuaiyun.com/fiwrc/article/details/79776357</link><guid>https://blog.youkuaiyun.com/fiwrc/article/details/79776357</guid><author>fiwrc</author><pubDate>Sun, 01 Apr 2018 11:04:16 +0800</pubDate><description><![CDATA[转自：https://blog.youkuaiyun.com/XingJames/article/details/52759876转载仅仅作为学习备份用FastDFS安装部署操作手册一 环境信息1 安装文件信息软件包软件版本备注FastDFSv5.02 Fastdfs-nginx-modulev1.16 Libeventv2.0.20 libfastcommon 下载最新的master即可nginxv1.11...]]></description><category></category></item><item><title><![CDATA[Jquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解]]></title><link>https://blog.youkuaiyun.com/fiwrc/article/details/79659193</link><guid>https://blog.youkuaiyun.com/fiwrc/article/details/79659193</guid><author>fiwrc</author><pubDate>Thu, 22 Mar 2018 20:14:26 +0800</pubDate><description><![CDATA[转自：  https://www.cnblogs.com/sntetwt/p/4054387.htmlquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解一、Jquery遍历筛选数组1、jquery grep()筛选遍历数组1234567891011121314$().ready(   function(){       var array = [1,2,3,4,5,6,7,...]]></description><category></category></item><item><title><![CDATA[eclipse经常弹出Subversion Native Library Not Available,什么是JavaHL,svnkit完美解决]]></title><link>https://blog.youkuaiyun.com/fiwrc/article/details/79484768</link><guid>https://blog.youkuaiyun.com/fiwrc/article/details/79484768</guid><author>fiwrc</author><pubDate>Thu, 08 Mar 2018 15:12:52 +0800</pubDate><description><![CDATA[1&amp;gt;Subclipse版本 和SVN / JavaHL版本 版本要一致。当前版本Subclipse版本SVN / JavaHL版本1.12.x1.9.x1.10.x1.8.x1.8.x1.7.x1.6.x1.6.x1.4.x1.5.x1.2.x1.4.x1.0.x1.4.x2：什么 是JavaHL      JavaHL is a part of the Subversion project...]]></description><category></category></item><item><title><![CDATA[redis jar包下载地址]]></title><link>https://blog.youkuaiyun.com/fiwrc/article/details/73431871</link><guid>https://blog.youkuaiyun.com/fiwrc/article/details/73431871</guid><author>fiwrc</author><pubDate>Sun, 18 Jun 2017 15:21:58 +0800</pubDate><description><![CDATA[https://mvnrepository.com/artifact/redis.clients/jedis/2.9.0


maven




    redis.clients
    jedis
    2.9.0]]></description><category></category></item><item><title><![CDATA[eclipse链接redis报错MISCONF Redis is configured to save RDB snapshots]]></title><link>https://blog.youkuaiyun.com/fiwrc/article/details/73431450</link><guid>https://blog.youkuaiyun.com/fiwrc/article/details/73431450</guid><author>fiwrc</author><pubDate>Sun, 18 Jun 2017 15:07:17 +0800</pubDate><description><![CDATA[这是由于强制停止redis快照，不能持久化引起的，运行info命令查看redis快照的状态，如下：




rdb_last_bgsave_status:err   


解决方案如下：

运行　config set stop-writes-on-bgsave-error no　命令




关闭配置项stop-writes-on-bgsave-error解决该问题。]]></description><category></category></item><item><title><![CDATA[redis 安装后报错creating server tcp listening socket 127.0.0.1:6379: bind No error]]></title><link>https://blog.youkuaiyun.com/fiwrc/article/details/73412258</link><guid>https://blog.youkuaiyun.com/fiwrc/article/details/73412258</guid><author>fiwrc</author><pubDate>Sun, 18 Jun 2017 11:12:52 +0800</pubDate><description><![CDATA[window下安装redis报错：


creating server tcp listening socket 127.0.0.1:6379: bind No error
的解决方案如下按顺序输入如下命令就可以连接成功
1. Redis-cli.exe
2. shutdown
3. exit
4. redis-server.exe redis.windows.conf]]></description><category></category></item><item><title><![CDATA[ORACLE 查询多行转单行数据,并且用逗号分隔展示方法]]></title><link>https://blog.youkuaiyun.com/fiwrc/article/details/70240845</link><guid>https://blog.youkuaiyun.com/fiwrc/article/details/70240845</guid><author>fiwrc</author><pubDate>Wed, 19 Apr 2017 14:57:30 +0800</pubDate><description><![CDATA[oracle 10g或以上 一个wm_concat函数就可以解决。




如果是oracle 9i以下就有点麻烦了。




表结构如下：


NAME                            Null           Type


------------------------ ---------   -----


N_SEC_COD]]></description><category></category></item><item><title><![CDATA[jsp页面中几种注释的区别知识分享]]></title><link>https://blog.youkuaiyun.com/fiwrc/article/details/69665105</link><guid>https://blog.youkuaiyun.com/fiwrc/article/details/69665105</guid><author>fiwrc</author><pubDate>Sat, 08 Apr 2017 10:22:42 +0800</pubDate><description><![CDATA[第一种    当它出现在JSP页面时，微蘑菇将不被原样地加入JSP响应中，而且将出现在生成的HTML代码中，此代码将发送给浏览器；然后有浏览器负责忽略此注释。由于 HTML注释不是简单地被JSP忽略，因此它们可以包含内嵌的动态内容。HTML注释内的JSP表达式将被计算和执行，并送给浏览器的响应。
第二种
JSP页面中的普通注释：            以上两个注释都将由浏览器忽略。第三种
隐]]></description><category></category></item><item><title><![CDATA[Oracle中获取系统时间与格式化日期]]></title><link>https://blog.youkuaiyun.com/fiwrc/article/details/69665073</link><guid>https://blog.youkuaiyun.com/fiwrc/article/details/69665073</guid><author>fiwrc</author><pubDate>Sat, 08 Apr 2017 10:17:16 +0800</pubDate><description><![CDATA[获取系统日期： SYSDATE() 

　　格式化日期： 
     TO_CHAR(SYSDATE(),'YY/MM/DD HH24:MI:SS) 
　   或 TO_DATE(SYSDATE(),'YY/MM/DD HH24:MI:SS) 
　　 select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss')  from dual; 
　　 sele]]></description><category></category></item><item><title><![CDATA[oracle中的blob类型,clob类型,nclob类型主要区别是什么？]]></title><link>https://blog.youkuaiyun.com/fiwrc/article/details/62229845</link><guid>https://blog.youkuaiyun.com/fiwrc/article/details/62229845</guid><author>fiwrc</author><pubDate>Wed, 15 Mar 2017 16:47:12 +0800</pubDate><description><![CDATA[BLOB : 
全称为二进制大型对象（Binary Large Object)。它用于存储数据库中的大型二进制对象。可存储的最大大小为4G字节
CLOB : 
CLOB全称为字符大型对象（Character Large Object)。它与LONG数据类型类似，只不过CLOB用于存储数据库中的大型单字节字符数据块，不支持宽度不等的字符集。可存储的最大大小为4G字节


NCLOB :  ]]></description><category></category></item><item><title><![CDATA[关于Ehcache缓存中timeToLiveSeconds和timeToIdleSeconds区别]]></title><link>https://blog.youkuaiyun.com/fiwrc/article/details/54909868</link><guid>https://blog.youkuaiyun.com/fiwrc/article/details/54909868</guid><author>fiwrc</author><pubDate>Tue, 07 Feb 2017 14:57:07 +0800</pubDate><description><![CDATA[其中主要记录的是timeToLiveSeconds和timeToIdleSeconds；因为此俩容易搞混淆：

timeToLiveSeconds=200：缓存自创建日期起至失效时的间隔时间200；


timeToIdleSeconds=200：缓存创建以后，最后一次访问缓存的日期至失效之时的时间间隔200；





如果仅有 timeToLiveSeconds 那么 自]]></description><category></category></item><item><title><![CDATA[Ehcache详细解读]]></title><link>https://blog.youkuaiyun.com/fiwrc/article/details/54909763</link><guid>https://blog.youkuaiyun.com/fiwrc/article/details/54909763</guid><author>fiwrc</author><pubDate>Tue, 07 Feb 2017 14:51:00 +0800</pubDate><description><![CDATA[Ehcache 是现在最流行的纯Java开源缓存框架，配置简单、结构清晰、功能强大，最初知道它，是从Hibernate的缓存开始的。网上中文的EhCache材料以简单介绍和配置方法居多，如果你有这方面的问题，请自行google；对于API，官网上介绍已经非常清楚，请参见官网；但是很少见到特性说明和对实现原理的分析，因此在这篇文章里面，我会详细介绍和分析EhCache的特性，加上一些自己的理解和思考]]></description><category></category></item><item><title><![CDATA[StringUtils方法全集]]></title><link>https://blog.youkuaiyun.com/fiwrc/article/details/54909214</link><guid>https://blog.youkuaiyun.com/fiwrc/article/details/54909214</guid><author>fiwrc</author><pubDate>Tue, 07 Feb 2017 14:15:43 +0800</pubDate><description><![CDATA[org.apache.commons.lang.StringUtils中方法的操作对象是java.lang.String类型的对象，是JDK提供的String类型操作方法的补充，并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException，而是做了相应处理，例如，如果输入为null则返回也是null等，具体可以查看源代码)。

除了构造器，Str]]></description><category></category></item><item><title><![CDATA[StringUtils中 isNotEmpty 和isNotBlank的区别]]></title><link>https://blog.youkuaiyun.com/fiwrc/article/details/54909040</link><guid>https://blog.youkuaiyun.com/fiwrc/article/details/54909040</guid><author>fiwrc</author><pubDate>Tue, 07 Feb 2017 13:59:54 +0800</pubDate><description><![CDATA[转自：http://www.zhenhua.org/article.asp?id=625

 

isNotEmpty将空格也作为参数，isNotBlank则排除空格参数

参考

Quote
StringUtils方法的操作对象是java.lang.String类型的对象，是JDK提供的String类型操作方法的补充，并且是null安全的(即如果输入参数String为null则]]></description><category></category></item><item><title><![CDATA[java codeCache]]></title><link>https://blog.youkuaiyun.com/fiwrc/article/details/54862838</link><guid>https://blog.youkuaiyun.com/fiwrc/article/details/54862838</guid><author>fiwrc</author><pubDate>Sat, 04 Feb 2017 14:17:20 +0800</pubDate><description><![CDATA[1.问题

随着系统不断变大，访问量不断增加，出现了启动后的负载很高的问题。

关于启动后负载高的原因，网上很多文章都说是由于启动后随着代码的执行，jvm的jit编译器将部分热点代码编译为目标机器代码，由于编译线程占用了大量的cpu导致系统负载高。为了验证这个说法，在系统启动后使用jstack获取线程dump，并通过top –H –p查看当前进程中哪些线程在大量消耗cpu。结果发现，编译线]]></description><category></category></item><item><title><![CDATA[Java 可变 数组 可变 参数 实例]]></title><link>https://blog.youkuaiyun.com/fiwrc/article/details/54860908</link><guid>https://blog.youkuaiyun.com/fiwrc/article/details/54860908</guid><author>fiwrc</author><pubDate>Sat, 04 Feb 2017 09:40:24 +0800</pubDate><description><![CDATA[Java将可变长参数当成数组对待。可以将一个数组或可变的参数个数传递给可变长参数。当用可变的参数个数调用方法时，Java会创建一个数组并把参数传给它。
public class TestArgs {
	/**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-g]]></description><category></category></item></channel></rss>