摘要: file:commons 1 package org.crazyit.editor.commons; 2 3 import org.crazyit.editor.EditorFrame; 4 import org.crazyit.editor.handler.add.AddHandler; 5 6 /** 7 * 添加的信息对象 8 * 9 * @author yangenxiong yangenxiong2009@gmail.com10 * @version 1.011 * 网站: 疯狂Java联盟12 * Copyright (C), 2009-2010, yangen... 阅读全文
posted @ 2013-10-25 13:45 liyunyu1 阅读(706) 评论(0) 推荐(0) 编辑
摘要: Abstract 在开发中,如果某个实例的创建需要消耗很多系统资源,那么我们通常会使用惰性加载机制,也就是说只有当使用到这个实例的时候才会创建这个实例,这个好处在单例模式中得到了广泛应用。这个机制在single-threaded环境下的实现非常简单,然而在multi-threaded环境下却存在隐患。本文重点介绍惰性加载机制以及其在多线程环境下的使用方法。(作者numberzero,参考IBM文章《Double-checked locking and the Singleton pattern》,欢迎转载与讨论)1 单例模式的惰性加载通常当我们设计一个单例类的时候,会在类的内部构造这个类(通过 阅读全文
posted @ 2013-10-24 15:05 liyunyu1 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 0001010>n表示m右移n位,正数右移之后再最左边补n个0;如果数字原先是负数,则右移之后在最左边补n个1;、 1 int NumberOf1(int n) 2 { 3 int count=0; 4 while(n) 5 { 6 if(n&1) 7 count++; 8 n=n>>1; 9 }10 return count;11 }整数右移一位和把整数除以2在数学上是等价的,但是上面的代码不能换成除以2,因为除法的效率比移位运算要低很多,在实际编程中尽可能的使用位移运算代替乘除法运算同时上面的代码如果n是负数的话,就可能造成死循环 1 int Number... 阅读全文
posted @ 2013-10-21 00:11 liyunyu1 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 1 /*length 为字符串数组string的总容量*/ 2 void ReplaceBlank(char stringp[],int length) 3 { 4 if(string==NULL &&lengthlength)23 return;24 25 int indexOfOriginal = originalLength;26 int indexOfNe = newLength;27 while(indexOfOriginal >=0 && indexOfNew >indexOfOriginal)28 {29 if(string[index 阅读全文
posted @ 2013-10-16 23:09 liyunyu1 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 1 bool Find(int *matrix,int rows,int clumns,int number) 2 { 3 bool found=false; 4 if(matrix!=NULL&&rows>&& columns>0) 5 { 6 int row=0; 7 int column=columns-1; 8 while(row=0) 9 {10 if(matrix[row*columns+column]==number)11 {12 found=true;13 break;14 ... 阅读全文
posted @ 2013-10-16 21:02 liyunyu1 阅读(165) 评论(0) 推荐(0) 编辑
摘要: java枚举类型enum的使用最近跟同事讨论问题的时候,突然同事提到我们为什么java中定义的常量值不采用enmu枚举类型,而采用public final static类型来定义呢?以前我们都是采用这种方式定义的,很少采用enum定义,所以也都没有注意过,面对突入起来的问题,还真有点不太清楚为什么有这样的定义。既然不明白就抽时间研究下吧。Java中的枚举类型采用关键字enum来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum类型。要了解枚举类型,建议大家先打开jdk中的Enum类简单读一下,这个类里面定义了很多protected方法,比如构造函数,如果要使用这些方法我们可以把 阅读全文
posted @ 2013-09-24 16:28 liyunyu1 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 银行业务调度系统/**视频地址http://edu.csdn.net/java/video.shtml**/模拟实现银行业务调度系统逻辑,具体需求如下:银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。异步随机生成各种类型的客户,生成各类型用户的概率比例为: VIP客户 :普通客户 :快速客户 = 1 :6 :3。客户办理业务所需时间有最大值和最小值,在该范围内随机设定每个VIP客户以及普通客户办理业务所需的时间,快速客户办理业务所需时间为最小值(提示:办理业 阅读全文
posted @ 2013-09-16 10:26 liyunyu1 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 交通灯管理系统模拟实现十字路口的交通灯管理系统逻辑,具体需求如下:异步随机生成按照各个路线行驶的车辆。例如: 由南向而来去往北向的车辆 ---- 直行车辆 由西向而来去往南向的车辆 ---- 右转车辆 由东向而来去往南向的车辆 ---- 左转车辆 。。。信号灯忽略黄灯,只考虑红灯和绿灯。应考虑左转车辆控制信号灯,右转车辆不受信号灯控制。具体信号灯控制逻辑与现实生活中普通交通灯控制逻辑相同,不考虑特殊情况下的控制逻辑。注:南北向车辆与东西向车辆交替放行,同方向等待车辆应先放行直行车辆而后放行左转车辆。每辆车通过路口时间为1秒(提示:可通过线程Sleep的方式模拟)。随机生成车辆时间间隔以及红绿灯 阅读全文
posted @ 2013-09-16 10:18 liyunyu1 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-09-16 10:11 liyunyu1 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 排序是程序开发中一种非常常见的操作,对一组任意的数据元素(或记录)经过排序操作后,就可以把他们变成一组按关键字排序的有序队列。对一个排序算法来说,一般从下面3个方面来衡量算法的优劣:时间复杂度:它主要是分析关键字的比较次数和记录的移动次数。空间复杂度:分析排序算法中需要多少辅助内存。稳定性:若两个记录A和B的关键字值相等,但是排序后A,B的先后次序保持不变,则称这种排序算法是稳定的;反之,就是不稳定的。就现有的排序算法来看,排序大致可分为内部排序和外部排序。如果整个排序过程不需要借助外部存储器(如磁盘等),所有排序操作都是在内存中完成,这种排序就被称为内部排序。如果参与排序的数据元素非常多,数 阅读全文
posted @ 2013-09-04 09:54 liyunyu1 阅读(447) 评论(0) 推荐(0) 编辑