- 博客(28)
- 收藏
- 关注
原创 hashtable和hashmap的区别
HashTable 和 HashMap 存在很多的相同点,但是他们还是有几个比较重要的不同点。第一:我们从他们的定义就可以看出他们的不同,HashTable 基于 Dictionary 类,而 HashMap 是基于 AbstractMap。Dictionary 是什么?它是任何可将键映射到相应值的类的抽象父类,而 AbstractMap 是基于 Map 接口的骨干实现,它以最大限度地减少
2017-03-14 23:33:18 256
原创 负载均衡指Hash取模算法
在负载均衡的实现过程中有多种方式,随机,轮询,hash等,本处主要讲解基于java的hash算法,具体实现代码如下:第一步创建以ip为健值得hashmap存放对象public class IpMap{ // 待路由的Ip列表,Key代表Ip,Value代表该Ip的权重 public static HashMap serverWeightMap =
2017-02-09 08:48:19 5540
原创 Spring boot对hibernate建表(mysql)
server.port=80# Hibernate 相关配置## 方言#hibernate.dialect=org.hibernate.dialect.MySQL5Dialect## 显示Sqlhibernate.show_sql=true## 自动建表方式#hibernate.hbm2ddl.auto= update## 自动扫描的包前缀entitymanager.pack
2016-12-17 15:39:47 1166
原创 maven统一版本管理
在maven多模块项目中,做统一版本管理的时候通常在父类pom文件中定义《dependencyManagement》节点,该节点类申明的《dependencies》节点内容都是关于统一定义的资源版本,直接定义的《dependencies》节点里面的资源无需再引入版本相关的内容,举例如下:dependencyManagement> dependencies >
2016-11-18 12:45:17 4866
原创 mina通信服务容量缓存问题
1,mina在做通信服务的时候,缓存是一块很重要的内容,首先看一下mina服务的容量缓存的实现代码:IoBuffer ioBuffer = IoBuffer.allocate(16);ioBuffer.setAutoShrink(true);ioBuffer.put((byte)1);System.out.println("Initial Buffer capacity="+ioB
2016-11-09 13:18:35 2002
原创 Oracle和mysql在实现分页上不同
1,mysql实现分页的方式主要通过语法中的limit来实现的,简单举一个例子来看:select * from tableName where 条件 limit 当前页码*页面容量-1 , 页面容量2,oracle没有limit的用法,所以在分页的过程中主要使用伪序列的方式借助ROWNUM来实现,具体可以查看下面的分页处理实现:select * from tshop_company
2016-11-03 11:00:37 745
原创 数据库约束
1.—-主键约束(Primay Key Coustraint) 唯一性,非空性 2.—-唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个 3.—-检查约束 (Check Counstraint) 对该列数据的范围、格式的限制(如:年龄、性别等) 4.—-默认约束 (Default Counstraint) 该数据的默认值 5.—-外键约束 (Forei
2016-11-02 16:08:56 382
转载 java 虚拟机--新生代与老年代GC
摘要: 堆设置 -Xms :初始堆大小 -Xmx :最大堆大小 -XX:NewSize=n :设置年轻代大小 -XX:NewRatio=n: 设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4 -XX:SurvivorRatio=n :年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Eden:Survi
2016-11-02 15:53:57 233
原创 java中关于数据精度问题
java中特别在银行内使用数据时,对数据的精度要求比较高,这个时候通常使用Bigdecimal类来提高数据的精度,但是由于在代码开发过程中会遇到一些开发人员将该数据进行double或者long的转换,从来导致精度的错误,举例如下: BigDecimal a = new BigDecimal("569.56");double m = a.doubleValue(); Sys
2016-10-31 10:37:20 2949
原创 线程状态监听
所谓线程的状态监控就是指通过回调或者监听的手段,得知当前运行线程运行的状况,启动,运行中,正常结束,异常结束等状况,那么我们将在本章中重点来讨论这几个问题,并且我们也会通过实例来演示如何监控线程的状态1,定义监听接口public interface ThreadListener {public Object threadStart(Object[] args);
2016-10-30 23:23:02 5239
原创 不定方程问题-经典案例“白文买百鸡“
百鸡问题是一个数学问题,出自中国古代约5—6世纪成书的《张邱建算经》,是原书卷下第38题,也是全书的最后一题,该问题导致三元不定方程组,其重要之处在于开创“一问多答”的先例。今有鸡翁一,值钱伍;鸡母一,值钱三;鸡鶵三,值钱一。凡百钱买鸡百只,问鸡翁、母、鶵各几何?答曰:鸡翁四,值钱二十;鸡母十八,值钱五十四;鸡鶵七十八,值钱二十六。又答:鸡翁八,值钱四十;鸡 母十一,值钱三十三,鸡鶵八十一
2016-09-18 09:41:22 1118
原创 排序算法--shel来排序
具体流程:1,将有n个元素的数组分成n/2个数字排列 ,第一个数据和n/2+1个数据是一对的 2,一次循环使每一个序列排好顺序 3,然后再变成n/4个序列,再次排序 4,不断重复上诉过程,随着序列减少变成最后一个伪代码如下:public static void
2016-08-30 10:02:39 365
原创 排序算法--插入排序
public static void selectSortByInsert(int a[]){int i,j,t,h;for(i=1;it=a[i];j=i-1;while(j>=0&&ta[j+1]=a[j];j--;}a[j+1]=t;System.out.println("第"+i+"步的排序结果是:");for(h=0;hSystem.out
2016-08-29 10:01:37 340
原创 排序算法--选择排序
public static void selectSort(int a[]){int index;int temp;for(int i=0;iindex = i;for(int j=i+1;jif(a[j]index=j;}}if(index!=i){temp=a[i];a[i]=a[index];a[index]=temp;}S
2016-08-29 10:01:03 287
原创 概率算法--蒙特卡罗算法计算圆周率
1 伪代码如下:public static double MontePI(int n){double PI;double x,y;int i,sum=0;for(i=0;ix=Math.random();y=Math.random();if(x*x+y*ysum++;}}PI = 4.0*sum/n;return PI;}
2016-08-29 09:55:00 898
原创 分治算法寻找硬币
1,寻找假硬币2,步骤:1 首先为每个硬币编号,然后可以将所有的硬币等分为两份,放在天平的两端; 2 因为假硬币分量比较轻,因此天平较轻的一端一定包含假硬币 3 再将较轻的一侧中的硬币等分为两部分,重述上方的做法。,3,伪代码如下:public static int FalseCoin(int coin[],int low,int h
2016-08-29 09:29:57 3029
原创 穷举算法--鸡兔问题
1,在一个笼子里关着若干只鸡和若干只兔子,从上面数有35个头,从下面数共有94只脚,问笼中的鸡和兔子的数量各是多少?伪代码如下:public static int qiongju(int head,int foot){int i,j;for(i=0;ij=head-i;if(i*2+4*j==foot){System.out.println("鸡的数量是:"+i+","
2016-08-29 09:18:48 543
转载 网络最大流的三种基础算法
#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为汇点 /**
2016-08-15 09:37:11 2012
原创 关于Spring采用@value环境变量取值null或者‘’问题
Spring的@value方式从环境变量取值,实则会通过String.valueOf()方式对取到的值进行转换,从而成为一个String类型的字符串,比如说数据库某个字段的值为null的这种空的话,那么获取之后就变成了字符串的“null”,如果是另一种单纯的空值,获取之后依然是空值。
2016-08-02 09:20:01 4222
翻译 乐观锁和悲观锁
为什么需要锁(并发控制)?在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。典型的冲突有:l 丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。l 脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户A,B看
2016-06-15 17:20:54 245
原创 Spring线程池配置
方法一:class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">=mainExecutor.maxSize -->方法二:测试import org.springframework.beans.facto
2016-05-31 16:17:31 453 1
原创 memcached安装时memcached: error while loading shared libraries:libevent-2.0.so.5: cannot 的问题解决
解决思路主要是由于libevent的安装路劲寻找失败,需要重新定位: open shared object file: No such file or directory”之类的信息,表示memcached 找不到 libevent 的位置 所以,请先使用whereis libevent 得到位置,然后连接到memcached 所寻找的路径 首
2016-05-27 00:08:37 419
转载 Spring Batch详细介绍以及小案例
学习Spring batch期间看到一个关于对其的总结和实例很不错,就把原文引入到自己的博客里面,以便以后学习和供大家参考,当然有错误也希望大家积极指出交流,后续我也会更新一些相关的随笔进去。 Spring Batch 之 Spring Batch 简介(一) Spring Batch 之 框架流程简单介绍(二) Spring Ba
2016-05-24 09:25:17 2248
原创 QueryDSL介绍
1,QueryDSL仅仅是一个通用的查询框架,专注于通过Java API构建类型安全的SQL查询。2,Querydsl可以通过一组通用的查询API为用户构建出适合不同类型ORM框架或者是SQL的查询语句,也就是说QueryDSL是基于各种ORM框架以及SQL之上的一个通用的查询框架。3,借助QueryDSL可以在任何支持的ORM框架或者SQL平台上以一种通用的API方式来构建查询。目前Qu
2016-05-19 11:14:18 16242
原创 socket的长连接和短链接
长连接: 指在一个TCP连接上可以连续发送多个数据包, 在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接; 一般需要自己做在线维持。 短连接: 指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接; 一般银行都使用短连接。 它的优点是:管理起来比较简单,存在的连接都是有用
2016-05-05 21:24:05 1194
原创 Collection和Collections的区别
1,Collection是集合类的上级接口,继承与他的接口主要有Set和List;Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
2016-05-02 22:19:36 231
原创 线程中sleep和wait的区别
1,这两个方法来自不同的类分别是Thread和Object;2,最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法;3,wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何时候都可以使用;4,sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常;追加描述
2016-04-29 10:04:17 525
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人