<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/nerdsking</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; nerdsking]]></copyright><item><title><![CDATA[java读写文件详解]]></title><link>https://blog.youkuaiyun.com/nerdsking/article/details/52389683</link><guid>https://blog.youkuaiyun.com/nerdsking/article/details/52389683</guid><author>nerdsking</author><pubDate>Wed, 31 Aug 2016 22:25:04 +0800</pubDate><description><![CDATA[file(内存)----输入流---->【程序】----输出流---->file(内存)




当我们读写文本文件的时候，采用Reader是非常方便的，比如FileReader，InputStreamReader和BufferedReader。其中最重要的类是InputStreamReader， 它是字节转换为字符的桥梁。你可以在构造器重指定编码的方式，如果不指定的话将采用底层操作系统]]></description><category></category></item><item><title><![CDATA[MySQL架构和原理]]></title><link>https://blog.youkuaiyun.com/nerdsking/article/details/52357026</link><guid>https://blog.youkuaiyun.com/nerdsking/article/details/52357026</guid><author>nerdsking</author><pubDate>Mon, 29 Aug 2016 22:11:22 +0800</pubDate><description><![CDATA[1.MySQL基础

MySQL是一个开放源代码的关系数据库管理系统。原开发者为瑞典的MySQL AB公司，最早是在2001年MySQL3.23进入到管理员的视野并在之后获得广泛的应用。 2008年MySQL公司被Sun公司收购并发布了首个收购之后的版本MySQL5.1，该版本引入分区、基于行复制以及plugin API。移除了原有的BerkeyDB引擎，同时，Oracle收购InnoDB O]]></description><category></category></item><item><title><![CDATA[Thrift的工作原理]]></title><link>https://blog.youkuaiyun.com/nerdsking/article/details/52357021</link><guid>https://blog.youkuaiyun.com/nerdsking/article/details/52357021</guid><author>nerdsking</author><pubDate>Mon, 29 Aug 2016 22:10:12 +0800</pubDate><description><![CDATA[来自 ： http://houjixin.blog.163.com/blog/static/35628410201501654039437/
Thrift的工作原理
1.普通的本地函数调用过程
例如，有如下关于本地函数的调用的java代码，在函数caller中调用函数getStr获取两个字符串的拼接结果：



 代码3.1
       本地函数调用调用方和被调用方都在一个程序内]]></description><category></category></item><item><title><![CDATA[Google Protocol Buffer 的使用和原理]]></title><link>https://blog.youkuaiyun.com/nerdsking/article/details/52357002</link><guid>https://blog.youkuaiyun.com/nerdsking/article/details/52357002</guid><author>nerdsking</author><pubDate>Mon, 29 Aug 2016 22:08:11 +0800</pubDate><description><![CDATA[来自 ： http://www.ibm.com/developerworks/cn/linux/l-cn-gpb/

简介

什么是 Google Protocol Buffer？ 假如您在网上搜索，应该会得到类似这样的文字介绍：

Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准，目前已经正在使用的有超过 48,1]]></description><category></category></item><item><title><![CDATA[Redis原理和简单实用场景]]></title><link>https://blog.youkuaiyun.com/nerdsking/article/details/52356993</link><guid>https://blog.youkuaiyun.com/nerdsking/article/details/52356993</guid><author>nerdsking</author><pubDate>Mon, 29 Aug 2016 22:06:17 +0800</pubDate><description><![CDATA[来自 ： http://blog.sina.com.cn/s/blog_5a15b7d10101gizu.html
Redis是一个基于key-value的高速缓存系统，类似于memcached，但是支持更复杂的数据结构List、Set、Sorted Set，并且有持久化的功能。

由于近期工作很多地方都用到了它，所以花了不少时间来阅读文章、编码实验，了解一下Redis都能做些什么，能有什么]]></description><category></category></item><item><title><![CDATA[UML类图画法]]></title><link>https://blog.youkuaiyun.com/nerdsking/article/details/52346430</link><guid>https://blog.youkuaiyun.com/nerdsking/article/details/52346430</guid><author>nerdsking</author><pubDate>Sun, 28 Aug 2016 16:26:50 +0800</pubDate><description><![CDATA[来自 ： http://www.360doc.com/content/13/0304/13/10504424_269223190.shtml










类图画法

类之间的几种关系：泛化（Generalization）、实现（Realization）、关联（Association）（又分一般关联、聚合（Aggregation）、组合（Composition））、]]></description><category></category></item><item><title><![CDATA[乐观锁和悲观锁的区别]]></title><link>https://blog.youkuaiyun.com/nerdsking/article/details/52346413</link><guid>https://blog.youkuaiyun.com/nerdsking/article/details/52346413</guid><author>nerdsking</author><pubDate>Sun, 28 Aug 2016 16:23:44 +0800</pubDate><description><![CDATA[来自 ： http://blog.youkuaiyun.com/hongchangfirst/article/details/26004335




悲观锁(Pessimistic Lock), 顾名思义，就是很悲观，每次去拿数据的时候都认为别人会修改，所以每次在拿数据的时候都会上锁，这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制，比如行锁，表锁等，读]]></description><category></category></item><item><title><![CDATA[单例模式和各种工厂模式的UML类图详解]]></title><link>https://blog.youkuaiyun.com/nerdsking/article/details/52346367</link><guid>https://blog.youkuaiyun.com/nerdsking/article/details/52346367</guid><author>nerdsking</author><pubDate>Sun, 28 Aug 2016 16:18:16 +0800</pubDate><description><![CDATA[来自 ： http://blog.youkuaiyun.com/zh634455283/article/details/8285520




设计模式的重要性就不用多说了。各种设计模式在实际项目中用的是比比皆是。

一：简单工厂模式和工厂模式



懂得一点UML，一看这幅类图，就知道工厂模式是用来干嘛的，说白了，就是提供一个抽象的基类接口，使得用户不用记住具体的要成成的新的类的名字。]]></description><category></category></item><item><title><![CDATA[代码规范工具-Checkstyle使用手册]]></title><link>https://blog.youkuaiyun.com/nerdsking/article/details/52325783</link><guid>https://blog.youkuaiyun.com/nerdsking/article/details/52325783</guid><author>nerdsking</author><pubDate>Fri, 26 Aug 2016 10:11:29 +0800</pubDate><description><![CDATA[来自 ： http://blog.youkuaiyun.com/maritimesun/article/details/7668718




 前段时间中心需要对外包的项目进行代码质量管理，所以在此对前段时间的工作做下总结。

      现在很多开源工具都可以对代码进行规范审核，比较流行的有以下几款，大致给个简单介绍。

     PMD：是一款采用BSD协议发布的Java程序代码检查工]]></description><category></category></item><item><title><![CDATA[Log4j使用教程]]></title><link>https://blog.youkuaiyun.com/nerdsking/article/details/52325618</link><guid>https://blog.youkuaiyun.com/nerdsking/article/details/52325618</guid><author>nerdsking</author><pubDate>Fri, 26 Aug 2016 09:57:15 +0800</pubDate><description><![CDATA[来自 ： http://www.codeceo.com/article/log4j-usage.html

日志是应用软件中不可缺少的部分，Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录。在apache网站：jakarta.apache.org/log4j 可以免费下载到Log4j最新版本的软件包。

一、入门实例

1.新建一个JAva工程，导入包log]]></description><category></category></item><item><title><![CDATA[nginx缓存cache的几种方式]]></title><link>https://blog.youkuaiyun.com/nerdsking/article/details/52315372</link><guid>https://blog.youkuaiyun.com/nerdsking/article/details/52315372</guid><author>nerdsking</author><pubDate>Thu, 25 Aug 2016 15:56:16 +0800</pubDate><description><![CDATA[来自 ： http://bbs.linuxtone.org/thread-7120-1-1.html


官方详细参数：http://wiki.nginx.org/NginxHttpProxyModule

1、传统缓存之一（404）

这个办法是把nginx的404错误定向到后端,然后用proxy_store把后端返回的页面保存。

    location / {
    ]]></description><category></category></item><item><title><![CDATA[分页查询的实现]]></title><link>https://blog.youkuaiyun.com/nerdsking/article/details/52314213</link><guid>https://blog.youkuaiyun.com/nerdsking/article/details/52314213</guid><author>nerdsking</author><pubDate>Thu, 25 Aug 2016 14:26:50 +0800</pubDate><description><![CDATA[真分页：封装查询语句：
1.oracle
"select * from (select rownum r,t1.* from (" + statment + ") t1 where rownum=" + start



2.sqlserver
"select * from ( select ROW_NUMBER() OVER(" + orderby + ") as rownum ,]]></description><category></category></item><item><title><![CDATA[java处理事务的方法]]></title><link>https://blog.youkuaiyun.com/nerdsking/article/details/52313780</link><guid>https://blog.youkuaiyun.com/nerdsking/article/details/52313780</guid><author>nerdsking</author><pubDate>Thu, 25 Aug 2016 13:34:45 +0800</pubDate><description><![CDATA[1.使用JDBC+RDB处理：
用JDBC的实现的2个方法：
①简单的事务处理
try{

connection.setAutoCommit(false);
//DAO各种操作
connection. commit();
} catch (Exception e) {
connection. rollback();
}
②复杂的事务处理
自己写一个java注解，用动态代理的]]></description><category></category></item><item><title><![CDATA[Tomcat 集群中 Session 共享的方法]]></title><link>https://blog.youkuaiyun.com/nerdsking/article/details/52311623</link><guid>https://blog.youkuaiyun.com/nerdsking/article/details/52311623</guid><author>nerdsking</author><pubDate>Thu, 25 Aug 2016 09:48:26 +0800</pubDate><description><![CDATA[来自  ： http://www.cnblogs.com/zhangdie/p/5730194.html  

单节点低负荷的情况下，我们通常把一个WEB应用打成WAR包放WEB应用服务器，如TOMCAT下运行就行了(如图1)。但随着用户量的增加，系统负载日益增长，这时我们通常就会采用多台WEB应用服务器组成集群来分担负荷(tomcat1, tomcat2上同时部署了应用application]]></description><category></category></item><item><title><![CDATA[myBatis的批量插入数据总结]]></title><link>https://blog.youkuaiyun.com/nerdsking/article/details/51275571</link><guid>https://blog.youkuaiyun.com/nerdsking/article/details/51275571</guid><author>nerdsking</author><pubDate>Thu, 28 Apr 2016 16:40:31 +0800</pubDate><description><![CDATA[找了很多资料，很多都有问题，可能是数据库不同，这个是mysql的，测试可行。
insert>
insert id="insertBatch">
insert into student ( include refid="Base_Column_List"/> ) 
values 
foreach collection="list" item="item" index="index" sep]]></description><category></category></item><item><title><![CDATA[第一个实际模块成总结]]></title><link>https://blog.youkuaiyun.com/nerdsking/article/details/51144392</link><guid>https://blog.youkuaiyun.com/nerdsking/article/details/51144392</guid><author>nerdsking</author><pubDate>Wed, 13 Apr 2016 16:16:42 +0800</pubDate><description><![CDATA[由一个标准的购物流程变成了一个有免单状态的购物流程，由于免单的特殊性及其优惠方式的属性，添加了表，接口，更改了订单生成的接口，同时由于免单状态的显示问题和安全问题，将这个游戏与标准流程的购物游戏区别开来。
普通游戏不须考虑安全问题，而这个游戏，需要将免单的样式在页面上显示出来，并且在后台查出来才能判定免单，这就定义了逻辑上的优先级（即后台的状态（数据库中表：是否已经免过单了，购物车中商品数量：1]]></description><category></category></item><item><title><![CDATA[js设置Cookie和取出Cookie]]></title><link>https://blog.youkuaiyun.com/nerdsking/article/details/51029536</link><guid>https://blog.youkuaiyun.com/nerdsking/article/details/51029536</guid><author>nerdsking</author><pubDate>Thu, 31 Mar 2016 19:46:51 +0800</pubDate><description><![CDATA[今天老大交给我一个任务，好高端，用jq往Cookie存值，但是由于是已经成型的项目，又是去更新api，所以我并不打算引入Cookies.js，所以网上找了些原生js的写法，结合了很多大哥的经验，终于写出了一个不报错的而且不乱码的。
例子：
//设置cookie
function setCookie(cookiesStr) 
{ 
    var Days = 30; //时间
    ]]></description><category></category></item><item><title><![CDATA[数据库读写分离]]></title><link>https://blog.youkuaiyun.com/nerdsking/article/details/50973881</link><guid>https://blog.youkuaiyun.com/nerdsking/article/details/50973881</guid><author>nerdsking</author><pubDate>Thu, 24 Mar 2016 18:10:16 +0800</pubDate><description><![CDATA[﻿﻿
数据库读写分离，有自动判断同一事务中的对数据库的操作的框架，没有用，手动分开。
因为照理说，读库应该实时更新数据保持与写库的同步，但是这种更新可能延时和中断，所以同一事务（方法）中读写库的操作应该都放在写库中，这样可以保证事务的一致性。]]></description><category></category></item><item><title><![CDATA[校验某值不为空和“”的新方法]]></title><link>https://blog.youkuaiyun.com/nerdsking/article/details/50967522</link><guid>https://blog.youkuaiyun.com/nerdsking/article/details/50967522</guid><author>nerdsking</author><pubDate>Wed, 23 Mar 2016 22:47:20 +0800</pubDate><description><![CDATA[校验某值不为空和“”，还在用null！==a && !“”.equals(a)吗，是不是很累，有新的方法直接用StringUtils中封装的方法。


例子：
import org.apache.commons.lang.StringUtils;

if (StringUtils.isNotBlank(subType)){
ztConstantsPOs.add(commDAO.rea]]></description><category></category></item><item><title><![CDATA[打印日志的写法]]></title><link>https://blog.youkuaiyun.com/nerdsking/article/details/50967495</link><guid>https://blog.youkuaiyun.com/nerdsking/article/details/50967495</guid><author>nerdsking</author><pubDate>Wed, 23 Mar 2016 22:43:39 +0800</pubDate><description><![CDATA[今天了解了打印日志的办法，我们底层使用的是log4j，但是真调用的时候是SLF4J，即简单日志门面（Simple Logging Facade for Java），不是具体的日志解决方案，它只服务于各种各样的日志系统。按照官方的说法，SLF4J是一个用于日志系统的简单Facade，允许最终用户在部署其应用时使用其所希望的日志系统。

实际上，SLF4J所提供的核心API是一些接口以及一个Log]]></description><category></category></item></channel></rss>