29
2010
3

更改Ubuntu与Windows双系统启动菜单(Grub)

相信有些朋友和我一样在机器上装了Linux和Windows双系统,由于尚未完全转到Linux平台,很多工作仍需在Windows下完成,但是每次系统菜单的选项默认都为Linux,同时每次更新Linux内核以后,就会在启动菜单中添加新的内核选项,很是烦人。上网搜了一下,发现更改启动菜单不是很难,总结如下,希望能给需要的人一些帮助。

我的Linux发行版是Ubuntu 10.04。

首先进入Ubuntu,运行Application——>Terminal,输入命令:

sudo gedit /boot/grub/grub.cfg

输入密码后回车,打开grub的配置文件。 (更多…)

Written by Hesey in: Linux,技术 |

27
2010
0

采用Builder模式构造对象

通常构造对象时,我们会采用构造函数的方式来对对象的参数进行初始化,例如:

Student stu = new Student(2010, "Hesey", 0, 10, "Software College");

但这种方式带来的问题是可读性很差,程序员必须很清楚构造函数中各个参数是什么及其顺序,如果光看上面这条语句,程序员或许会知道这可能是在创建一个学生对象并作其参数的初始化,但是参数究竟意味着什么,就必须去看源代码或是查阅文档了。

所幸的是,JavaBeans规范给我们提供了一个可读性更强的解决方案,通过一连串的get,set方法对参数进行获取或设置,此时对Student的创建可以改为如下代码:

Student stu = new Student();
stu.setId(2010);
stu.setName("Hesey");
stu.setSex(0);
stu.setDoor(10);
stu.setAddress("Software College");

运用JavaBeans的这种方式,大大增强了对象参数初始化的可读性,程序员很清楚地可以知道正在设置的是什么参数,并且不必遵循类似构造函数那样的参数顺序。

问题在于,在对对象初始化的过程中,显而易见,各个参数的初始化被放到了不同的方法调用中,这会导致严重的线程不安全问题(构造函数则不存在这个问题)。对象在一连串的set方法中,可能会出现状态不一致的情况,这是应该尽量避免的。 (更多…)

Written by Hesey in: Java,技术,面向对象 |

07
2010
0

[Java]Integer和String的构造函数问题

public class test {
	public static void main(String[] agrs) {
		int a = 1000, b = 1000;
		System.out.println(a == b); // true

		Integer c = 1000, d = 1000;
		System.out.println(c == d); // false

		Integer e = 100, f = 100;
		System.out.println(e == f); // true
	}
}

(更多…)

Written by Hesey in: Java,技术 |

©2006 - 2011 Hesey (舒)