- 博客(20)
- 资源 (2)
- 收藏
- 关注
原创 java中>、>>、>>>三个符号的区别
>表示大于号。>>表示有符号右移,即:如果是正数,则前面补0,如果是负数,则前面补1。>>>表示无符号右移,即无论是正数还是负数,前面都补0。
2014-02-27 18:33:36
6731
原创 无需中间变量的两数交换算法
void swap(int *x, int *y) { if (x != y) { *y = *x ^ *y; *x = *x ^ *y; *y = *x ^ *y; }}注意:在进行交换的时候,必须先判断两个指针是否指向同一个位置,如果不判断,当两个指针指向相同的地址,将使得*x和*y结果为0。
2014-02-26 22:24:09
694
原创 java中hashcode的计算方法
1. 把某个非零常数值,比如说17,保存在一个叫result的int类型的变量中。 2. 对于对象中每一个关键域f(指equals方法中考虑的每一个域),完成以下步骤: a. 为该域计算int类型的散列码c: i. 如果该域是boolean类型,则计算(f ? 0 : 1) 。 ii. 如果该域是byte、char、short或者in
2014-02-26 10:12:26
8486
原创 poj_1753
一、思路 采用位图来存储棋盘的状态,每个格子的黑白颜色用0和1来表示,则整个棋盘可以用一个16位的整数来表示,采用广度优先枚举,每次翻一个格子,同时用一个大数组标记到达每一个状态的次数,每次翻转会产生一个新的状态,如果状态在之前出现过,即大数组中对应的不是0,则不放入队列中,如果在队列为空时还没有找到,则说明无解。二、代码import java.util.LinkedList;
2013-11-22 14:39:09
659
原创 java高效实现大文件拷贝
在java中,FileChannel类中有一些优化方法可以提高传输的效率,其中transferTo( )和 transferFrom( )方法允许将一个通道交叉连接到另一个通道,而不需要通过一个缓冲区来传递数据。只有FileChannel类有这两个方法,因此 channel-to-channel 传输中通道之一必须是 FileChannel。不能在sock通道之间传输数据,不过socket 通道实
2013-11-18 19:10:38
2733
原创 java实现稳定的快速排序
一、思路一般的快速排序为不稳定的,如果实现稳定的快速排序,则需要在partition过程中进下特殊的处理,其中一种方法是另为申请一段空间B,在原来的数据空间A中,选取第一个元素flag为中间数据,首先遍历空间A,将所有小于flag的元素依次放入空间B中,然后将flag放入B中,再次遍历空间B,将所有大于等于flag的元素依次放入空间B中,最后重新将空间B的数据全部拷贝到空间A中。二、代码
2013-11-14 20:03:44
2549
3
原创 ubuntu12.04 开机自动挂载磁盘分区
一、可以通过磁盘的分区名(/dev/sda*)和磁盘的uuid来指定要挂载的分区,如果想要获取磁盘的uuid,可以使用下面的命令:sudo blkid如图:二、修改开机挂载的配置文件编辑/etc/fstab文件,如图:三、重启电脑,即可看到自动挂载的文件
2013-10-13 16:28:24
650
转载 java常量池详解
此文转载:http://www.cnblogs.com/DreamSea/archive/2011/11/20/2256396.html首先看如下代码:/** * * @author DreamSea 2011-11-19 */public class IntegerTest { public static void main(String[] args) {
2013-09-26 11:23:00
488
原创 java中&和&&的异同
一、共同点&和&&都可以用作逻辑与的运算符,当运算符两边的表达式的结果都是true时,整个运算结果才是true,否则,为false二、不同点1. &&具有短路功能,即如果第一个表达式为false,则不会再计算第二个表达式,而&则没有这个功能2. &具有位运算符的功能,可以经行可以按位与运算
2013-09-26 10:12:39
881
原创 ubuntu进入恢复模式
默认ubuntu是没有root用户的,如果此时你不小心执行了usermod -G groupname username,则username丢失其他原来的组,包括原来的sudo组,只属于groupname组,这样ubuntu将完全丢失root权限解决方法:1、进入ubuntu的恢复模式:在开机时,按住shift键,进入恢复模式2、进入root shell界面3、如果filesys
2013-09-23 15:27:13
46710
原创 mysql 整个数据库备份与还原
一、数据库的备份$mysqldump -h127.0.0.1 -uusername -ppasswd databasename >./backup.sql其中:-h:主机名称-u:数据库用户-p:数据库密码二、数据库还原$mysql -h127.0.0.1 -uusername -ppasswd databasename 如果出现中文乱码问题,在最后加上 -
2013-09-18 17:59:25
3179
转载 python os.path模块
os.path.abspath(path) #返回绝对路径os.path.basename(path) #返回文件名os.path.commonprefix(list) #返回list(多个路径)中,所有path共有的最长的路径。os.path.dirname(path) #返回文件路径os.path.exists(path) #路径存在则返回True,路径损坏返回False
2013-05-13 19:56:39
534
原创 python中函数陷阱
一、本地变量是静态检测的python定义的在一个函数中进行分配的变量名是默认为本地变量的,它们存在于函数的作用域并只在函数运行时存在。python是静态检测python的本地变量的。看下面例子:x = 99def selector(): print xselector()结果为99。这里,函数中的x被解析为模块中的x。但是如果在引用之后增加一个赋值语句,看看会发
2013-05-02 20:07:55
874
转载 python中的reduce的使用
python中的reduce内建函数是一个二元操作函数,他用来将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 func()(必须是一个二元操作函数)先对集合中的第1,2个数据进行操作,得到的结果再与第三个数据用func()函数运算,最后得到一个结果。def myadd(x, y): return x + ysum = reduce(myadd, (
2013-05-02 13:24:31
594
原创 python实现tee命令
#!/usr/bin/pythonimport sysdef tee(filename): f = open(filename, 'w') for line in sys.stdin.readlines(): sys.stdout.write(line) f.write(line) f.close()if __name__ ==
2013-04-26 11:06:55
1572
原创 python常用技巧
交换两个变量避免使用临时变量在python中交换变量没有任何理由需要使用临时变量。我们可以使用元组,使我们的意图更加清晰。不好的写法temp = foofoo = barbar = temp惯用的(foo, bar) = (bar, foo)使用元组来分配参数在python中,能够实现多个元素同时赋值。不好的写法lis
2013-04-24 19:37:34
570
原创 vim 使用技巧
一、vim和shell 混用,一共有三种方法实现:1)在vim中,使用”:!{command}“,执行单个shell命令。2)使用CTRL-Z挂起,这是把vim停下来,并让你回到那个你启动vim的命令shell里。可以通过“fg”命令回到vim。3)在vim中执行“:shell”,启动一个新的shell,如果要返回vim,需要关闭这个shell。
2013-04-11 22:26:32
529
原创 openstack 中用户、租户和角色的理解
一、用户(user)表示拥有用户名,密码,邮箱等帐号信息的自然人。创建一个用户名为“hui”的用户如下:$ keystone user-create --name=hui --pass=password --mail=hui@example.com二、租户(tenant)租户可以理解为一个项目,团队或组织。你必须指定一个相应的租户(tenant)才可以申请OpenSta
2013-04-11 10:15:05
10625
原创 ubuntu 使用命令行将txt转换为pdf
unoconv 是一个通用的文档格式转换工具1、安装unoconvsudo apt-get install unoconv2、将txt转化为pdfunoconv -f pdf some_file.txt
2013-04-10 22:11:21
1871
原创 ubuntu下ssh连接显示图形界面
ubuntu下ssh连接,如果要显示图像界面,需要进行如下配置:1、服务端配置,在 /etc/ssh/sshd_config 这个配置文件中,确保 X11Forwarding yes,然后重启ssh服务,在 /etc/init.d 目录中,执行 ./ssh restart2、客户端配置,在 /etc/ssh/sshd_config 这个配置文件中,确保 ForwardAgent yes,F
2013-04-10 12:51:43
3469
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅