<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[风雨中的小书生]]></title><description><![CDATA[博客重在学习，喜欢学习交流的欢迎加微信：wushiyi138173]]></description><link>https://blog.youkuaiyun.com/u014101628</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u014101628]]></copyright><item><title><![CDATA[hashtable和hashmap的区别]]></title><link>https://blog.youkuaiyun.com/u014101628/article/details/62090784</link><guid>https://blog.youkuaiyun.com/u014101628/article/details/62090784</guid><author>u014101628</author><pubDate>Tue, 14 Mar 2017 23:33:18 +0800</pubDate><description><![CDATA[HashTable 和 HashMap 存在很多的相同点，但是他们还是有几个比较重要的不同点。

第一：我们从他们的定义就可以看出他们的不同，HashTable 基于 Dictionary 类，而 HashMap 是基于 AbstractMap。Dictionary 是什么？它是任何可将键映射到相应值的类的抽象父类，而 AbstractMap 是基于 Map 接口的骨干实现，它以最大限度地减少]]></description><category></category></item><item><title><![CDATA[负载均衡指Hash取模算法]]></title><link>https://blog.youkuaiyun.com/u014101628/article/details/54943188</link><guid>https://blog.youkuaiyun.com/u014101628/article/details/54943188</guid><author>u014101628</author><pubDate>Thu, 09 Feb 2017 08:48:19 +0800</pubDate><description><![CDATA[在负载均衡的实现过程中有多种方式，随机，轮询，hash等，本处主要讲解基于java的hash算法，具体实现代码如下：


第一步创建以ip为健值得hashmap存放对象
public class IpMap
{
    // 待路由的Ip列表，Key代表Ip，Value代表该Ip的权重
    public static HashMap serverWeightMap = 
   ]]></description><category></category></item><item><title><![CDATA[Spring boot对hibernate建表（mysql）]]></title><link>https://blog.youkuaiyun.com/u014101628/article/details/53708140</link><guid>https://blog.youkuaiyun.com/u014101628/article/details/53708140</guid><author>u014101628</author><pubDate>Sat, 17 Dec 2016 15:39:47 +0800</pubDate><description><![CDATA[server.port=80

# Hibernate 相关配置

## 方言
#hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
## 显示Sql
hibernate.show_sql=true
## 自动建表方式
#hibernate.hbm2ddl.auto= update
## 自动扫描的包前缀
entitymanager.pack]]></description><category></category></item><item><title><![CDATA[maven统一版本管理]]></title><link>https://blog.youkuaiyun.com/u014101628/article/details/53214822</link><guid>https://blog.youkuaiyun.com/u014101628/article/details/53214822</guid><author>u014101628</author><pubDate>Fri, 18 Nov 2016 12:45:17 +0800</pubDate><description><![CDATA[在maven多模块项目中，做统一版本管理的时候通常在父类pom文件中定义《dependencyManagement》节点，该节点类申明的《dependencies》节点内容都是关于统一定义的资源版本，直接定义的《dependencies》节点里面的资源无需再引入版本相关的内容，举例如下：



dependencyManagement> 
 
    dependencies > 
]]></description><category></category></item><item><title><![CDATA[mina通信服务容量缓存问题]]></title><link>https://blog.youkuaiyun.com/u014101628/article/details/53098704</link><guid>https://blog.youkuaiyun.com/u014101628/article/details/53098704</guid><author>u014101628</author><pubDate>Wed, 09 Nov 2016 13:18:35 +0800</pubDate><description><![CDATA[1，mina在做通信服务的时候，缓存是一块很重要的内容，首先看一下mina服务的容量缓存的实现代码：
IoBuffer ioBuffer = IoBuffer.allocate(16);
ioBuffer.setAutoShrink(true);
ioBuffer.put((byte)1);
System.out.println("Initial Buffer capacity="+ioB]]></description><category></category></item><item><title><![CDATA[Oracle和mysql在实现分页上不同]]></title><link>https://blog.youkuaiyun.com/u014101628/article/details/53019328</link><guid>https://blog.youkuaiyun.com/u014101628/article/details/53019328</guid><author>u014101628</author><pubDate>Thu, 03 Nov 2016 11:00:37 +0800</pubDate><description><![CDATA[1，mysql实现分页的方式主要通过语法中的limit来实现的，简单举一个例子来看：select * from tableName where 条件 limit 当前页码*页面容量-1 , 页面容量
2，oracle没有limit的用法，所以在分页的过程中主要使用伪序列的方式借助ROWNUM来实现，具体可以查看下面的分页处理实现：


select * from tshop_company]]></description><category></category></item><item><title><![CDATA[数据库约束]]></title><link>https://blog.youkuaiyun.com/u014101628/article/details/53008943</link><guid>https://blog.youkuaiyun.com/u014101628/article/details/53008943</guid><author>u014101628</author><pubDate>Wed, 02 Nov 2016 16:08:56 +0800</pubDate><description><![CDATA[1.—-主键约束（Primay Key Coustraint） 唯一性，非空性
 2.—-唯一约束 （Unique Counstraint）唯一性，可以空，但只能有一个
 3.—-检查约束 (Check Counstraint) 对该列数据的范围、格式的限制（如：年龄、性别等）
 4.—-默认约束 (Default Counstraint) 该数据的默认值
 5.—-外键约束 (Forei]]></description><category></category></item><item><title><![CDATA[java 虚拟机--新生代与老年代GC]]></title><link>https://blog.youkuaiyun.com/u014101628/article/details/53008761</link><guid>https://blog.youkuaiyun.com/u014101628/article/details/53008761</guid><author>u014101628</author><pubDate>Wed, 02 Nov 2016 15:53:57 +0800</pubDate><description><![CDATA[摘要: 堆设置 -Xms :初始堆大小 -Xmx :最大堆大小 -XX:NewSize=n :设置年轻代大小 -XX:NewRatio=n: 设置年轻代和年老代的比值。如:为3，表示年轻代与年老代比值为1：3，年轻代占整个年轻代年老代和的1/4 -XX:SurvivorRatio=n :年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如：3，表示Eden：Survi]]></description><category></category></item><item><title><![CDATA[java中关于数据精度问题]]></title><link>https://blog.youkuaiyun.com/u014101628/article/details/52980279</link><guid>https://blog.youkuaiyun.com/u014101628/article/details/52980279</guid><author>u014101628</author><pubDate>Mon, 31 Oct 2016 10:37:20 +0800</pubDate><description><![CDATA[java中特别在银行内使用数据时，对数据的精度要求比较高，这个时候通常使用Bigdecimal类来提高数据的精度，但是由于在代码开发过程中会遇到一些开发人员将该数据进行double或者long的转换，从来导致精度的错误，举例如下：
   BigDecimal a = new BigDecimal("569.56");

double m = a.doubleValue();
    Sys]]></description><category></category></item><item><title><![CDATA[线程状态监听]]></title><link>https://blog.youkuaiyun.com/u014101628/article/details/52975906</link><guid>https://blog.youkuaiyun.com/u014101628/article/details/52975906</guid><author>u014101628</author><pubDate>Sun, 30 Oct 2016 23:23:02 +0800</pubDate><description><![CDATA[所谓线程的状态监控就是指通过回调或者监听的手段，得知当前运行线程运行的状况，启动，运行中，正常结束，异常结束等状况，那么我们将在本章中重点来讨论这几个问题，并且我们也会通过实例来演示如何监控线程的状态
1，定义监听接口


public interface ThreadListener {


public Object  threadStart(Object[] args);
]]></description><category></category></item><item><title><![CDATA[不定方程问题-经典案例“白文买百鸡“]]></title><link>https://blog.youkuaiyun.com/u014101628/article/details/52571693</link><guid>https://blog.youkuaiyun.com/u014101628/article/details/52571693</guid><author>u014101628</author><pubDate>Sun, 18 Sep 2016 09:41:22 +0800</pubDate><description><![CDATA[百鸡问题是一个数学问题，出自中国古代约5—6世纪成书的《张邱建算经》，是原书卷下第38题，也是全书的最后一题，该问题导致三元不定方程组，其重要之处在于开创“一问多答”的先例。
今有鸡翁一，值钱伍；鸡母一，值钱三；鸡鶵三，值钱一。凡百钱买鸡百只，问鸡翁、母、鶵各几何？答曰：鸡翁四，值钱二十；鸡母十八，值钱五十四；鸡鶵七十八，值钱二十六。又答：鸡翁八，值钱四十；鸡
 母十一，值钱三十三，鸡鶵八十一]]></description><category></category></item><item><title><![CDATA[排序算法--shel来排序]]></title><link>https://blog.youkuaiyun.com/u014101628/article/details/52366839</link><guid>https://blog.youkuaiyun.com/u014101628/article/details/52366839</guid><author>u014101628</author><pubDate>Tue, 30 Aug 2016 10:02:39 +0800</pubDate><description><![CDATA[具体流程：1，将有n个元素的数组分成n/2个数字排列 ，第一个数据和n/2+1个数据是一对的
                     2，一次循环使每一个序列排好顺序
                   3，然后再变成n/4个序列，再次排序
                   4，不断重复上诉过程，随着序列减少变成最后一个
伪代码如下：


public static void]]></description><category></category></item><item><title><![CDATA[排序算法--插入排序]]></title><link>https://blog.youkuaiyun.com/u014101628/article/details/52350543</link><guid>https://blog.youkuaiyun.com/u014101628/article/details/52350543</guid><author>u014101628</author><pubDate>Mon, 29 Aug 2016 10:01:37 +0800</pubDate><description><![CDATA[public static void selectSortByInsert(int a[]){
int i,j,t,h;
for(i=1;i
t=a[i];
j=i-1;
while(j>=0&&t
a[j+1]=a[j];
j--;
}
a[j+1]=t;
System.out.println("第"+i+"步的排序结果是:");
for(h=0;h
System.out]]></description><category></category></item><item><title><![CDATA[排序算法--选择排序]]></title><link>https://blog.youkuaiyun.com/u014101628/article/details/52350536</link><guid>https://blog.youkuaiyun.com/u014101628/article/details/52350536</guid><author>u014101628</author><pubDate>Mon, 29 Aug 2016 10:01:03 +0800</pubDate><description><![CDATA[public static void selectSort(int a[]){
int index;
int temp;

for(int i=0;i
index = i;
for(int j=i+1;j
if(a[j]
index=j;
}
}

if(index!=i){
temp=a[i];
a[i]=a[index];
a[index]=temp;
}
S]]></description><category></category></item><item><title><![CDATA[概率算法--蒙特卡罗算法计算圆周率]]></title><link>https://blog.youkuaiyun.com/u014101628/article/details/52350470</link><guid>https://blog.youkuaiyun.com/u014101628/article/details/52350470</guid><author>u014101628</author><pubDate>Mon, 29 Aug 2016 09:55:00 +0800</pubDate><description><![CDATA[1 伪代码如下：


public static double MontePI(int n){
double PI;
double x,y;
int i,sum=0;
for(i=0;i
x=Math.random();
y=Math.random();
if(x*x+y*y
sum++;
}

}
PI = 4.0*sum/n;
return PI;
}]]></description><category></category></item><item><title><![CDATA[分治算法寻找硬币]]></title><link>https://blog.youkuaiyun.com/u014101628/article/details/52350225</link><guid>https://blog.youkuaiyun.com/u014101628/article/details/52350225</guid><author>u014101628</author><pubDate>Mon, 29 Aug 2016 09:29:57 +0800</pubDate><description><![CDATA[1，寻找假硬币
2，步骤：1 首先为每个硬币编号，然后可以将所有的硬币等分为两份，放在天平的两端；
            2 因为假硬币分量比较轻，因此天平较轻的一端一定包含假硬币
            3 再将较轻的一侧中的硬币等分为两部分，重述上方的做法。,
3，伪代码如下：
public static int FalseCoin(int coin[],int low,int h]]></description><category></category></item><item><title><![CDATA[穷举算法--鸡兔问题]]></title><link>https://blog.youkuaiyun.com/u014101628/article/details/52350171</link><guid>https://blog.youkuaiyun.com/u014101628/article/details/52350171</guid><author>u014101628</author><pubDate>Mon, 29 Aug 2016 09:18:48 +0800</pubDate><description><![CDATA[1，在一个笼子里关着若干只鸡和若干只兔子，从上面数有35个头，从下面数共有94只脚，问笼中的鸡和兔子的数量各是多少？
伪代码如下：
public static int qiongju(int head,int foot){
int i,j;
for(i=0;i
j=head-i;
if(i*2+4*j==foot){
System.out.println("鸡的数量是:"+i+","]]></description><category></category></item><item><title><![CDATA[网络最大流的三种基础算法]]></title><link>https://blog.youkuaiyun.com/u014101628/article/details/52208361</link><guid>https://blog.youkuaiyun.com/u014101628/article/details/52208361</guid><author>u014101628</author><pubDate>Mon, 15 Aug 2016 09:37:11 +0800</pubDate><description><![CDATA[#include  
#include  
#include  
#include  
#include  
using namespace std;  
  
const int N = 10;  
const int MAX = 0xfffffff;  
int n,m;//n是点数，m是边数  
int source, sink;//source为源点，sink为汇点  
  
  
/**]]></description><category></category></item><item><title><![CDATA[关于Spring采用@value环境变量取值null或者‘’问题]]></title><link>https://blog.youkuaiyun.com/u014101628/article/details/52091266</link><guid>https://blog.youkuaiyun.com/u014101628/article/details/52091266</guid><author>u014101628</author><pubDate>Tue, 02 Aug 2016 09:20:01 +0800</pubDate><description><![CDATA[Spring的@value方式从环境变量取值，实则会通过String.valueOf()方式对取到的值进行转换，从而成为一个String类型的字符串，比如说数据库某个字段的值为null的这种空的话，那么获取之后就变成了字符串的“null”，如果是另一种单纯的空值，获取之后依然是空值。]]></description><category></category></item><item><title><![CDATA[乐观锁和悲观锁]]></title><link>https://blog.youkuaiyun.com/u014101628/article/details/51683896</link><guid>https://blog.youkuaiyun.com/u014101628/article/details/51683896</guid><author>u014101628</author><pubDate>Wed, 15 Jun 2016 17:20:54 +0800</pubDate><description><![CDATA[为什么需要锁（并发控制）？

在多用户环境中，在同一时间可能会有多个用户更新相同的记录，这会产生冲突。这就是著名的并发性问题。

典型的冲突有：

l 丢失更新：一个事务的更新覆盖了其它事务的更新结果，就是所谓的更新丢失。例如：用户A把值从6改为2，用户B把值从2改为6，则用户A丢失了他的更新。

l 脏读：当一个事务读取其它完成一半事务的记录时，就会发生脏读取。例如：用户A,B看]]></description><category></category></item></channel></rss>